packages feed

haddock 0.8 → 0.9

raw patch · 29 files changed

+6593/−6331 lines, 29 filesdep +arraydep +containersdep +directorydep ~basenew-uploader

Dependencies added: array, containers, directory, pretty, process

Dependency ranges changed: base

Files

− .setup-config
@@ -1,1 +0,0 @@-LocalBuildInfo {prefix = "/usr/local", bindir = "$prefix/bin", libdir = "$prefix/lib", libsubdir = "$pkgid/$compiler", libexecdir = "$prefix/libexec", datadir = "$prefix/share", datasubdir = "$pkgid", compiler = Compiler {compilerFlavor = GHC, compilerVersion = Version {versionBranch = [6,5,20061002], versionTags = []}, compilerPath = "/home/simonmar/fp/bin/x86_64-unknown-linux/ghc", compilerPkgTool = "/home/simonmar/fp/bin/x86_64-unknown-linux/ghc-pkg"}, buildDir = "dist/build", packageDeps = [PackageIdentifier {pkgName = "base", pkgVersion = Version {versionBranch = [2,0], versionTags = []}},PackageIdentifier {pkgName = "haskell98", pkgVersion = Version {versionBranch = [1,0], versionTags = []}}], withPrograms = [("ar",Program {programName = "ar", programBinName = "ar", programArgs = [], programLocation = FoundOnSystem "/usr/bin/ar"}),("haddock",Program {programName = "haddock", programBinName = "haddock", programArgs = [], programLocation = FoundOnSystem "/home/simonmar/fp/bin/x86_64-unknown-linux/haddock"}),("pfesetup",Program {programName = "pfesetup", programBinName = "pfesetup", programArgs = [], programLocation = EmptyLocation}),("ranlib",Program {programName = "ranlib", programBinName = "ranlib", programArgs = [], programLocation = FoundOnSystem "/usr/bin/ranlib"}),("runghc",Program {programName = "runghc", programBinName = "runghc", programArgs = [], programLocation = FoundOnSystem "/home/simonmar/fp/bin/x86_64-unknown-linux/runghc"}),("runhugs",Program {programName = "runhugs", programBinName = "runhugs", programArgs = [], programLocation = FoundOnSystem "/home/simonmar/fp/bin/i386-unknown-linux/runhugs"})], userConf = False, withHappy = Just "/home/simonmar/fp/bin/x86_64-unknown-linux/happy", withAlex = Just "/home/simonmar/fp/bin/x86_64-unknown-linux/alex", withHsc2hs = Just "/home/simonmar/fp/bin/x86_64-unknown-linux/hsc2hs", withC2hs = Nothing, withCpphs = Nothing, withGreencard = Nothing, withVanillaLib = True, withProfLib = False, withProfExe = False, withGHCiLib = True, splitObjs = False}
CHANGES view
@@ -1,3 +1,29 @@+Changes in version 0.9:++  * Infix type operators, e.g., first :: a~>a' -> (a,b)~>(a',b)++  * Add a search box to the index page which automatically narrows+    the index to the search as you type (thanks to Neil Mitchell).++  * Add a --ghc-pkg flag++  * Add a flag --allow-missing-html++  * URL expansion for %%, %L, %{LINE}++  * added substitution %{FILE///c}++  * Lexing of /.../ is now more like '...', in that a / character must+    be matched by another / character on the same line, otherwise it+    is treated as a literal '/'.  This removes a common source of+    accidental parse errors in documentation.++  * Various bugs were fixed.++  * Cabal 1.2 is now required, and Haddock builds with GHC 6.8.x.++-----------------------------------------------------------------------------+ Changes in version 0.8:    * Haddock has a Cabal build system, and will build on Windows without
README view
@@ -41,12 +41,6 @@ Simon Marlow <simonmar@microsoft.com>  -System Requirements-===================--Haddock currently requires GHC version 4.08 or later to compile.-- [1] IDoc - A No Frills Haskell Interface Documentation System     http://www.cse.unsw.edu.au/~chak/haskell/idoc/ 
TODO view
@@ -1,6 +1,11 @@ -- --------------------------------------------------------------------------- -- Before next release +* There should be a --maintainer flag to allow Cabal to pass the maintainer+  from the .cabal file to the generated docs.++* The docs don't mention the module header stuff.+ ----------------------------------------------------------------------------- -- bugs @@ -57,6 +62,8 @@  ----------------------------------------------------------------------------- -- features++* Do something better about re-exported symbols from another package.  * Haddock could compare interfaces from multiple versions of a module   and indicate changes between versions (eg. a small "new!" or
+ dist/build/haddock/haddock-tmp/HaddockLex.hs view
@@ -0,0 +1,359 @@+{-# OPTIONS -fglasgow-exts -cpp #-}+{-# LINE 7 "src/HaddockLex.x" #-}+module HaddockLex ( +	Token(..), +	tokenise + ) where++import Char+import Numeric+import HsSyn+import HsLexer hiding (Token)+import HsParseMonad+--import Debug.Trace++#if __GLASGOW_HASKELL__ >= 603+#include "ghcconfig.h"+#else+#include "config.h"+#endif+#if __GLASGOW_HASKELL__ >= 503+import Data.Array+import Data.Char (ord)+import Data.Array.Base (unsafeAt)+#else+import Array+import Char (ord)+#endif+#if __GLASGOW_HASKELL__ >= 503+import GHC.Exts+#else+import GlaExts+#endif+alex_base :: AlexAddr+alex_base = AlexA# "\xf8\xff\xff\xff\xfc\xff\xff\xff\x01\x00\x00\x00\x06\x00\x00\x00\x11\x00\x00\x00\x23\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\x00\x00\x00\x00\xfe\xff\xff\xff\x02\x00\x00\x00\x04\x00\x00\x00\x0a\x00\x00\x00\x0f\x00\x00\x00\x22\x00\x00\x00\x24\x00\x00\x00\x0c\x00\x00\x00\x15\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x00\x00\xf9\x00\x00\x00\x55\x01\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x7d\x00\x00\x00\xa4\x01\x00\x00\xe7\xff\xff\xff\x00\x00\x00\x00\xae\x01\x00\x00\xd4\x01\x00\x00\x00\x00\x00\x00\x04\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++alex_table :: AlexAddr+alex_table = AlexA# "\x00\x00\x09\x00\x07\x00\x09\x00\x09\x00\x09\x00\x13\x00\x13\x00\xff\xff\xff\xff\x2b\x00\x30\x00\xff\xff\xff\xff\xff\xff\x11\x00\x12\x00\x11\x00\x11\x00\x11\x00\xff\xff\x00\x00\xff\xff\x00\x00\x09\x00\xff\xff\x09\x00\x07\x00\x09\x00\x09\x00\x09\x00\xff\xff\x0f\x00\xff\xff\x0b\x00\x15\x00\x1e\x00\x0b\x00\x11\x00\x2c\x00\x26\x00\xff\xff\x00\x00\x00\x00\xff\xff\x30\x00\xff\xff\x1d\x00\x21\x00\x09\x00\x20\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x1d\x00\x0f\x00\x1d\x00\x0b\x00\x16\x00\x1a\x00\x0b\x00\x00\x00\x16\x00\x15\x00\x17\x00\x00\x00\x10\x00\x15\x00\x1e\x00\x00\x00\x17\x00\x2c\x00\x26\x00\x18\x00\x00\x00\x1b\x00\x20\x00\x0a\x00\x00\x00\x00\x00\x21\x00\x0c\x00\x08\x00\x07\x00\x08\x00\x08\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x32\x00\x1a\x00\x1b\x00\x26\x00\x1b\x00\x15\x00\x08\x00\x07\x00\x08\x00\x08\x00\x08\x00\x00\x00\x00\x00\x08\x00\x0c\x00\x09\x00\x07\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x28\x00\x33\x00\x00\x00\x00\x00\x26\x00\x09\x00\x11\x00\x12\x00\x11\x00\x11\x00\x11\x00\x00\x00\x0d\x00\x0f\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x0b\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x00\x00\x29\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x25\x00\x0c\x00\x25\x00\x25\x00\x25\x00\x25\x00\x24\x00\x00\x00\x00\x00\x25\x00\x25\x00\x00\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x00\x00\x00\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x00\x00\x25\x00\x00\x00\x25\x00\x25\x00\x23\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x00\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x24\x00\x00\x00\x00\x00\x25\x00\x25\x00\x00\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x00\x00\x00\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x00\x00\x25\x00\x00\x00\x25\x00\x25\x00\x23\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x00\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x00\x00\x00\x00\x25\x00\x25\x00\x00\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x00\x00\x00\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x00\x00\x25\x00\x00\x00\x25\x00\x25\x00\x00\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x25\x00\x00\x00\x25\x00\x00\x00\x25\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2a\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x30\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++alex_check :: AlexAddr+alex_check = AlexA# "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x23\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\xff\xff\x0a\x00\xff\xff\x20\x00\x0a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x28\x00\x0a\x00\x2a\x00\x22\x00\x23\x00\x2d\x00\x20\x00\x26\x00\x27\x00\x0a\x00\xff\xff\xff\xff\x0a\x00\x0a\x00\x0a\x00\x23\x00\x2f\x00\x20\x00\x2f\x00\xff\xff\xff\xff\xff\xff\x3e\x00\xff\xff\x23\x00\x28\x00\x23\x00\x2a\x00\x3e\x00\x3c\x00\x2d\x00\xff\xff\x3e\x00\x40\x00\x3e\x00\xff\xff\x3e\x00\x22\x00\x23\x00\xff\xff\x3e\x00\x26\x00\x27\x00\x3c\x00\xff\xff\x3e\x00\x2f\x00\x3e\x00\xff\xff\xff\xff\x2f\x00\x5b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x3c\x00\x3e\x00\x60\x00\x3e\x00\x40\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x20\x00\x5b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\xff\xff\xff\xff\x60\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x29\x00\x28\x00\xff\xff\x2a\x00\xff\xff\xff\xff\x2d\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\x21\x00\x5b\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\xff\xff\x7e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\xff\xff\xff\xff\x60\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#++alex_deflt :: AlexAddr+alex_deflt = AlexA# "\xff\xff\x14\x00\x31\x00\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x14\x00\xff\xff\x19\x00\x19\x00\x19\x00\x19\x00\x1c\x00\x1c\x00\x1c\x00\x1f\x00\x1f\x00\x1f\x00\xff\xff\x22\x00\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff"#++alex_accept = listArray (0::Int,51) [[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_9))],[],[(AlexAcc (alex_action_8))],[(AlexAcc (alex_action_5))],[],[],[(AlexAccSkip)],[],[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_1))],[(AlexAcc (alex_action_2))],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_4))],[],[],[(AlexAcc (alex_action_6))],[],[(AlexAcc (alex_action_7))],[(AlexAcc (alex_action_9))],[(AlexAcc (alex_action_9))],[(AlexAcc (alex_action_10))],[(AlexAcc (alex_action_11))],[(AlexAcc (alex_action_12))],[],[],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_12))],[],[(AlexAcc (alex_action_13))],[(AlexAcc (alex_action_19))],[],[(AlexAcc (alex_action_14))],[(AlexAcc (alex_action_19))],[],[(AlexAcc (alex_action_15))],[(AlexAcc (alex_action_15))],[],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_16))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_17))],[],[],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_18))],[],[],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_21))],[(AlexAcc (alex_action_22))],[(AlexAcc (alex_action_23))]]+{-# LINE 82 "src/HaddockLex.x" #-}+data Token+  = TokPara+  | TokNumber+  | TokBullet+  | TokDefStart+  | TokDefEnd+  | TokSpecial Char+  | TokIdent [HsQName]+  | TokString String+  | TokURL String+  | TokPic String+  | TokEmphasis String+  | TokAName String+  | TokBirdTrack String+  deriving Show++-- -----------------------------------------------------------------------------+-- Alex support stuff++type StartCode = Int+type Action = String -> StartCode -> (StartCode -> [Token]) -> [Token]++type AlexInput = (Char,String)++alexGetChar (_, [])   = Nothing+alexGetChar (_, c:cs) = Just (c, (c,cs))++alexInputPrevChar (c,_) = c++tokenise :: String -> [Token]+tokenise str = let toks = go ('\n', eofHack str) para in {-trace (show toks)-} toks+  where go inp@(_,str) sc =+	  case alexScan inp sc of+		AlexEOF -> []+		AlexError _ -> error "lexical error"+		AlexSkip  inp' len     -> go inp' sc+		AlexToken inp' len act -> act (take len str) sc (\sc -> go inp' sc)++-- NB. we add a final \n to the string, (see comment in the beginning of line+-- production above).+eofHack str = str++"\n"++andBegin  :: Action -> StartCode -> Action+andBegin act new_sc = \str sc cont -> act str new_sc cont++token :: Token -> Action+token t = \str sc cont -> t : cont sc++strtoken :: (String -> Token) -> Action+strtoken t = \str sc cont -> t str : cont sc++begin :: StartCode -> Action+begin sc = \str _ cont -> cont sc++-- -----------------------------------------------------------------------------+-- Lex a string as a Haskell identifier++ident :: Action+ident str sc cont = +  case strToHsQNames id of+	Just names -> TokIdent names : cont sc+	Nothing -> TokString str : cont sc+ where id = init (tail str)++strToHsQNames :: String -> Maybe [HsQName]+strToHsQNames str0+ = case lexer (\t -> returnP t) str0 (SrcLoc 1 1 "") 1 1 "" [] of+	Ok _ (VarId str)+	   -> Just [ UnQual (HsVarName (HsIdent str)) ]+        Ok _ (QVarId (mod0,str))+ 	   -> Just [ Qual (Module mod0) (HsVarName (HsIdent str)) ]+	Ok _ (ConId str)+	   -> Just [ UnQual (HsTyClsName (HsIdent str)),+		     UnQual (HsVarName (HsIdent str)) ]+        Ok _ (QConId (mod0,str))+	   -> Just [ Qual (Module mod0) (HsTyClsName (HsIdent str)),+		     Qual (Module mod0) (HsVarName (HsIdent str)) ]+        Ok _ (VarSym str)+	   -> Just [ UnQual (HsVarName (HsSymbol str)) ]+        Ok _ (ConSym str)+	   -> Just [ UnQual (HsTyClsName (HsSymbol str)),+		     UnQual (HsVarName (HsSymbol str)) ]+        Ok _ (QVarSym (mod0,str))+	   -> Just [ Qual (Module mod0) (HsVarName (HsSymbol str)) ]+        Ok _ (QConSym (mod0,str))+	   -> Just [ Qual (Module mod0) (HsTyClsName (HsSymbol str)),+		     Qual (Module mod0) (HsVarName (HsSymbol str)) ]+	_other+	   -> Nothing+++birdtrack,def,line,para,string :: Int+birdtrack = 1+def = 2+line = 3+para = 4+string = 5+alex_action_1 = begin birdtrack +alex_action_2 = token TokBullet `andBegin` string +alex_action_3 = token TokDefStart `andBegin` def +alex_action_4 = token TokNumber `andBegin` string +alex_action_5 = begin string +alex_action_6 = begin birdtrack +alex_action_7 = token TokPara `andBegin` para +alex_action_8 = begin string +alex_action_9 = strtoken TokBirdTrack `andBegin` line +alex_action_10 = strtoken $ \s -> TokSpecial (head s) +alex_action_11 = strtoken $ \s -> TokPic (init $ init $ tail $ tail s) +alex_action_12 = strtoken $ \s -> TokURL (init (tail s)) +alex_action_13 = strtoken $ \s -> TokAName (init (tail s)) +alex_action_14 = strtoken $ \s -> TokEmphasis (init (tail s)) +alex_action_15 = ident +alex_action_16 = strtoken (TokString . tail) +alex_action_17 = strtoken $ \s -> TokString [chr (read (init (drop 2 s)))] +alex_action_18 = strtoken $ \s -> case readHex (init (drop 3 s)) of [(n,_)] -> TokString [chr n] +alex_action_19 = strtoken TokString +alex_action_20 = strtoken TokString `andBegin` line +alex_action_21 = strtoken TokString +alex_action_22 = token TokDefEnd `andBegin` string +alex_action_23 = strtoken TokString +{-# LINE 1 "GenericTemplate.hs" #-}+{-# LINE 1 "<built-in>" #-}+{-# LINE 1 "<command line>" #-}+{-# LINE 1 "GenericTemplate.hs" #-}+-- -----------------------------------------------------------------------------+-- ALEX TEMPLATE+--+-- This code is in the PUBLIC DOMAIN; you may copy it freely and use+-- it for any purpose whatsoever.++-- -----------------------------------------------------------------------------+-- INTERNALS and main scanner engine++{-# LINE 35 "GenericTemplate.hs" #-}++{-# LINE 45 "GenericTemplate.hs" #-}+++data AlexAddr = AlexA# Addr#++#if __GLASGOW_HASKELL__ < 503+uncheckedShiftL# = shiftL#+#endif++{-# INLINE alexIndexInt16OffAddr #-}+alexIndexInt16OffAddr (AlexA# arr) off =+#ifdef WORDS_BIGENDIAN+  narrow16Int# i+  where+	i    = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)+	high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))+	low  = int2Word# (ord# (indexCharOffAddr# arr off'))+	off' = off *# 2#+#else+  indexInt16OffAddr# arr off+#endif++++++{-# INLINE alexIndexInt32OffAddr #-}+alexIndexInt32OffAddr (AlexA# arr) off = +#ifdef WORDS_BIGENDIAN+  narrow32Int# i+  where+   i    = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`+		     (b2 `uncheckedShiftL#` 16#) `or#`+		     (b1 `uncheckedShiftL#` 8#) `or#` b0)+   b3   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))+   b2   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))+   b1   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))+   b0   = int2Word# (ord# (indexCharOffAddr# arr off'))+   off' = off *# 4#+#else+  indexInt32OffAddr# arr off+#endif++++++#if __GLASGOW_HASKELL__ < 503+quickIndex arr i = arr ! i+#else+-- GHC >= 503, unsafeAt is available from Data.Array.Base.+quickIndex = unsafeAt+#endif+++++-- -----------------------------------------------------------------------------+-- Main lexing routines++data AlexReturn a+  = AlexEOF+  | AlexError  !AlexInput+  | AlexSkip   !AlexInput !Int+  | AlexToken  !AlexInput !Int a++-- alexScan :: AlexInput -> StartCode -> AlexReturn a+alexScan input (I# (sc))+  = alexScanUser undefined input (I# (sc))++alexScanUser user input (I# (sc))+  = case alex_scan_tkn user input 0# input sc AlexNone of+	(AlexNone, input') ->+		case alexGetChar input of+			Nothing -> ++++				   AlexEOF+			Just _ ->++++				   AlexError input'++	(AlexLastSkip input len, _) ->++++		AlexSkip input len++	(AlexLastAcc k input len, _) ->++++		AlexToken input len k+++-- Push the input through the DFA, remembering the most recent accepting+-- state it encountered.++alex_scan_tkn user orig_input len input s last_acc =+  input `seq` -- strict in the input+  let +	new_acc = check_accs (alex_accept `quickIndex` (I# (s)))+  in+  new_acc `seq`+  case alexGetChar input of+     Nothing -> (new_acc, input)+     Just (c, new_input) -> ++++	let+		base   = alexIndexInt32OffAddr alex_base s+		(I# (ord_c)) = ord c+		offset = (base +# ord_c)+		check  = alexIndexInt16OffAddr alex_check offset+		+		new_s = if (offset >=# 0#) && (check ==# ord_c)+			  then alexIndexInt16OffAddr alex_table offset+			  else alexIndexInt16OffAddr alex_deflt s+	in+	case new_s of +	    -1# -> (new_acc, input)+		-- on an error, we want to keep the input *before* the+		-- character that failed, not after.+    	    _ -> alex_scan_tkn user orig_input (len +# 1#) +			new_input new_s new_acc++  where+	check_accs [] = last_acc+	check_accs (AlexAcc a : _) = AlexLastAcc a input (I# (len))+	check_accs (AlexAccSkip : _)  = AlexLastSkip  input (I# (len))+	check_accs (AlexAccPred a pred : rest)+	   | pred user orig_input (I# (len)) input+	   = AlexLastAcc a input (I# (len))+	check_accs (AlexAccSkipPred pred : rest)+	   | pred user orig_input (I# (len)) input+	   = AlexLastSkip input (I# (len))+	check_accs (_ : rest) = check_accs rest++data AlexLastAcc a+  = AlexNone+  | AlexLastAcc a !AlexInput !Int+  | AlexLastSkip  !AlexInput !Int++data AlexAcc a user+  = AlexAcc a+  | AlexAccSkip+  | AlexAccPred a (AlexAccPred user)+  | AlexAccSkipPred (AlexAccPred user)++type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool++-- -----------------------------------------------------------------------------+-- Predicates on a rule++alexAndPred p1 p2 user in1 len in2+  = p1 user in1 len in2 && p2 user in1 len in2++--alexPrevCharIsPred :: Char -> AlexAccPred _ +alexPrevCharIs c _ input _ _ = c == alexInputPrevChar input++--alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _ +alexPrevCharIsOneOf arr _ input _ _ = arr ! alexInputPrevChar input++--alexRightContext :: Int -> AlexAccPred _+alexRightContext (I# (sc)) user _ _ input = +     case alex_scan_tkn user input 0# input sc AlexNone of+	  (AlexNone, _) -> False+	  _ -> True+	-- TODO: there's no need to find the longest+	-- match when checking the right context, just+	-- the first match will do.++-- used by wrappers+iUnbox (I# (i)) = i
+ dist/build/haddock/haddock-tmp/HaddockParse.hs view
@@ -0,0 +1,715 @@+{-# OPTIONS -fglasgow-exts -cpp #-}+module HaddockParse (parseParas, parseString) where++import HaddockLex+import HsSyn+#if __GLASGOW_HASKELL__ >= 503+import Data.Array+#else+import Array+#endif+#if __GLASGOW_HASKELL__ >= 503+import GHC.Exts+#else+import GlaExts+#endif++-- parser produced by Happy Version 1.16++newtype HappyAbsSyn  = HappyAbsSyn HappyAny+#if __GLASGOW_HASKELL__ >= 607+type HappyAny = GHC.Exts.Any+#else+type HappyAny = forall a . a+#endif+happyIn5 :: (Doc) -> (HappyAbsSyn )+happyIn5 x = unsafeCoerce# x+{-# INLINE happyIn5 #-}+happyOut5 :: (HappyAbsSyn ) -> (Doc)+happyOut5 x = unsafeCoerce# x+{-# INLINE happyOut5 #-}+happyIn6 :: (Doc) -> (HappyAbsSyn )+happyIn6 x = unsafeCoerce# x+{-# INLINE happyIn6 #-}+happyOut6 :: (HappyAbsSyn ) -> (Doc)+happyOut6 x = unsafeCoerce# x+{-# INLINE happyOut6 #-}+happyIn7 :: (Doc) -> (HappyAbsSyn )+happyIn7 x = unsafeCoerce# x+{-# INLINE happyIn7 #-}+happyOut7 :: (HappyAbsSyn ) -> (Doc)+happyOut7 x = unsafeCoerce# x+{-# INLINE happyOut7 #-}+happyIn8 :: (Doc) -> (HappyAbsSyn )+happyIn8 x = unsafeCoerce# x+{-# INLINE happyIn8 #-}+happyOut8 :: (HappyAbsSyn ) -> (Doc)+happyOut8 x = unsafeCoerce# x+{-# INLINE happyOut8 #-}+happyIn9 :: ((Doc,Doc)) -> (HappyAbsSyn )+happyIn9 x = unsafeCoerce# x+{-# INLINE happyIn9 #-}+happyOut9 :: (HappyAbsSyn ) -> ((Doc,Doc))+happyOut9 x = unsafeCoerce# x+{-# INLINE happyOut9 #-}+happyIn10 :: (Doc) -> (HappyAbsSyn )+happyIn10 x = unsafeCoerce# x+{-# INLINE happyIn10 #-}+happyOut10 :: (HappyAbsSyn ) -> (Doc)+happyOut10 x = unsafeCoerce# x+{-# INLINE happyOut10 #-}+happyIn11 :: (Doc) -> (HappyAbsSyn )+happyIn11 x = unsafeCoerce# x+{-# INLINE happyIn11 #-}+happyOut11 :: (HappyAbsSyn ) -> (Doc)+happyOut11 x = unsafeCoerce# x+{-# INLINE happyOut11 #-}+happyIn12 :: (Doc) -> (HappyAbsSyn )+happyIn12 x = unsafeCoerce# x+{-# INLINE happyIn12 #-}+happyOut12 :: (HappyAbsSyn ) -> (Doc)+happyOut12 x = unsafeCoerce# x+{-# INLINE happyOut12 #-}+happyIn13 :: (Doc) -> (HappyAbsSyn )+happyIn13 x = unsafeCoerce# x+{-# INLINE happyIn13 #-}+happyOut13 :: (HappyAbsSyn ) -> (Doc)+happyOut13 x = unsafeCoerce# x+{-# INLINE happyOut13 #-}+happyIn14 :: (Doc) -> (HappyAbsSyn )+happyIn14 x = unsafeCoerce# x+{-# INLINE happyIn14 #-}+happyOut14 :: (HappyAbsSyn ) -> (Doc)+happyOut14 x = unsafeCoerce# x+{-# INLINE happyOut14 #-}+happyIn15 :: (Doc) -> (HappyAbsSyn )+happyIn15 x = unsafeCoerce# x+{-# INLINE happyIn15 #-}+happyOut15 :: (HappyAbsSyn ) -> (Doc)+happyOut15 x = unsafeCoerce# x+{-# INLINE happyOut15 #-}+happyIn16 :: (String) -> (HappyAbsSyn )+happyIn16 x = unsafeCoerce# x+{-# INLINE happyIn16 #-}+happyOut16 :: (HappyAbsSyn ) -> (String)+happyOut16 x = unsafeCoerce# x+{-# INLINE happyOut16 #-}+happyInTok :: Token -> (HappyAbsSyn )+happyInTok x = unsafeCoerce# x+{-# INLINE happyInTok #-}+happyOutTok :: (HappyAbsSyn ) -> Token+happyOutTok x = unsafeCoerce# x+{-# INLINE happyOutTok #-}+++happyActOffsets :: HappyAddr+happyActOffsets = HappyA# "\xff\xff\x25\x00\x0d\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x51\x00\x25\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x19\x00\x5d\x00\x00\x00\x00\x00\x4d\x00\x4d\x00\x46\x00\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x44\x00\x2f\x00\x2b\x00\x27\x00\x51\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyGotoOffsets :: HappyAddr+happyGotoOffsets = HappyA# "\x4b\x00\x78\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x7a\x00\x70\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x66\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xff\x00\x00\x00\x00\x52\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyDefActions :: HappyAddr+happyDefActions = HappyA# "\xfa\xff\x00\x00\x00\x00\x00\x00\xf9\xff\xf8\xff\xf7\xff\xf6\xff\xf1\xff\xf2\xff\xed\xff\xec\xff\x00\x00\x00\x00\x00\x00\xe5\xff\xe4\xff\xe3\xff\xe6\xff\x00\x00\x00\x00\xef\xff\xe2\xff\xe7\xff\x00\x00\x00\x00\xfb\xff\xfa\xff\xfc\xff\xfa\xff\xf0\xff\xf4\xff\xf5\xff\x00\x00\xe0\xff\x00\x00\x00\x00\xe8\xff\x00\x00\xee\xff\xea\xff\xe9\xff\xeb\xff\x00\x00\xdf\xff\xe1\xff\xfd\xff\xf3\xff"#++happyCheck :: HappyAddr+happyCheck = HappyA# "\xff\xff\x02\x00\x03\x00\x0b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x02\x00\x03\x00\x06\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x02\x00\x0f\x00\x0b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x09\x00\x0a\x00\x0c\x00\x0d\x00\x02\x00\x0f\x00\x02\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x04\x00\x07\x00\x08\x00\x0d\x00\x0a\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x0f\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x05\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x0e\x00\x0a\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x09\x00\x0a\x00\x10\x00\x0d\x00\x0e\x00\x0f\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x0c\x00\x0a\x00\x05\x00\x06\x00\x07\x00\x08\x00\x0e\x00\x0a\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x07\x00\x08\x00\x0f\x00\x0a\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x09\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#++happyTable :: HappyAddr+happyTable = HappyA# "\x00\x00\x0d\x00\x0e\x00\x2c\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x1c\x00\x18\x00\x0d\x00\x0e\x00\x1e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0d\x00\x18\x00\x21\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x28\x00\x25\x00\x16\x00\x17\x00\x0d\x00\x18\x00\x2b\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x2c\x00\x2f\x00\x0a\x00\x17\x00\x0b\x00\x18\x00\x2e\x00\x1a\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x23\x00\x0b\x00\x1c\x00\x1a\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x2e\x00\x0b\x00\x19\x00\x1a\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x1e\x00\x0b\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x29\x00\x25\x00\xff\xff\x17\x00\x27\x00\x18\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x16\x00\x0b\x00\x1f\x00\x08\x00\x09\x00\x0a\x00\x1e\x00\x0b\x00\x20\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x0b\x00\x23\x00\x0a\x00\x23\x00\x0b\x00\x27\x00\x0a\x00\x00\x00\x0b\x00\x18\x00\x0a\x00\x00\x00\x0b\x00\x24\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyReduceArr = array (2, 32) [+	(2 , happyReduce_2),+	(3 , happyReduce_3),+	(4 , happyReduce_4),+	(5 , happyReduce_5),+	(6 , happyReduce_6),+	(7 , happyReduce_7),+	(8 , happyReduce_8),+	(9 , happyReduce_9),+	(10 , happyReduce_10),+	(11 , happyReduce_11),+	(12 , happyReduce_12),+	(13 , happyReduce_13),+	(14 , happyReduce_14),+	(15 , happyReduce_15),+	(16 , happyReduce_16),+	(17 , happyReduce_17),+	(18 , happyReduce_18),+	(19 , happyReduce_19),+	(20 , happyReduce_20),+	(21 , happyReduce_21),+	(22 , happyReduce_22),+	(23 , happyReduce_23),+	(24 , happyReduce_24),+	(25 , happyReduce_25),+	(26 , happyReduce_26),+	(27 , happyReduce_27),+	(28 , happyReduce_28),+	(29 , happyReduce_29),+	(30 , happyReduce_30),+	(31 , happyReduce_31),+	(32 , happyReduce_32)+	]++happy_n_terms = 17 :: Int+happy_n_nonterms = 12 :: Int++happyReduce_2 = happySpecReduce_3  0# happyReduction_2+happyReduction_2 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut6 happy_x_1 of { happy_var_1 -> +	case happyOut5 happy_x_3 of { happy_var_3 -> +	happyIn5+		 (docAppend happy_var_1 happy_var_3+	)}}++happyReduce_3 = happySpecReduce_2  0# happyReduction_3+happyReduction_3 happy_x_2+	happy_x_1+	 =  case happyOut5 happy_x_2 of { happy_var_2 -> +	happyIn5+		 (happy_var_2+	)}++happyReduce_4 = happySpecReduce_1  0# happyReduction_4+happyReduction_4 happy_x_1+	 =  case happyOut6 happy_x_1 of { happy_var_1 -> +	happyIn5+		 (happy_var_1+	)}++happyReduce_5 = happySpecReduce_0  0# happyReduction_5+happyReduction_5  =  happyIn5+		 (DocEmpty+	)++happyReduce_6 = happySpecReduce_1  1# happyReduction_6+happyReduction_6 happy_x_1+	 =  case happyOut7 happy_x_1 of { happy_var_1 -> +	happyIn6+		 (DocUnorderedList [happy_var_1]+	)}++happyReduce_7 = happySpecReduce_1  1# happyReduction_7+happyReduction_7 happy_x_1+	 =  case happyOut8 happy_x_1 of { happy_var_1 -> +	happyIn6+		 (DocOrderedList [happy_var_1]+	)}++happyReduce_8 = happySpecReduce_1  1# happyReduction_8+happyReduction_8 happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	happyIn6+		 (DocDefList [happy_var_1]+	)}++happyReduce_9 = happySpecReduce_1  1# happyReduction_9+happyReduction_9 happy_x_1+	 =  case happyOut10 happy_x_1 of { happy_var_1 -> +	happyIn6+		 (happy_var_1+	)}++happyReduce_10 = happySpecReduce_2  2# happyReduction_10+happyReduction_10 happy_x_2+	happy_x_1+	 =  case happyOut10 happy_x_2 of { happy_var_2 -> +	happyIn7+		 (happy_var_2+	)}++happyReduce_11 = happySpecReduce_2  3# happyReduction_11+happyReduction_11 happy_x_2+	happy_x_1+	 =  case happyOut10 happy_x_2 of { happy_var_2 -> +	happyIn8+		 (happy_var_2+	)}++happyReduce_12 = happyReduce 4# 4# happyReduction_12+happyReduction_12 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut12 happy_x_2 of { happy_var_2 -> +	case happyOut12 happy_x_4 of { happy_var_4 -> +	happyIn9+		 ((happy_var_2, happy_var_4)+	) `HappyStk` happyRest}}++happyReduce_13 = happySpecReduce_1  5# happyReduction_13+happyReduction_13 happy_x_1+	 =  case happyOut12 happy_x_1 of { happy_var_1 -> +	happyIn10+		 (docParagraph happy_var_1+	)}++happyReduce_14 = happySpecReduce_1  5# happyReduction_14+happyReduction_14 happy_x_1+	 =  case happyOut11 happy_x_1 of { happy_var_1 -> +	happyIn10+		 (DocCodeBlock happy_var_1+	)}++happyReduce_15 = happySpecReduce_2  6# happyReduction_15+happyReduction_15 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokBirdTrack happy_var_1) -> +	case happyOut11 happy_x_2 of { happy_var_2 -> +	happyIn11+		 (docAppend (DocString happy_var_1) happy_var_2+	)}}++happyReduce_16 = happySpecReduce_1  6# happyReduction_16+happyReduction_16 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokBirdTrack happy_var_1) -> +	happyIn11+		 (DocString happy_var_1+	)}++happyReduce_17 = happySpecReduce_2  7# happyReduction_17+happyReduction_17 happy_x_2+	happy_x_1+	 =  case happyOut13 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	happyIn12+		 (docAppend happy_var_1 happy_var_2+	)}}++happyReduce_18 = happySpecReduce_1  7# happyReduction_18+happyReduction_18 happy_x_1+	 =  case happyOut13 happy_x_1 of { happy_var_1 -> +	happyIn12+		 (happy_var_1+	)}++happyReduce_19 = happySpecReduce_1  8# happyReduction_19+happyReduction_19 happy_x_1+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (happy_var_1+	)}++happyReduce_20 = happySpecReduce_3  8# happyReduction_20+happyReduction_20 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut14 happy_x_2 of { happy_var_2 -> +	happyIn13+		 (DocMonospaced happy_var_2+	)}++happyReduce_21 = happySpecReduce_2  9# happyReduction_21+happyReduction_21 happy_x_2+	happy_x_1+	 =  case happyOut14 happy_x_2 of { happy_var_2 -> +	happyIn14+		 (docAppend (DocString "\n") happy_var_2+	)}++happyReduce_22 = happySpecReduce_2  9# happyReduction_22+happyReduction_22 happy_x_2+	happy_x_1+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> +	case happyOut14 happy_x_2 of { happy_var_2 -> +	happyIn14+		 (docAppend happy_var_1 happy_var_2+	)}}++happyReduce_23 = happySpecReduce_1  9# happyReduction_23+happyReduction_23 happy_x_1+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> +	happyIn14+		 (happy_var_1+	)}++happyReduce_24 = happySpecReduce_1  10# happyReduction_24+happyReduction_24 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokString happy_var_1) -> +	happyIn15+		 (DocString happy_var_1+	)}++happyReduce_25 = happySpecReduce_1  10# happyReduction_25+happyReduction_25 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokEmphasis happy_var_1) -> +	happyIn15+		 (DocEmphasis (DocString happy_var_1)+	)}++happyReduce_26 = happySpecReduce_1  10# happyReduction_26+happyReduction_26 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokURL happy_var_1) -> +	happyIn15+		 (DocURL happy_var_1+	)}++happyReduce_27 = happySpecReduce_1  10# happyReduction_27+happyReduction_27 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokPic happy_var_1) -> +	happyIn15+		 (DocPic happy_var_1+	)}++happyReduce_28 = happySpecReduce_1  10# happyReduction_28+happyReduction_28 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokAName happy_var_1) -> +	happyIn15+		 (DocAName happy_var_1+	)}++happyReduce_29 = happySpecReduce_1  10# happyReduction_29+happyReduction_29 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokIdent happy_var_1) -> +	happyIn15+		 (DocIdentifier happy_var_1+	)}++happyReduce_30 = happySpecReduce_3  10# happyReduction_30+happyReduction_30 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut16 happy_x_2 of { happy_var_2 -> +	happyIn15+		 (DocModule happy_var_2+	)}++happyReduce_31 = happySpecReduce_1  11# happyReduction_31+happyReduction_31 happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokString happy_var_1) -> +	happyIn16+		 (happy_var_1+	)}++happyReduce_32 = happySpecReduce_2  11# happyReduction_32+happyReduction_32 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (TokString happy_var_1) -> +	case happyOut16 happy_x_2 of { happy_var_2 -> +	happyIn16+		 (happy_var_1 ++ happy_var_2+	)}}++happyNewToken action sts stk [] =+	happyDoAction 16# notHappyAtAll action sts stk []++happyNewToken action sts stk (tk:tks) =+	let cont i = happyDoAction i tk action sts stk tks in+	case tk of {+	TokSpecial '/' -> cont 1#;+	TokSpecial '@' -> cont 2#;+	TokDefStart -> cont 3#;+	TokDefEnd -> cont 4#;+	TokSpecial '\"' -> cont 5#;+	TokURL happy_dollar_dollar -> cont 6#;+	TokPic happy_dollar_dollar -> cont 7#;+	TokAName happy_dollar_dollar -> cont 8#;+	TokEmphasis happy_dollar_dollar -> cont 9#;+	TokBullet -> cont 10#;+	TokNumber -> cont 11#;+	TokBirdTrack happy_dollar_dollar -> cont 12#;+	TokIdent happy_dollar_dollar -> cont 13#;+	TokPara -> cont 14#;+	TokString happy_dollar_dollar -> cont 15#;+	_ -> happyError' (tk:tks)+	}++happyError_ tk tks = happyError' (tk:tks)++happyThen :: () => Either String a -> (a -> Either String b) -> Either String b+happyThen = (>>=)+happyReturn :: () => a -> Either String a+happyReturn = (return)+happyThen1 m k tks = (>>=) m (\a -> k a tks)+happyReturn1 :: () => a -> b -> Either String a+happyReturn1 = \a tks -> (return) a+happyError' :: () => [Token] -> Either String a+happyError' = happyError++parseParas tks = happySomeParser where+  happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (happyOut5 x))++parseString tks = happySomeParser where+  happySomeParser = happyThen (happyParse 1# tks) (\x -> happyReturn (happyOut12 x))++happySeq = happyDontSeq+++happyError :: [Token] -> Either String a+happyError toks = +  Left ("parse error in doc string: "  ++ show (take 3 toks))++-- Either monad (we can't use MonadError because GHC < 5.00 has+-- an older incompatible version).+instance Monad (Either String) where+	return        = Right+	Left  l >>= _ = Left l+	Right r >>= k = k r+	fail msg      = Left msg+{-# LINE 1 "GenericTemplate.hs" #-}+{-# LINE 1 "GenericTemplate.hs" #-}+{-# LINE 1 "<built-in>" #-}+{-# LINE 1 "<command line>" #-}+{-# LINE 1 "GenericTemplate.hs" #-}+-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp ++{-# LINE 28 "GenericTemplate.hs" #-}+++data Happy_IntList = HappyCons Int# Happy_IntList++++++{-# LINE 49 "GenericTemplate.hs" #-}++{-# LINE 59 "GenericTemplate.hs" #-}++{-# LINE 68 "GenericTemplate.hs" #-}++infixr 9 `HappyStk`+data HappyStk a = HappyStk a (HappyStk a)++-----------------------------------------------------------------------------+-- starting the parse++happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll++-----------------------------------------------------------------------------+-- Accepting the parse++-- If the current token is 0#, it means we've just accepted a partial+-- parse (a %partial parser).  We must ignore the saved token on the top of+-- the stack in this case.+happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =+	happyReturn1 ans+happyAccept j tk st sts (HappyStk ans _) = +	(happyTcHack j (happyTcHack st)) (happyReturn1 ans)++-----------------------------------------------------------------------------+-- Arrays only: do the next action++++happyDoAction i tk st+	= {- nothing -}+++	  case action of+		0#		  -> {- nothing -}+				     happyFail i tk st+		-1# 	  -> {- nothing -}+				     happyAccept i tk st+		n | (n <# (0# :: Int#)) -> {- nothing -}++				     (happyReduceArr ! rule) i tk st+				     where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))+		n		  -> {- nothing -}+++				     happyShift new_state i tk st+				     where new_state = (n -# (1# :: Int#))+   where off    = indexShortOffAddr happyActOffsets st+	 off_i  = (off +# i)+	 check  = if (off_i >=# (0# :: Int#))+			then (indexShortOffAddr happyCheck off_i ==#  i)+			else False+ 	 action | check     = indexShortOffAddr happyTable off_i+		| otherwise = indexShortOffAddr happyDefActions st++{-# LINE 127 "GenericTemplate.hs" #-}+++indexShortOffAddr (HappyA# arr) off =+#if __GLASGOW_HASKELL__ > 500+	narrow16Int# i+#elif __GLASGOW_HASKELL__ == 500+	intToInt16# i+#else+	(i `iShiftL#` 16#) `iShiftRA#` 16#+#endif+  where+#if __GLASGOW_HASKELL__ >= 503+	i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)+#else+	i = word2Int# ((high `shiftL#` 8#) `or#` low)+#endif+	high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))+	low  = int2Word# (ord# (indexCharOffAddr# arr off'))+	off' = off *# 2#++++++data HappyAddr = HappyA# Addr#+++++-----------------------------------------------------------------------------+-- HappyState data type (not arrays)++{-# LINE 170 "GenericTemplate.hs" #-}++-----------------------------------------------------------------------------+-- Shifting a token++happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =+     let i = (case unsafeCoerce# x of { (I# (i)) -> i }) in+--     trace "shifting the error token" $+     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)++happyShift new_state i tk st sts stk =+     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)++-- happyReduce is specialised for the common cases.++happySpecReduce_0 i fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happySpecReduce_0 nt fn j tk st@((action)) sts stk+     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)++happySpecReduce_1 i fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')+     = let r = fn v1 in+       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))++happySpecReduce_2 i fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')+     = let r = fn v1 v2 in+       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))++happySpecReduce_3 i fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')+     = let r = fn v1 v2 v3 in+       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))++happyReduce k i fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happyReduce k nt fn j tk st sts stk+     = case happyDrop (k -# (1# :: Int#)) sts of+	 sts1@((HappyCons (st1@(action)) (_))) ->+        	let r = fn stk in  -- it doesn't hurt to always seq here...+       		happyDoSeq r (happyGoto nt j tk st1 sts1 r)++happyMonadReduce k nt fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happyMonadReduce k nt fn j tk st sts stk =+        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))+       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))+             drop_stk = happyDropStk k stk++happyMonad2Reduce k nt fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happyMonad2Reduce k nt fn j tk st sts stk =+       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))+       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))+             drop_stk = happyDropStk k stk++             off    = indexShortOffAddr happyGotoOffsets st1+             off_i  = (off +# nt)+             new_state = indexShortOffAddr happyTable off_i+++++happyDrop 0# l = l+happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t++happyDropStk 0# l = l+happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs++-----------------------------------------------------------------------------+-- Moving to a new state after a reduction+++happyGoto nt j tk st = +   {- nothing -}+   happyDoAction j tk new_state+   where off    = indexShortOffAddr happyGotoOffsets st+	 off_i  = (off +# nt)+ 	 new_state = indexShortOffAddr happyTable off_i+++++-----------------------------------------------------------------------------+-- Error recovery (0# is the error token)++-- parse error if we are in recovery and we fail again+happyFail  0# tk old_st _ stk =+--	trace "failing" $ +    	happyError_ tk++{-  We don't need state discarding for our restricted implementation of+    "error".  In fact, it can cause some bogus parses, so I've disabled it+    for now --SDM++-- discard a state+happyFail  0# tk old_st (HappyCons ((action)) (sts)) +						(saved_tok `HappyStk` _ `HappyStk` stk) =+--	trace ("discarding state, depth " ++ show (length stk))  $+	happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))+-}++-- Enter error recovery: generate an error token,+--                       save the old token and carry on.+happyFail  i tk (action) sts stk =+--      trace "entering error recovery" $+	happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk)++-- Internal happy errors:++notHappyAtAll = error "Internal Happy error\n"++-----------------------------------------------------------------------------+-- Hack to get the typechecker to accept our action functions+++happyTcHack :: Int# -> a -> a+happyTcHack x y = y+{-# INLINE happyTcHack #-}+++-----------------------------------------------------------------------------+-- Seq-ing.  If the --strict flag is given, then Happy emits +--	happySeq = happyDoSeq+-- otherwise it emits+-- 	happySeq = happyDontSeq++happyDoSeq, happyDontSeq :: a -> b -> b+happyDoSeq   a b = a `seq` b+happyDontSeq a b = b++-----------------------------------------------------------------------------+-- Don't inline any functions from the template.  GHC has a nasty habit+-- of deciding to inline happyGoto everywhere, which increases the size of+-- the generated parser quite a bit.+++{-# NOINLINE happyDoAction #-}+{-# NOINLINE happyTable #-}+{-# NOINLINE happyCheck #-}+{-# NOINLINE happyActOffsets #-}+{-# NOINLINE happyGotoOffsets #-}+{-# NOINLINE happyDefActions #-}++{-# NOINLINE happyShift #-}+{-# NOINLINE happySpecReduce_0 #-}+{-# NOINLINE happySpecReduce_1 #-}+{-# NOINLINE happySpecReduce_2 #-}+{-# NOINLINE happySpecReduce_3 #-}+{-# NOINLINE happyReduce #-}+{-# NOINLINE happyMonadReduce #-}+{-# NOINLINE happyGoto #-}+{-# NOINLINE happyFail #-}++-- end of Happy Template.
+ dist/build/haddock/haddock-tmp/HsParser.hs view
@@ -0,0 +1,5021 @@+{-# OPTIONS -fglasgow-exts -cpp #-}+module HsParser (parse) where++import Monad+import HsSyn+import HsParseMonad+import HsLexer+import HsParseUtils+import HaddockLex 	hiding (Token)+import HaddockParse+import HaddockUtil 	hiding (splitTyConApp)+import Char 		( isSpace )+#if __GLASGOW_HASKELL__ >= 503+import Data.Array+#else+import Array+#endif+#if __GLASGOW_HASKELL__ >= 503+import GHC.Exts+#else+import GlaExts+#endif++-- parser produced by Happy Version 1.16++newtype HappyAbsSyn  = HappyAbsSyn HappyAny+#if __GLASGOW_HASKELL__ >= 607+type HappyAny = GHC.Exts.Any+#else+type HappyAny = forall a . a+#endif+happyIn4 :: (HsModule) -> (HappyAbsSyn )+happyIn4 x = unsafeCoerce# x+{-# INLINE happyIn4 #-}+happyOut4 :: (HappyAbsSyn ) -> (HsModule)+happyOut4 x = unsafeCoerce# x+{-# INLINE happyOut4 #-}+happyIn5 :: ((Maybe String,ModuleInfo,Maybe Doc)) -> (HappyAbsSyn )+happyIn5 x = unsafeCoerce# x+{-# INLINE happyIn5 #-}+happyOut5 :: (HappyAbsSyn ) -> ((Maybe String,ModuleInfo,Maybe Doc))+happyOut5 x = unsafeCoerce# x+{-# INLINE happyOut5 #-}+happyIn6 :: (([HsImportDecl],[HsDecl])) -> (HappyAbsSyn )+happyIn6 x = unsafeCoerce# x+{-# INLINE happyIn6 #-}+happyOut6 :: (HappyAbsSyn ) -> (([HsImportDecl],[HsDecl]))+happyOut6 x = unsafeCoerce# x+{-# INLINE happyOut6 #-}+happyIn7 :: (([HsImportDecl],[HsDecl])) -> (HappyAbsSyn )+happyIn7 x = unsafeCoerce# x+{-# INLINE happyIn7 #-}+happyOut7 :: (HappyAbsSyn ) -> (([HsImportDecl],[HsDecl]))+happyOut7 x = unsafeCoerce# x+{-# INLINE happyOut7 #-}+happyIn8 :: (()) -> (HappyAbsSyn )+happyIn8 x = unsafeCoerce# x+{-# INLINE happyIn8 #-}+happyOut8 :: (HappyAbsSyn ) -> (())+happyOut8 x = unsafeCoerce# x+{-# INLINE happyOut8 #-}+happyIn9 :: (Maybe [HsExportSpec]) -> (HappyAbsSyn )+happyIn9 x = unsafeCoerce# x+{-# INLINE happyIn9 #-}+happyOut9 :: (HappyAbsSyn ) -> (Maybe [HsExportSpec])+happyOut9 x = unsafeCoerce# x+{-# INLINE happyOut9 #-}+happyIn10 :: ([HsExportSpec]) -> (HappyAbsSyn )+happyIn10 x = unsafeCoerce# x+{-# INLINE happyIn10 #-}+happyOut10 :: (HappyAbsSyn ) -> ([HsExportSpec])+happyOut10 x = unsafeCoerce# x+{-# INLINE happyOut10 #-}+happyIn11 :: ([HsExportSpec]) -> (HappyAbsSyn )+happyIn11 x = unsafeCoerce# x+{-# INLINE happyIn11 #-}+happyOut11 :: (HappyAbsSyn ) -> ([HsExportSpec])+happyOut11 x = unsafeCoerce# x+{-# INLINE happyOut11 #-}+happyIn12 :: ([HsExportSpec]) -> (HappyAbsSyn )+happyIn12 x = unsafeCoerce# x+{-# INLINE happyIn12 #-}+happyOut12 :: (HappyAbsSyn ) -> ([HsExportSpec])+happyOut12 x = unsafeCoerce# x+{-# INLINE happyOut12 #-}+happyIn13 :: (HsExportSpec) -> (HappyAbsSyn )+happyIn13 x = unsafeCoerce# x+{-# INLINE happyIn13 #-}+happyOut13 :: (HappyAbsSyn ) -> (HsExportSpec)+happyOut13 x = unsafeCoerce# x+{-# INLINE happyOut13 #-}+happyIn14 :: (HsExportSpec) -> (HappyAbsSyn )+happyIn14 x = unsafeCoerce# x+{-# INLINE happyIn14 #-}+happyOut14 :: (HappyAbsSyn ) -> (HsExportSpec)+happyOut14 x = unsafeCoerce# x+{-# INLINE happyOut14 #-}+happyIn15 :: ([HsQName]) -> (HappyAbsSyn )+happyIn15 x = unsafeCoerce# x+{-# INLINE happyIn15 #-}+happyOut15 :: (HappyAbsSyn ) -> ([HsQName])+happyOut15 x = unsafeCoerce# x+{-# INLINE happyOut15 #-}+happyIn16 :: (HsQName) -> (HappyAbsSyn )+happyIn16 x = unsafeCoerce# x+{-# INLINE happyIn16 #-}+happyOut16 :: (HappyAbsSyn ) -> (HsQName)+happyOut16 x = unsafeCoerce# x+{-# INLINE happyOut16 #-}+happyIn17 :: ([HsImportDecl]) -> (HappyAbsSyn )+happyIn17 x = unsafeCoerce# x+{-# INLINE happyIn17 #-}+happyOut17 :: (HappyAbsSyn ) -> ([HsImportDecl])+happyOut17 x = unsafeCoerce# x+{-# INLINE happyOut17 #-}+happyIn18 :: (HsImportDecl) -> (HappyAbsSyn )+happyIn18 x = unsafeCoerce# x+{-# INLINE happyIn18 #-}+happyOut18 :: (HappyAbsSyn ) -> (HsImportDecl)+happyOut18 x = unsafeCoerce# x+{-# INLINE happyOut18 #-}+happyIn19 :: (Bool) -> (HappyAbsSyn )+happyIn19 x = unsafeCoerce# x+{-# INLINE happyIn19 #-}+happyOut19 :: (HappyAbsSyn ) -> (Bool)+happyOut19 x = unsafeCoerce# x+{-# INLINE happyOut19 #-}+happyIn20 :: (Maybe Module) -> (HappyAbsSyn )+happyIn20 x = unsafeCoerce# x+{-# INLINE happyIn20 #-}+happyOut20 :: (HappyAbsSyn ) -> (Maybe Module)+happyOut20 x = unsafeCoerce# x+{-# INLINE happyOut20 #-}+happyIn21 :: (Maybe (Bool, [HsImportSpec])) -> (HappyAbsSyn )+happyIn21 x = unsafeCoerce# x+{-# INLINE happyIn21 #-}+happyOut21 :: (HappyAbsSyn ) -> (Maybe (Bool, [HsImportSpec]))+happyOut21 x = unsafeCoerce# x+{-# INLINE happyOut21 #-}+happyIn22 :: ((Bool, [HsImportSpec])) -> (HappyAbsSyn )+happyIn22 x = unsafeCoerce# x+{-# INLINE happyIn22 #-}+happyOut22 :: (HappyAbsSyn ) -> ((Bool, [HsImportSpec]))+happyOut22 x = unsafeCoerce# x+{-# INLINE happyOut22 #-}+happyIn23 :: ([HsImportSpec]) -> (HappyAbsSyn )+happyIn23 x = unsafeCoerce# x+{-# INLINE happyIn23 #-}+happyOut23 :: (HappyAbsSyn ) -> ([HsImportSpec])+happyOut23 x = unsafeCoerce# x+{-# INLINE happyOut23 #-}+happyIn24 :: (HsImportSpec) -> (HappyAbsSyn )+happyIn24 x = unsafeCoerce# x+{-# INLINE happyIn24 #-}+happyOut24 :: (HappyAbsSyn ) -> (HsImportSpec)+happyOut24 x = unsafeCoerce# x+{-# INLINE happyOut24 #-}+happyIn25 :: (HsName) -> (HappyAbsSyn )+happyIn25 x = unsafeCoerce# x+{-# INLINE happyIn25 #-}+happyOut25 :: (HappyAbsSyn ) -> (HsName)+happyOut25 x = unsafeCoerce# x+{-# INLINE happyOut25 #-}+happyIn26 :: ([HsName]) -> (HappyAbsSyn )+happyIn26 x = unsafeCoerce# x+{-# INLINE happyIn26 #-}+happyOut26 :: (HappyAbsSyn ) -> ([HsName])+happyOut26 x = unsafeCoerce# x+{-# INLINE happyOut26 #-}+happyIn27 :: (HsName) -> (HappyAbsSyn )+happyIn27 x = unsafeCoerce# x+{-# INLINE happyIn27 #-}+happyOut27 :: (HappyAbsSyn ) -> (HsName)+happyOut27 x = unsafeCoerce# x+{-# INLINE happyOut27 #-}+happyIn28 :: (HsDecl) -> (HappyAbsSyn )+happyIn28 x = unsafeCoerce# x+{-# INLINE happyIn28 #-}+happyOut28 :: (HappyAbsSyn ) -> (HsDecl)+happyOut28 x = unsafeCoerce# x+{-# INLINE happyOut28 #-}+happyIn29 :: (Int) -> (HappyAbsSyn )+happyIn29 x = unsafeCoerce# x+{-# INLINE happyIn29 #-}+happyOut29 :: (HappyAbsSyn ) -> (Int)+happyOut29 x = unsafeCoerce# x+{-# INLINE happyOut29 #-}+happyIn30 :: (HsAssoc) -> (HappyAbsSyn )+happyIn30 x = unsafeCoerce# x+{-# INLINE happyIn30 #-}+happyOut30 :: (HappyAbsSyn ) -> (HsAssoc)+happyOut30 x = unsafeCoerce# x+{-# INLINE happyOut30 #-}+happyIn31 :: ([HsName]) -> (HappyAbsSyn )+happyIn31 x = unsafeCoerce# x+{-# INLINE happyIn31 #-}+happyOut31 :: (HappyAbsSyn ) -> ([HsName])+happyOut31 x = unsafeCoerce# x+{-# INLINE happyOut31 #-}+happyIn32 :: ([HsDecl]) -> (HappyAbsSyn )+happyIn32 x = unsafeCoerce# x+{-# INLINE happyIn32 #-}+happyOut32 :: (HappyAbsSyn ) -> ([HsDecl])+happyOut32 x = unsafeCoerce# x+{-# INLINE happyOut32 #-}+happyIn33 :: (HsDecl) -> (HappyAbsSyn )+happyIn33 x = unsafeCoerce# x+{-# INLINE happyIn33 #-}+happyOut33 :: (HappyAbsSyn ) -> (HsDecl)+happyOut33 x = unsafeCoerce# x+{-# INLINE happyOut33 #-}+happyIn34 :: ([HsType]) -> (HappyAbsSyn )+happyIn34 x = unsafeCoerce# x+{-# INLINE happyIn34 #-}+happyOut34 :: (HappyAbsSyn ) -> ([HsType])+happyOut34 x = unsafeCoerce# x+{-# INLINE happyOut34 #-}+happyIn35 :: ([HsDecl]) -> (HappyAbsSyn )+happyIn35 x = unsafeCoerce# x+{-# INLINE happyIn35 #-}+happyOut35 :: (HappyAbsSyn ) -> ([HsDecl])+happyOut35 x = unsafeCoerce# x+{-# INLINE happyOut35 #-}+happyIn36 :: (HsDecl) -> (HappyAbsSyn )+happyIn36 x = unsafeCoerce# x+{-# INLINE happyIn36 #-}+happyOut36 :: (HappyAbsSyn ) -> (HsDecl)+happyOut36 x = unsafeCoerce# x+{-# INLINE happyOut36 #-}+happyIn37 :: (HsDecl) -> (HappyAbsSyn )+happyIn37 x = unsafeCoerce# x+{-# INLINE happyIn37 #-}+happyOut37 :: (HappyAbsSyn ) -> (HsDecl)+happyOut37 x = unsafeCoerce# x+{-# INLINE happyOut37 #-}+happyIn38 :: ([HsDecl]) -> (HappyAbsSyn )+happyIn38 x = unsafeCoerce# x+{-# INLINE happyIn38 #-}+happyOut38 :: (HappyAbsSyn ) -> ([HsDecl])+happyOut38 x = unsafeCoerce# x+{-# INLINE happyOut38 #-}+happyIn39 :: (HsDecl) -> (HappyAbsSyn )+happyIn39 x = unsafeCoerce# x+{-# INLINE happyIn39 #-}+happyOut39 :: (HappyAbsSyn ) -> (HsDecl)+happyOut39 x = unsafeCoerce# x+{-# INLINE happyOut39 #-}+happyIn40 :: ([HsName]) -> (HappyAbsSyn )+happyIn40 x = unsafeCoerce# x+{-# INLINE happyIn40 #-}+happyOut40 :: (HappyAbsSyn ) -> ([HsName])+happyOut40 x = unsafeCoerce# x+{-# INLINE happyOut40 #-}+happyIn41 :: (HsDecl) -> (HappyAbsSyn )+happyIn41 x = unsafeCoerce# x+{-# INLINE happyIn41 #-}+happyOut41 :: (HappyAbsSyn ) -> (HsDecl)+happyOut41 x = unsafeCoerce# x+{-# INLINE happyOut41 #-}+happyIn42 :: (HsCallConv) -> (HappyAbsSyn )+happyIn42 x = unsafeCoerce# x+{-# INLINE happyIn42 #-}+happyOut42 :: (HappyAbsSyn ) -> (HsCallConv)+happyOut42 x = unsafeCoerce# x+{-# INLINE happyOut42 #-}+happyIn43 :: (HsFISafety) -> (HappyAbsSyn )+happyIn43 x = unsafeCoerce# x+{-# INLINE happyIn43 #-}+happyOut43 :: (HappyAbsSyn ) -> (HsFISafety)+happyOut43 x = unsafeCoerce# x+{-# INLINE happyOut43 #-}+happyIn44 :: ((String, HsName, HsType)) -> (HappyAbsSyn )+happyIn44 x = unsafeCoerce# x+{-# INLINE happyIn44 #-}+happyOut44 :: (HappyAbsSyn ) -> ((String, HsName, HsType))+happyOut44 x = unsafeCoerce# x+{-# INLINE happyOut44 #-}+happyIn45 :: (HsType) -> (HappyAbsSyn )+happyIn45 x = unsafeCoerce# x+{-# INLINE happyIn45 #-}+happyOut45 :: (HappyAbsSyn ) -> (HsType)+happyOut45 x = unsafeCoerce# x+{-# INLINE happyOut45 #-}+happyIn46 :: (HsType) -> (HappyAbsSyn )+happyIn46 x = unsafeCoerce# x+{-# INLINE happyIn46 #-}+happyOut46 :: (HappyAbsSyn ) -> (HsType)+happyOut46 x = unsafeCoerce# x+{-# INLINE happyOut46 #-}+happyIn47 :: (HsType) -> (HappyAbsSyn )+happyIn47 x = unsafeCoerce# x+{-# INLINE happyIn47 #-}+happyOut47 :: (HappyAbsSyn ) -> (HsType)+happyOut47 x = unsafeCoerce# x+{-# INLINE happyOut47 #-}+happyIn48 :: (HsType) -> (HappyAbsSyn )+happyIn48 x = unsafeCoerce# x+{-# INLINE happyIn48 #-}+happyOut48 :: (HappyAbsSyn ) -> (HsType)+happyOut48 x = unsafeCoerce# x+{-# INLINE happyOut48 #-}+happyIn49 :: (HsType) -> (HappyAbsSyn )+happyIn49 x = unsafeCoerce# x+{-# INLINE happyIn49 #-}+happyOut49 :: (HappyAbsSyn ) -> (HsType)+happyOut49 x = unsafeCoerce# x+{-# INLINE happyOut49 #-}+happyIn50 :: (HsType) -> (HappyAbsSyn )+happyIn50 x = unsafeCoerce# x+{-# INLINE happyIn50 #-}+happyOut50 :: (HappyAbsSyn ) -> (HsType)+happyOut50 x = unsafeCoerce# x+{-# INLINE happyOut50 #-}+happyIn51 :: (HsQName) -> (HappyAbsSyn )+happyIn51 x = unsafeCoerce# x+{-# INLINE happyIn51 #-}+happyOut51 :: (HappyAbsSyn ) -> (HsQName)+happyOut51 x = unsafeCoerce# x+{-# INLINE happyOut51 #-}+happyIn52 :: (HsType) -> (HappyAbsSyn )+happyIn52 x = unsafeCoerce# x+{-# INLINE happyIn52 #-}+happyOut52 :: (HappyAbsSyn ) -> (HsType)+happyOut52 x = unsafeCoerce# x+{-# INLINE happyOut52 #-}+happyIn53 :: (HsType) -> (HappyAbsSyn )+happyIn53 x = unsafeCoerce# x+{-# INLINE happyIn53 #-}+happyOut53 :: (HappyAbsSyn ) -> (HsType)+happyOut53 x = unsafeCoerce# x+{-# INLINE happyOut53 #-}+happyIn54 :: (HsIPContext) -> (HappyAbsSyn )+happyIn54 x = unsafeCoerce# x+{-# INLINE happyIn54 #-}+happyOut54 :: (HappyAbsSyn ) -> (HsIPContext)+happyOut54 x = unsafeCoerce# x+{-# INLINE happyOut54 #-}+happyIn55 :: ([HsType]) -> (HappyAbsSyn )+happyIn55 x = unsafeCoerce# x+{-# INLINE happyIn55 #-}+happyOut55 :: (HappyAbsSyn ) -> ([HsType])+happyOut55 x = unsafeCoerce# x+{-# INLINE happyOut55 #-}+happyIn56 :: ((HsName, [HsName])) -> (HappyAbsSyn )+happyIn56 x = unsafeCoerce# x+{-# INLINE happyIn56 #-}+happyOut56 :: (HappyAbsSyn ) -> ((HsName, [HsName]))+happyOut56 x = unsafeCoerce# x+{-# INLINE happyOut56 #-}+happyIn57 :: ([HsName]) -> (HappyAbsSyn )+happyIn57 x = unsafeCoerce# x+{-# INLINE happyIn57 #-}+happyOut57 :: (HappyAbsSyn ) -> ([HsName])+happyOut57 x = unsafeCoerce# x+{-# INLINE happyOut57 #-}+happyIn58 :: ([HsConDecl]) -> (HappyAbsSyn )+happyIn58 x = unsafeCoerce# x+{-# INLINE happyIn58 #-}+happyOut58 :: (HappyAbsSyn ) -> ([HsConDecl])+happyOut58 x = unsafeCoerce# x+{-# INLINE happyOut58 #-}+happyIn59 :: ([HsConDecl]) -> (HappyAbsSyn )+happyIn59 x = unsafeCoerce# x+{-# INLINE happyIn59 #-}+happyOut59 :: (HappyAbsSyn ) -> ([HsConDecl])+happyOut59 x = unsafeCoerce# x+{-# INLINE happyOut59 #-}+happyIn60 :: (HsConDecl) -> (HappyAbsSyn )+happyIn60 x = unsafeCoerce# x+{-# INLINE happyIn60 #-}+happyOut60 :: (HappyAbsSyn ) -> (HsConDecl)+happyOut60 x = unsafeCoerce# x+{-# INLINE happyOut60 #-}+happyIn61 :: ([HsName]) -> (HappyAbsSyn )+happyIn61 x = unsafeCoerce# x+{-# INLINE happyIn61 #-}+happyOut61 :: (HappyAbsSyn ) -> ([HsName])+happyOut61 x = unsafeCoerce# x+{-# INLINE happyOut61 #-}+happyIn62 :: ((HsName, [HsBangType])) -> (HappyAbsSyn )+happyIn62 x = unsafeCoerce# x+{-# INLINE happyIn62 #-}+happyOut62 :: (HappyAbsSyn ) -> ((HsName, [HsBangType]))+happyOut62 x = unsafeCoerce# x+{-# INLINE happyOut62 #-}+happyIn63 :: ((HsName, [HsBangType])) -> (HappyAbsSyn )+happyIn63 x = unsafeCoerce# x+{-# INLINE happyIn63 #-}+happyOut63 :: (HappyAbsSyn ) -> ((HsName, [HsBangType]))+happyOut63 x = unsafeCoerce# x+{-# INLINE happyOut63 #-}+happyIn64 :: ((HsName, [HsBangType])) -> (HappyAbsSyn )+happyIn64 x = unsafeCoerce# x+{-# INLINE happyIn64 #-}+happyOut64 :: (HappyAbsSyn ) -> ((HsName, [HsBangType]))+happyOut64 x = unsafeCoerce# x+{-# INLINE happyOut64 #-}+happyIn65 :: (HsBangType) -> (HappyAbsSyn )+happyIn65 x = unsafeCoerce# x+{-# INLINE happyIn65 #-}+happyOut65 :: (HappyAbsSyn ) -> (HsBangType)+happyOut65 x = unsafeCoerce# x+{-# INLINE happyOut65 #-}+happyIn66 :: (HsBangType) -> (HappyAbsSyn )+happyIn66 x = unsafeCoerce# x+{-# INLINE happyIn66 #-}+happyOut66 :: (HappyAbsSyn ) -> (HsBangType)+happyOut66 x = unsafeCoerce# x+{-# INLINE happyOut66 #-}+happyIn67 :: ([HsFieldDecl]) -> (HappyAbsSyn )+happyIn67 x = unsafeCoerce# x+{-# INLINE happyIn67 #-}+happyOut67 :: (HappyAbsSyn ) -> ([HsFieldDecl])+happyOut67 x = unsafeCoerce# x+{-# INLINE happyOut67 #-}+happyIn68 :: (HsFieldDecl) -> (HappyAbsSyn )+happyIn68 x = unsafeCoerce# x+{-# INLINE happyIn68 #-}+happyOut68 :: (HappyAbsSyn ) -> (HsFieldDecl)+happyOut68 x = unsafeCoerce# x+{-# INLINE happyOut68 #-}+happyIn69 :: (HsBangType) -> (HappyAbsSyn )+happyIn69 x = unsafeCoerce# x+{-# INLINE happyIn69 #-}+happyOut69 :: (HappyAbsSyn ) -> (HsBangType)+happyOut69 x = unsafeCoerce# x+{-# INLINE happyOut69 #-}+happyIn70 :: ([HsQName]) -> (HappyAbsSyn )+happyIn70 x = unsafeCoerce# x+{-# INLINE happyIn70 #-}+happyOut70 :: (HappyAbsSyn ) -> ([HsQName])+happyOut70 x = unsafeCoerce# x+{-# INLINE happyOut70 #-}+happyIn71 :: ([HsQName]) -> (HappyAbsSyn )+happyIn71 x = unsafeCoerce# x+{-# INLINE happyIn71 #-}+happyOut71 :: (HappyAbsSyn ) -> ([HsQName])+happyOut71 x = unsafeCoerce# x+{-# INLINE happyOut71 #-}+happyIn72 :: ([HsFunDep]) -> (HappyAbsSyn )+happyIn72 x = unsafeCoerce# x+{-# INLINE happyIn72 #-}+happyOut72 :: (HappyAbsSyn ) -> ([HsFunDep])+happyOut72 x = unsafeCoerce# x+{-# INLINE happyOut72 #-}+happyIn73 :: ([HsFunDep]) -> (HappyAbsSyn )+happyIn73 x = unsafeCoerce# x+{-# INLINE happyIn73 #-}+happyOut73 :: (HappyAbsSyn ) -> ([HsFunDep])+happyOut73 x = unsafeCoerce# x+{-# INLINE happyOut73 #-}+happyIn74 :: (HsFunDep) -> (HappyAbsSyn )+happyIn74 x = unsafeCoerce# x+{-# INLINE happyIn74 #-}+happyOut74 :: (HappyAbsSyn ) -> (HsFunDep)+happyOut74 x = unsafeCoerce# x+{-# INLINE happyOut74 #-}+happyIn75 :: ([HsName]) -> (HappyAbsSyn )+happyIn75 x = unsafeCoerce# x+{-# INLINE happyIn75 #-}+happyOut75 :: (HappyAbsSyn ) -> ([HsName])+happyOut75 x = unsafeCoerce# x+{-# INLINE happyOut75 #-}+happyIn76 :: ([HsDecl]) -> (HappyAbsSyn )+happyIn76 x = unsafeCoerce# x+{-# INLINE happyIn76 #-}+happyOut76 :: (HappyAbsSyn ) -> ([HsDecl])+happyOut76 x = unsafeCoerce# x+{-# INLINE happyOut76 #-}+happyIn77 :: ([HsDecl]) -> (HappyAbsSyn )+happyIn77 x = unsafeCoerce# x+{-# INLINE happyIn77 #-}+happyOut77 :: (HappyAbsSyn ) -> ([HsDecl])+happyOut77 x = unsafeCoerce# x+{-# INLINE happyOut77 #-}+happyIn78 :: (HsDecl) -> (HappyAbsSyn )+happyIn78 x = unsafeCoerce# x+{-# INLINE happyIn78 #-}+happyOut78 :: (HappyAbsSyn ) -> (HsDecl)+happyOut78 x = unsafeCoerce# x+{-# INLINE happyOut78 #-}+happyIn79 :: ([HsDecl]) -> (HappyAbsSyn )+happyIn79 x = unsafeCoerce# x+{-# INLINE happyIn79 #-}+happyOut79 :: (HappyAbsSyn ) -> ([HsDecl])+happyOut79 x = unsafeCoerce# x+{-# INLINE happyOut79 #-}+happyIn80 :: ([HsDecl]) -> (HappyAbsSyn )+happyIn80 x = unsafeCoerce# x+{-# INLINE happyIn80 #-}+happyOut80 :: (HappyAbsSyn ) -> ([HsDecl])+happyOut80 x = unsafeCoerce# x+{-# INLINE happyOut80 #-}+happyIn81 :: ([HsDecl]) -> (HappyAbsSyn )+happyIn81 x = unsafeCoerce# x+{-# INLINE happyIn81 #-}+happyOut81 :: (HappyAbsSyn ) -> ([HsDecl])+happyOut81 x = unsafeCoerce# x+{-# INLINE happyOut81 #-}+happyIn82 :: ([HsDecl]) -> (HappyAbsSyn )+happyIn82 x = unsafeCoerce# x+{-# INLINE happyIn82 #-}+happyOut82 :: (HappyAbsSyn ) -> ([HsDecl])+happyOut82 x = unsafeCoerce# x+{-# INLINE happyOut82 #-}+happyIn83 :: (HsDecl) -> (HappyAbsSyn )+happyIn83 x = unsafeCoerce# x+{-# INLINE happyIn83 #-}+happyOut83 :: (HappyAbsSyn ) -> (HsDecl)+happyOut83 x = unsafeCoerce# x+{-# INLINE happyOut83 #-}+happyIn84 :: (HsRhs) -> (HappyAbsSyn )+happyIn84 x = unsafeCoerce# x+{-# INLINE happyIn84 #-}+happyOut84 :: (HappyAbsSyn ) -> (HsRhs)+happyOut84 x = unsafeCoerce# x+{-# INLINE happyOut84 #-}+happyIn85 :: ([HsGuardedRhs]) -> (HappyAbsSyn )+happyIn85 x = unsafeCoerce# x+{-# INLINE happyIn85 #-}+happyOut85 :: (HappyAbsSyn ) -> ([HsGuardedRhs])+happyOut85 x = unsafeCoerce# x+{-# INLINE happyOut85 #-}+happyIn86 :: (HsGuardedRhs) -> (HappyAbsSyn )+happyIn86 x = unsafeCoerce# x+{-# INLINE happyIn86 #-}+happyOut86 :: (HappyAbsSyn ) -> (HsGuardedRhs)+happyOut86 x = unsafeCoerce# x+{-# INLINE happyOut86 #-}+happyIn87 :: (HsExp) -> (HappyAbsSyn )+happyIn87 x = unsafeCoerce# x+{-# INLINE happyIn87 #-}+happyOut87 :: (HappyAbsSyn ) -> (HsExp)+happyOut87 x = unsafeCoerce# x+{-# INLINE happyOut87 #-}+happyIn88 :: (HsExp) -> (HappyAbsSyn )+happyIn88 x = unsafeCoerce# x+{-# INLINE happyIn88 #-}+happyOut88 :: (HappyAbsSyn ) -> (HsExp)+happyOut88 x = unsafeCoerce# x+{-# INLINE happyOut88 #-}+happyIn89 :: (HsExp) -> (HappyAbsSyn )+happyIn89 x = unsafeCoerce# x+{-# INLINE happyIn89 #-}+happyOut89 :: (HappyAbsSyn ) -> (HsExp)+happyOut89 x = unsafeCoerce# x+{-# INLINE happyOut89 #-}+happyIn90 :: (HsExp) -> (HappyAbsSyn )+happyIn90 x = unsafeCoerce# x+{-# INLINE happyIn90 #-}+happyOut90 :: (HappyAbsSyn ) -> (HsExp)+happyOut90 x = unsafeCoerce# x+{-# INLINE happyOut90 #-}+happyIn91 :: (HsExp) -> (HappyAbsSyn )+happyIn91 x = unsafeCoerce# x+{-# INLINE happyIn91 #-}+happyOut91 :: (HappyAbsSyn ) -> (HsExp)+happyOut91 x = unsafeCoerce# x+{-# INLINE happyOut91 #-}+happyIn92 :: (HsExp) -> (HappyAbsSyn )+happyIn92 x = unsafeCoerce# x+{-# INLINE happyIn92 #-}+happyOut92 :: (HappyAbsSyn ) -> (HsExp)+happyOut92 x = unsafeCoerce# x+{-# INLINE happyOut92 #-}+happyIn93 :: (HsExp) -> (HappyAbsSyn )+happyIn93 x = unsafeCoerce# x+{-# INLINE happyIn93 #-}+happyOut93 :: (HappyAbsSyn ) -> (HsExp)+happyOut93 x = unsafeCoerce# x+{-# INLINE happyOut93 #-}+happyIn94 :: ([HsExp]) -> (HappyAbsSyn )+happyIn94 x = unsafeCoerce# x+{-# INLINE happyIn94 #-}+happyOut94 :: (HappyAbsSyn ) -> ([HsExp])+happyOut94 x = unsafeCoerce# x+{-# INLINE happyOut94 #-}+happyIn95 :: (HsExp) -> (HappyAbsSyn )+happyIn95 x = unsafeCoerce# x+{-# INLINE happyIn95 #-}+happyOut95 :: (HappyAbsSyn ) -> (HsExp)+happyOut95 x = unsafeCoerce# x+{-# INLINE happyOut95 #-}+happyIn96 :: (HsExp) -> (HappyAbsSyn )+happyIn96 x = unsafeCoerce# x+{-# INLINE happyIn96 #-}+happyOut96 :: (HappyAbsSyn ) -> (HsExp)+happyOut96 x = unsafeCoerce# x+{-# INLINE happyOut96 #-}+happyIn97 :: (Int) -> (HappyAbsSyn )+happyIn97 x = unsafeCoerce# x+{-# INLINE happyIn97 #-}+happyOut97 :: (HappyAbsSyn ) -> (Int)+happyOut97 x = unsafeCoerce# x+{-# INLINE happyOut97 #-}+happyIn98 :: ([HsExp]) -> (HappyAbsSyn )+happyIn98 x = unsafeCoerce# x+{-# INLINE happyIn98 #-}+happyOut98 :: (HappyAbsSyn ) -> ([HsExp])+happyOut98 x = unsafeCoerce# x+{-# INLINE happyOut98 #-}+happyIn99 :: (HsExp) -> (HappyAbsSyn )+happyIn99 x = unsafeCoerce# x+{-# INLINE happyIn99 #-}+happyOut99 :: (HappyAbsSyn ) -> (HsExp)+happyOut99 x = unsafeCoerce# x+{-# INLINE happyOut99 #-}+happyIn100 :: ([HsExp]) -> (HappyAbsSyn )+happyIn100 x = unsafeCoerce# x+{-# INLINE happyIn100 #-}+happyOut100 :: (HappyAbsSyn ) -> ([HsExp])+happyOut100 x = unsafeCoerce# x+{-# INLINE happyOut100 #-}+happyIn101 :: ([HsStmt]) -> (HappyAbsSyn )+happyIn101 x = unsafeCoerce# x+{-# INLINE happyIn101 #-}+happyOut101 :: (HappyAbsSyn ) -> ([HsStmt])+happyOut101 x = unsafeCoerce# x+{-# INLINE happyOut101 #-}+happyIn102 :: ([[HsStmt]]) -> (HappyAbsSyn )+happyIn102 x = unsafeCoerce# x+{-# INLINE happyIn102 #-}+happyOut102 :: (HappyAbsSyn ) -> ([[HsStmt]])+happyOut102 x = unsafeCoerce# x+{-# INLINE happyOut102 #-}+happyIn103 :: ([HsStmt]) -> (HappyAbsSyn )+happyIn103 x = unsafeCoerce# x+{-# INLINE happyIn103 #-}+happyOut103 :: (HappyAbsSyn ) -> ([HsStmt])+happyOut103 x = unsafeCoerce# x+{-# INLINE happyOut103 #-}+happyIn104 :: (HsStmt) -> (HappyAbsSyn )+happyIn104 x = unsafeCoerce# x+{-# INLINE happyIn104 #-}+happyOut104 :: (HappyAbsSyn ) -> (HsStmt)+happyOut104 x = unsafeCoerce# x+{-# INLINE happyOut104 #-}+happyIn105 :: ([HsAlt]) -> (HappyAbsSyn )+happyIn105 x = unsafeCoerce# x+{-# INLINE happyIn105 #-}+happyOut105 :: (HappyAbsSyn ) -> ([HsAlt])+happyOut105 x = unsafeCoerce# x+{-# INLINE happyOut105 #-}+happyIn106 :: ([HsAlt]) -> (HappyAbsSyn )+happyIn106 x = unsafeCoerce# x+{-# INLINE happyIn106 #-}+happyOut106 :: (HappyAbsSyn ) -> ([HsAlt])+happyOut106 x = unsafeCoerce# x+{-# INLINE happyOut106 #-}+happyIn107 :: (HsAlt) -> (HappyAbsSyn )+happyIn107 x = unsafeCoerce# x+{-# INLINE happyIn107 #-}+happyOut107 :: (HappyAbsSyn ) -> (HsAlt)+happyOut107 x = unsafeCoerce# x+{-# INLINE happyOut107 #-}+happyIn108 :: (HsGuardedAlts) -> (HappyAbsSyn )+happyIn108 x = unsafeCoerce# x+{-# INLINE happyIn108 #-}+happyOut108 :: (HappyAbsSyn ) -> (HsGuardedAlts)+happyOut108 x = unsafeCoerce# x+{-# INLINE happyOut108 #-}+happyIn109 :: ([HsGuardedAlt]) -> (HappyAbsSyn )+happyIn109 x = unsafeCoerce# x+{-# INLINE happyIn109 #-}+happyOut109 :: (HappyAbsSyn ) -> ([HsGuardedAlt])+happyOut109 x = unsafeCoerce# x+{-# INLINE happyOut109 #-}+happyIn110 :: (HsGuardedAlt) -> (HappyAbsSyn )+happyIn110 x = unsafeCoerce# x+{-# INLINE happyIn110 #-}+happyOut110 :: (HappyAbsSyn ) -> (HsGuardedAlt)+happyOut110 x = unsafeCoerce# x+{-# INLINE happyOut110 #-}+happyIn111 :: (HsPat) -> (HappyAbsSyn )+happyIn111 x = unsafeCoerce# x+{-# INLINE happyIn111 #-}+happyOut111 :: (HappyAbsSyn ) -> (HsPat)+happyOut111 x = unsafeCoerce# x+{-# INLINE happyOut111 #-}+happyIn112 :: ([HsStmt]) -> (HappyAbsSyn )+happyIn112 x = unsafeCoerce# x+{-# INLINE happyIn112 #-}+happyOut112 :: (HappyAbsSyn ) -> ([HsStmt])+happyOut112 x = unsafeCoerce# x+{-# INLINE happyOut112 #-}+happyIn113 :: ([HsStmt]) -> (HappyAbsSyn )+happyIn113 x = unsafeCoerce# x+{-# INLINE happyIn113 #-}+happyOut113 :: (HappyAbsSyn ) -> ([HsStmt])+happyOut113 x = unsafeCoerce# x+{-# INLINE happyOut113 #-}+happyIn114 :: ([HsStmt]) -> (HappyAbsSyn )+happyIn114 x = unsafeCoerce# x+{-# INLINE happyIn114 #-}+happyOut114 :: (HappyAbsSyn ) -> ([HsStmt])+happyOut114 x = unsafeCoerce# x+{-# INLINE happyOut114 #-}+happyIn115 :: ([HsFieldUpdate]) -> (HappyAbsSyn )+happyIn115 x = unsafeCoerce# x+{-# INLINE happyIn115 #-}+happyOut115 :: (HappyAbsSyn ) -> ([HsFieldUpdate])+happyOut115 x = unsafeCoerce# x+{-# INLINE happyOut115 #-}+happyIn116 :: (HsFieldUpdate) -> (HappyAbsSyn )+happyIn116 x = unsafeCoerce# x+{-# INLINE happyIn116 #-}+happyOut116 :: (HappyAbsSyn ) -> (HsFieldUpdate)+happyOut116 x = unsafeCoerce# x+{-# INLINE happyOut116 #-}+happyIn117 :: (HsQName) -> (HappyAbsSyn )+happyIn117 x = unsafeCoerce# x+{-# INLINE happyIn117 #-}+happyOut117 :: (HappyAbsSyn ) -> (HsQName)+happyOut117 x = unsafeCoerce# x+{-# INLINE happyOut117 #-}+happyIn118 :: (HsName) -> (HappyAbsSyn )+happyIn118 x = unsafeCoerce# x+{-# INLINE happyIn118 #-}+happyOut118 :: (HappyAbsSyn ) -> (HsName)+happyOut118 x = unsafeCoerce# x+{-# INLINE happyOut118 #-}+happyIn119 :: (HsQName) -> (HappyAbsSyn )+happyIn119 x = unsafeCoerce# x+{-# INLINE happyIn119 #-}+happyOut119 :: (HappyAbsSyn ) -> (HsQName)+happyOut119 x = unsafeCoerce# x+{-# INLINE happyOut119 #-}+happyIn120 :: (HsName) -> (HappyAbsSyn )+happyIn120 x = unsafeCoerce# x+{-# INLINE happyIn120 #-}+happyOut120 :: (HappyAbsSyn ) -> (HsName)+happyOut120 x = unsafeCoerce# x+{-# INLINE happyOut120 #-}+happyIn121 :: (HsName) -> (HappyAbsSyn )+happyIn121 x = unsafeCoerce# x+{-# INLINE happyIn121 #-}+happyOut121 :: (HappyAbsSyn ) -> (HsName)+happyOut121 x = unsafeCoerce# x+{-# INLINE happyOut121 #-}+happyIn122 :: (HsQName) -> (HappyAbsSyn )+happyIn122 x = unsafeCoerce# x+{-# INLINE happyIn122 #-}+happyOut122 :: (HappyAbsSyn ) -> (HsQName)+happyOut122 x = unsafeCoerce# x+{-# INLINE happyOut122 #-}+happyIn123 :: (HsName) -> (HappyAbsSyn )+happyIn123 x = unsafeCoerce# x+{-# INLINE happyIn123 #-}+happyOut123 :: (HappyAbsSyn ) -> (HsName)+happyOut123 x = unsafeCoerce# x+{-# INLINE happyOut123 #-}+happyIn124 :: (HsQName) -> (HappyAbsSyn )+happyIn124 x = unsafeCoerce# x+{-# INLINE happyIn124 #-}+happyOut124 :: (HappyAbsSyn ) -> (HsQName)+happyOut124 x = unsafeCoerce# x+{-# INLINE happyOut124 #-}+happyIn125 :: (HsQName) -> (HappyAbsSyn )+happyIn125 x = unsafeCoerce# x+{-# INLINE happyIn125 #-}+happyOut125 :: (HappyAbsSyn ) -> (HsQName)+happyOut125 x = unsafeCoerce# x+{-# INLINE happyOut125 #-}+happyIn126 :: (HsName) -> (HappyAbsSyn )+happyIn126 x = unsafeCoerce# x+{-# INLINE happyIn126 #-}+happyOut126 :: (HappyAbsSyn ) -> (HsName)+happyOut126 x = unsafeCoerce# x+{-# INLINE happyOut126 #-}+happyIn127 :: (HsQName) -> (HappyAbsSyn )+happyIn127 x = unsafeCoerce# x+{-# INLINE happyIn127 #-}+happyOut127 :: (HappyAbsSyn ) -> (HsQName)+happyOut127 x = unsafeCoerce# x+{-# INLINE happyOut127 #-}+happyIn128 :: (HsName) -> (HappyAbsSyn )+happyIn128 x = unsafeCoerce# x+{-# INLINE happyIn128 #-}+happyOut128 :: (HappyAbsSyn ) -> (HsName)+happyOut128 x = unsafeCoerce# x+{-# INLINE happyOut128 #-}+happyIn129 :: (HsExp) -> (HappyAbsSyn )+happyIn129 x = unsafeCoerce# x+{-# INLINE happyIn129 #-}+happyOut129 :: (HappyAbsSyn ) -> (HsExp)+happyOut129 x = unsafeCoerce# x+{-# INLINE happyOut129 #-}+happyIn130 :: (HsExp) -> (HappyAbsSyn )+happyIn130 x = unsafeCoerce# x+{-# INLINE happyIn130 #-}+happyOut130 :: (HappyAbsSyn ) -> (HsExp)+happyOut130 x = unsafeCoerce# x+{-# INLINE happyOut130 #-}+happyIn131 :: (HsQName) -> (HappyAbsSyn )+happyIn131 x = unsafeCoerce# x+{-# INLINE happyIn131 #-}+happyOut131 :: (HappyAbsSyn ) -> (HsQName)+happyOut131 x = unsafeCoerce# x+{-# INLINE happyOut131 #-}+happyIn132 :: (HsName) -> (HappyAbsSyn )+happyIn132 x = unsafeCoerce# x+{-# INLINE happyIn132 #-}+happyOut132 :: (HappyAbsSyn ) -> (HsName)+happyOut132 x = unsafeCoerce# x+{-# INLINE happyOut132 #-}+happyIn133 :: (HsName) -> (HappyAbsSyn )+happyIn133 x = unsafeCoerce# x+{-# INLINE happyIn133 #-}+happyOut133 :: (HappyAbsSyn ) -> (HsName)+happyOut133 x = unsafeCoerce# x+{-# INLINE happyOut133 #-}+happyIn134 :: (HsQName) -> (HappyAbsSyn )+happyIn134 x = unsafeCoerce# x+{-# INLINE happyIn134 #-}+happyOut134 :: (HappyAbsSyn ) -> (HsQName)+happyOut134 x = unsafeCoerce# x+{-# INLINE happyOut134 #-}+happyIn135 :: (HsName) -> (HappyAbsSyn )+happyIn135 x = unsafeCoerce# x+{-# INLINE happyIn135 #-}+happyOut135 :: (HappyAbsSyn ) -> (HsName)+happyOut135 x = unsafeCoerce# x+{-# INLINE happyOut135 #-}+happyIn136 :: (HsQName) -> (HappyAbsSyn )+happyIn136 x = unsafeCoerce# x+{-# INLINE happyIn136 #-}+happyOut136 :: (HappyAbsSyn ) -> (HsQName)+happyOut136 x = unsafeCoerce# x+{-# INLINE happyOut136 #-}+happyIn137 :: (HsName) -> (HappyAbsSyn )+happyIn137 x = unsafeCoerce# x+{-# INLINE happyIn137 #-}+happyOut137 :: (HappyAbsSyn ) -> (HsName)+happyOut137 x = unsafeCoerce# x+{-# INLINE happyOut137 #-}+happyIn138 :: (HsQName) -> (HappyAbsSyn )+happyIn138 x = unsafeCoerce# x+{-# INLINE happyIn138 #-}+happyOut138 :: (HappyAbsSyn ) -> (HsQName)+happyOut138 x = unsafeCoerce# x+{-# INLINE happyOut138 #-}+happyIn139 :: (HsQName) -> (HappyAbsSyn )+happyIn139 x = unsafeCoerce# x+{-# INLINE happyIn139 #-}+happyOut139 :: (HappyAbsSyn ) -> (HsQName)+happyOut139 x = unsafeCoerce# x+{-# INLINE happyOut139 #-}+happyIn140 :: (HsName) -> (HappyAbsSyn )+happyIn140 x = unsafeCoerce# x+{-# INLINE happyIn140 #-}+happyOut140 :: (HappyAbsSyn ) -> (HsName)+happyOut140 x = unsafeCoerce# x+{-# INLINE happyOut140 #-}+happyIn141 :: (HsName) -> (HappyAbsSyn )+happyIn141 x = unsafeCoerce# x+{-# INLINE happyIn141 #-}+happyOut141 :: (HappyAbsSyn ) -> (HsName)+happyOut141 x = unsafeCoerce# x+{-# INLINE happyOut141 #-}+happyIn142 :: (HsQName) -> (HappyAbsSyn )+happyIn142 x = unsafeCoerce# x+{-# INLINE happyIn142 #-}+happyOut142 :: (HappyAbsSyn ) -> (HsQName)+happyOut142 x = unsafeCoerce# x+{-# INLINE happyOut142 #-}+happyIn143 :: (HsExp) -> (HappyAbsSyn )+happyIn143 x = unsafeCoerce# x+{-# INLINE happyIn143 #-}+happyOut143 :: (HappyAbsSyn ) -> (HsExp)+happyOut143 x = unsafeCoerce# x+{-# INLINE happyOut143 #-}+happyIn144 :: (SrcLoc) -> (HappyAbsSyn )+happyIn144 x = unsafeCoerce# x+{-# INLINE happyIn144 #-}+happyOut144 :: (HappyAbsSyn ) -> (SrcLoc)+happyOut144 x = unsafeCoerce# x+{-# INLINE happyOut144 #-}+happyIn145 :: (()) -> (HappyAbsSyn )+happyIn145 x = unsafeCoerce# x+{-# INLINE happyIn145 #-}+happyOut145 :: (HappyAbsSyn ) -> (())+happyOut145 x = unsafeCoerce# x+{-# INLINE happyOut145 #-}+happyIn146 :: (()) -> (HappyAbsSyn )+happyIn146 x = unsafeCoerce# x+{-# INLINE happyIn146 #-}+happyOut146 :: (HappyAbsSyn ) -> (())+happyOut146 x = unsafeCoerce# x+{-# INLINE happyOut146 #-}+happyIn147 :: (Module) -> (HappyAbsSyn )+happyIn147 x = unsafeCoerce# x+{-# INLINE happyIn147 #-}+happyOut147 :: (HappyAbsSyn ) -> (Module)+happyOut147 x = unsafeCoerce# x+{-# INLINE happyOut147 #-}+happyIn148 :: (HsName) -> (HappyAbsSyn )+happyIn148 x = unsafeCoerce# x+{-# INLINE happyIn148 #-}+happyOut148 :: (HappyAbsSyn ) -> (HsName)+happyOut148 x = unsafeCoerce# x+{-# INLINE happyOut148 #-}+happyIn149 :: (HsName) -> (HappyAbsSyn )+happyIn149 x = unsafeCoerce# x+{-# INLINE happyIn149 #-}+happyOut149 :: (HappyAbsSyn ) -> (HsName)+happyOut149 x = unsafeCoerce# x+{-# INLINE happyOut149 #-}+happyIn150 :: (HsQName) -> (HappyAbsSyn )+happyIn150 x = unsafeCoerce# x+{-# INLINE happyIn150 #-}+happyOut150 :: (HappyAbsSyn ) -> (HsQName)+happyOut150 x = unsafeCoerce# x+{-# INLINE happyOut150 #-}+happyIn151 :: (HsName) -> (HappyAbsSyn )+happyIn151 x = unsafeCoerce# x+{-# INLINE happyIn151 #-}+happyOut151 :: (HappyAbsSyn ) -> (HsName)+happyOut151 x = unsafeCoerce# x+{-# INLINE happyOut151 #-}+happyIn152 :: (HsType) -> (HappyAbsSyn )+happyIn152 x = unsafeCoerce# x+{-# INLINE happyIn152 #-}+happyOut152 :: (HappyAbsSyn ) -> (HsType)+happyOut152 x = unsafeCoerce# x+{-# INLINE happyOut152 #-}+happyIn153 :: (Doc) -> (HappyAbsSyn )+happyIn153 x = unsafeCoerce# x+{-# INLINE happyIn153 #-}+happyOut153 :: (HappyAbsSyn ) -> (Doc)+happyOut153 x = unsafeCoerce# x+{-# INLINE happyOut153 #-}+happyIn154 :: (Doc) -> (HappyAbsSyn )+happyIn154 x = unsafeCoerce# x+{-# INLINE happyIn154 #-}+happyOut154 :: (HappyAbsSyn ) -> (Doc)+happyOut154 x = unsafeCoerce# x+{-# INLINE happyOut154 #-}+happyIn155 :: ((String,Doc)) -> (HappyAbsSyn )+happyIn155 x = unsafeCoerce# x+{-# INLINE happyIn155 #-}+happyOut155 :: (HappyAbsSyn ) -> ((String,Doc))+happyOut155 x = unsafeCoerce# x+{-# INLINE happyOut155 #-}+happyIn156 :: ((Int,Doc)) -> (HappyAbsSyn )+happyIn156 x = unsafeCoerce# x+{-# INLINE happyIn156 #-}+happyOut156 :: (HappyAbsSyn ) -> ((Int,Doc))+happyOut156 x = unsafeCoerce# x+{-# INLINE happyOut156 #-}+happyIn157 :: (Maybe Doc) -> (HappyAbsSyn )+happyIn157 x = unsafeCoerce# x+{-# INLINE happyIn157 #-}+happyOut157 :: (HappyAbsSyn ) -> (Maybe Doc)+happyOut157 x = unsafeCoerce# x+{-# INLINE happyOut157 #-}+happyIn158 :: (Maybe Doc) -> (HappyAbsSyn )+happyIn158 x = unsafeCoerce# x+{-# INLINE happyIn158 #-}+happyOut158 :: (HappyAbsSyn ) -> (Maybe Doc)+happyOut158 x = unsafeCoerce# x+{-# INLINE happyOut158 #-}+happyIn159 :: ((ModuleInfo,Maybe Doc)) -> (HappyAbsSyn )+happyIn159 x = unsafeCoerce# x+{-# INLINE happyIn159 #-}+happyOut159 :: (HappyAbsSyn ) -> ((ModuleInfo,Maybe Doc))+happyOut159 x = unsafeCoerce# x+{-# INLINE happyOut159 #-}+happyInTok :: Token -> (HappyAbsSyn )+happyInTok x = unsafeCoerce# x+{-# INLINE happyInTok #-}+happyOutTok :: (HappyAbsSyn ) -> Token+happyOutTok x = unsafeCoerce# x+{-# INLINE happyOutTok #-}+++happyActOffsets :: HappyAddr+happyActOffsets = HappyA# "\x0e\x00\xb4\x01\x68\x04\x97\x04\x00\x00\x94\x04\x53\x04\x00\x00\x21\x05\x17\x06\x87\x04\x88\x04\x00\x00\x00\x00\x00\x00\x7f\x04\x00\x00\x73\x05\x00\x00\x7b\x04\x00\x00\xc5\x04\x00\x00\x7f\x0c\x7a\x04\x00\x00\x00\x00\x7b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x05\x37\x0b\x73\x05\xb1\x07\x00\x00\x7f\x0c\x7f\x0c\x00\x00\x37\x0b\x00\x00\x00\x00\x4f\x0f\x00\x00\x79\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x0f\x00\x00\x00\x00\x00\x00\x8b\x04\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x02\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x0f\x00\x00\x00\x00\x00\x00\x76\x0d\x00\x00\x00\x00\x00\x00\x57\x04\x5e\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x0c\x12\x11\x26\x0f\xd8\x0f\xfd\x0e\x2f\x04\x00\x00\x01\x02\x00\x00\x5f\x07\x5f\x07\x55\x04\x00\x00\xfd\x0e\x39\x04\x00\x00\x00\x00\x78\x02\x00\x00\x4d\x04\x7f\x0c\x37\x0b\x63\x04\x7f\x0c\x00\x00\x79\x01\x3e\x04\x40\x04\x00\x00\x00\x00\x6d\x01\x4c\x04\xdb\x01\x78\x02\xd5\x01\x47\x04\x00\x00\x00\x00\x37\x0b\x45\x04\x00\x00\x43\x04\x00\x00\x00\x00\x00\x00\x42\x04\x3f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x11\x37\x04\x7f\x0c\x36\x04\x44\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x0c\xd6\x11\x30\x04\x00\x00\x00\x00\xdb\x0b\x00\x00\x00\x00\x00\x00\x5a\x02\x00\x00\xbb\x11\x00\x00\x00\x00\x00\x00\x24\x04\xa6\x12\x00\x00\x73\x05\x21\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\x01\xe9\x10\x28\x04\x26\x04\x00\x00\x1c\x00\x00\x00\x37\x0b\x00\x00\x00\x00\x93\x01\x00\x00\x20\x04\x5d\x04\x00\x00\x23\x04\x2c\x00\x00\x00\x10\x04\x00\x00\x00\x00\x19\x04\xc5\x04\x00\x00\x00\x00\x00\x00\x0d\x07\x00\x00\x00\x00\x37\x0b\x00\x00\x00\x00\x37\x0b\x00\x00\x00\x00\x06\x04\x37\x0b\x37\x0b\xe5\x0a\x00\x00\xef\x03\x69\x06\x89\x0b\xe2\x03\x2d\x0c\x11\x04\x93\x0a\x04\x04\xfb\x03\x16\x00\xc0\x10\x00\x00\x2c\x0d\x02\x04\xee\x03\xfa\x03\xbb\x06\xf9\x03\x40\x00\xb7\x00\xb7\x00\xb2\x02\x00\x00\xb3\x03\xe8\x03\xd8\x0f\xcb\x01\xe0\x03\xef\x0d\x00\x00\xa8\x00\xe1\x03\xdd\x03\xdf\x03\xda\x03\xbc\x01\xd9\x03\x00\x00\xd7\x03\x7e\x11\xc0\x10\xc9\x03\x00\x00\x00\x00\x7e\x11\xd8\x0f\x7e\x11\x00\x00\xc7\x03\xd0\x03\x00\x00\x00\x00\x96\x03\x00\x00\xf8\x0d\x97\x10\x00\x00\xc2\x03\x7e\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x10\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x0e\x00\x00\xc8\x03\xb0\x03\x80\x12\x00\x00\x00\x00\x00\x00\x65\x12\x00\x00\xa2\x03\x00\x00\x00\x00\x93\x0a\x00\x00\xbb\x06\xc6\x03\xb9\x03\x00\x00\xa0\x03\x00\x00\xae\x03\x7e\x03\x00\x00\x00\x00\xdb\x0b\xdb\x0b\x00\x00\xaf\x03\x93\x0a\x93\x0a\xa7\x03\xa3\x03\x69\x06\x11\x02\x00\x00\x98\x03\x69\x06\x40\x00\xd3\x00\x93\x0a\x9c\x03\x00\x00\x00\x00\x93\x03\x41\x0a\x00\x00\x9b\x03\x00\x00\xfd\x0e\x00\x00\x00\x00\x00\x00\x94\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x12\xef\x09\x00\x00\x13\x12\x9d\x09\x64\x03\x00\x00\x00\x00\x97\x03\x00\x00\x00\x00\x00\x00\x87\x03\x3a\x0d\x00\x00\x82\x03\xd8\x0f\x90\x03\x00\x00\x8d\x03\x7e\x11\x7e\x11\x00\x00\x7e\x11\x00\x00\x00\x00\xc2\x00\x00\x00\x00\x00\x8c\x03\x84\x03\x2c\x00\x00\x00\x85\x03\x4b\x09\xf9\x08\x00\x00\x00\x00\xa4\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x06\x00\x00\x6a\x03\x00\x00\xc5\x04\x71\x03\x00\x00\x00\x00\x71\x03\x67\x03\x00\x00\x28\x12\x00\x00\x69\x03\x00\x00\x00\x00\xf0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x03\xc1\x12\x64\x0c\x00\x00\x75\x03\x74\x03\x72\x03\x0b\x00\xb2\x02\xdb\x0b\xdb\x0b\x00\x00\x5f\x03\x00\x00\x48\x03\x6c\x03\x00\x00\x00\x00\x61\x03\xf8\x0d\xe1\x02\x66\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x0c\x56\x03\xb2\x02\x55\x03\x00\x00\x00\x00\xd4\x0e\x00\x00\xe1\x02\xf8\x0d\x00\x00\x00\x00\x36\x03\x00\x00\xa1\x01\x00\x00\x54\x00\x00\x00\x00\x00\x00\x00\x99\x11\x59\x03\x00\x00\x42\x03\x45\x10\x00\x00\x31\x01\x00\x00\xbe\x00\x00\x00\x69\x06\x89\x0b\x00\x00\x00\x00\x00\x00\x40\x00\xdb\x0b\xd4\x01\x41\x03\xa7\x08\x00\x00\xa7\x08\x00\x00\x40\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x08\x00\x00\xb3\x0d\x7e\x11\x00\x00\x45\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x03\x37\x03\x00\x00\x00\x00\xa7\x08\x00\x00\x00\x00\x00\x00\x34\x0f\x33\x03\x96\x01\x00\x00\x00\x00\x00\x00\x45\x10\x99\x11\x59\x01\x00\x00\x3a\x03\x00\x00\x00\x00\x00\x00\xb0\x04\x3b\x03\x00\x00\xdb\x0b\x00\x00\x1c\x10\x34\x0f\x00\x00\x00\x00\x3b\x01\x00\x00\x00\x00\x00\x00\xd4\x0c\x00\x00\x30\x03\x35\x03\x00\x00\x31\x03\x00\x00\xf3\x0f\x22\x03\x48\x0e\x13\x03\x2d\x03\x00\x00\xca\x0f\x28\x00\x1e\x03\x00\x00\x15\x03\xbe\x0c\x7e\x11\x00\x00\x00\x00\x37\x01\x00\x00\x12\x03\x58\x11\x00\x00\x99\x11\x15\x01\x00\x00\x00\x00\xad\x02\x0e\x03\x00\x00\x55\x08\x00\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\x00\x00\x00\x00\x00\x00\x00\xf7\x03\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x00\x07\x03\xfd\x00\xa1\x0f\x1a\x03\x00\x00\x00\x00\x3b\x11\x00\x00\x78\x0f\x3b\x11\x00\x00\x00\x00\x00\x00\xab\x0e\x09\x03\xfd\x02\x00\x00\x3b\x11\x00\x00\xf8\x02\x1d\x00\x13\x12\xfd\x00\x00\x00\x00\x00\x00\x00\x12\x0c\x00\x00\x03\x08\x00\x00\x00\x00\x00\x00\xfb\x01\x00\x00\xf0\x02\xf7\x02\xfd\x00\x00\x00\xf1\x02\x00\x00\xf4\x02\x6e\x0e\x00\x00\xf4\x02\x3b\x11\xfd\x00\xf4\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyGotoOffsets :: HappyAddr+happyGotoOffsets = HappyA# "\x01\x00\x03\x00\x00\x00\x00\x00\x00\x00\x61\x02\x00\x00\x76\x02\xe9\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x02\x00\x00\x6d\x02\x00\x00\x7c\x0b\x00\x00\x64\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x13\x55\x15\x2d\x02\x10\x15\x00\x00\x6a\x18\x0a\x0e\x00\x00\x88\x17\x00\x00\x67\x02\x27\x04\x5f\x02\xcb\xff\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x5d\x02\x5c\x02\x17\x04\x00\x00\x00\x00\x00\x00\xe7\xff\x00\x00\x00\x00\x59\x02\x00\x00\x00\x00\x00\x00\x4f\x02\x54\x02\x00\x00\x00\x00\x00\x00\x4b\x02\xa7\x00\x00\x00\x00\x00\x00\x00\xd2\x02\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x01\x46\x04\x66\x04\xa1\x00\x0f\x04\xc1\x02\x00\x00\x00\x00\x00\x00\xae\x14\x7d\x14\x00\x00\x47\x02\xe5\x03\x00\x00\x00\x00\x00\x00\x10\x06\x00\x00\x00\x00\xcc\x14\x75\x17\x13\x00\x64\x18\x00\x00\x13\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x05\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x01\x00\x00\x0a\x0e\x00\x00\xb0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x18\xb1\x01\x00\x00\x00\x00\x00\x00\x2c\x18\x00\x00\x00\x00\x00\x00\xe6\x02\x00\x00\xee\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\x00\x00\x00\xeb\x01\x2b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x02\xea\x02\x00\x00\x00\x00\x00\x00\xe2\xff\x00\x00\x44\x17\x38\x02\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x01\x00\x00\x00\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x05\x00\x00\x00\x00\x00\x00\x26\x18\x33\x02\x00\x00\x24\x15\x00\x00\x00\x00\x31\x17\x00\x00\x00\x00\x00\x00\x00\x17\xed\x16\x4c\x14\x00\x00\x00\x00\xa9\x01\x6a\x01\x00\x00\x5f\x0d\x00\x00\x26\x18\xbd\xff\x79\x02\xdf\xff\xfe\x00\x00\x00\x1a\x05\x4c\x02\x00\x00\x00\x00\x1b\x14\x0a\x00\x1e\x02\x7b\x02\x6e\x02\x02\x02\x00\x00\x41\x02\x00\x00\x83\x00\xf5\x01\x00\x00\xd2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x02\x50\x04\x00\x00\x00\x00\x00\x00\x5c\x04\x66\x00\xe4\xff\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\xab\x02\x00\x00\x00\x00\x8e\x04\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x04\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x03\x00\x00\xd8\x01\x4d\x02\xb2\x00\x00\x00\x00\x00\x00\x00\xbd\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x16\x00\x00\xea\x13\x00\x00\x00\x00\x00\x00\xfd\x01\x00\x00\x00\x00\xee\x01\xee\x02\x00\x00\xf1\x17\xc0\x17\x00\x00\x00\x00\xa9\x16\x78\x16\x00\x00\x00\x00\xaa\x03\x00\x00\x00\x00\x00\x00\x6b\x03\xcc\x01\x8a\x01\x65\x16\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x13\x00\x00\x00\x00\x00\x00\x68\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x02\x34\x16\x00\x00\x34\x02\x88\x13\xcf\x01\x00\x00\x00\x00\xfd\xff\x00\x00\x00\x00\x00\x00\x00\x00\x28\x01\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x6c\x02\x47\x03\x00\x00\x4f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x02\x00\x00\x00\x00\x21\x16\xdf\x14\x00\x00\x00\x00\xde\xff\x00\x00\x00\x00\x87\x01\x00\x00\x00\x00\x2c\x03\x00\x00\x00\x00\x00\x00\xc8\x04\x06\x02\x00\x00\x65\x01\xe3\x01\x00\x00\x00\x00\xa3\xff\x00\x00\xf6\xff\x2f\x00\x00\x00\x48\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x02\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x02\x23\x01\xcc\x12\xab\x12\x00\x00\x00\x00\x00\x00\x4a\x01\x78\x01\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\xff\x00\x00\x18\x01\x04\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x11\x00\xfe\xff\x00\x00\x00\x00\x2a\x01\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\xdd\xff\x00\x00\xeb\x00\x00\x00\xed\x02\xae\x02\x00\x00\xff\x00\x1a\x00\x8b\x00\xf8\x17\xc0\x02\x00\x00\xf0\x15\x00\x00\xdd\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x15\x00\x00\x28\x01\x8e\x04\x00\x00\xe7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x33\x00\x00\x00\xe6\xff\x99\x15\x00\x00\x00\x00\x00\x00\xa3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x01\xfa\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\x00\x00\x00\x00\xed\x12\x00\x00\x71\x04\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x8e\x04\x00\x00\xf4\x01\x00\x00\xe4\x00\x76\x00\x00\x00\x00\x00\x00\x00\xdc\x03\x89\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x00\x00\x39\x00\x00\x00\x00\x00\x00\x00\x94\xff\xe2\x01\x00\x00\x57\x13\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\xf5\x03\xc1\xff\x00\x00\x00\x00\x6b\x04\x00\x00\x86\x04\x62\x03\x00\x00\x00\x00\x00\x00\x11\x03\xb6\x01\x00\x00\x00\x00\x11\x03\x00\x00\x00\x00\xc6\x00\x25\x01\xa4\x01\x00\x00\x00\x00\x00\x00\xe1\x00\x00\x00\x68\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x01\x99\x01\x00\x00\x00\x00\x00\x00\x70\x01\x29\x03\x00\x00\x75\x00\xbf\x00\x1b\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyDefActions :: HappyAddr+happyDefActions = HappyA# "\x8d\xfe\x00\x00\x00\x00\xfc\xff\x7a\xfe\xfb\xff\x00\x00\x90\xfe\xb1\xff\x90\xfe\x00\x00\xf3\xff\xd9\xff\x9f\xff\xf4\xff\xb2\xff\xa9\xff\xb1\xff\xa0\xff\x90\xfe\x9e\xff\x90\xfe\x1e\xff\x17\xff\x15\xff\x10\xff\x0d\xff\x0e\xff\x0f\xff\xd4\xfe\xd1\xfe\xba\xfe\xb7\xfe\xcc\xfe\xab\xfe\x0c\xff\x00\x00\xb6\xfe\xcd\xfe\xb9\xfe\xa9\xfe\xaa\xfe\x99\xfe\x97\xfe\x98\xfe\x96\xfe\x95\xfe\x91\xfe\x93\xfe\x92\xfe\x94\xfe\x00\x00\x00\x00\xb1\xff\x00\x00\x03\xff\x00\x00\x00\x00\xb5\xfe\x00\x00\xad\xfe\x90\xfe\x00\x00\x90\xfe\x8d\xfe\xac\xfe\xaf\xfe\xb8\xfe\x90\xfe\xb0\xfe\x90\xfe\x90\xfe\x00\x00\xb3\xfe\xae\xfe\xb2\xfe\x00\x00\xb4\xfe\xb1\xfe\x00\x00\xfd\xff\xfa\xff\xf9\xff\x90\xfe\x00\x00\xf6\xff\x8e\xfe\x8f\xfe\x90\xfe\x66\xff\x89\xfe\x6f\xff\x83\xff\x82\xff\x7e\xff\x7d\xff\x90\xfe\x00\x00\x00\x00\x86\xfe\x76\xff\x7c\xff\x88\xfe\x87\xfe\x00\x00\x00\x00\x00\x00\x66\xff\x00\x00\xd6\xff\xaa\xff\x00\x00\x18\xff\xdd\xfe\xdd\xfe\x00\x00\x90\xfe\x00\x00\x00\x00\x24\xff\x23\xff\x22\xff\x20\xff\x0e\xff\x00\x00\x00\x00\x8d\xfe\x19\xff\x02\xff\xfd\xfe\x00\x00\xfc\xfe\xd6\xfe\xb4\xff\x00\x00\x00\x00\x00\x00\x22\xff\x00\x00\x00\x00\xbc\xfe\xbb\xfe\x00\x00\xc2\xfe\xa8\xfe\x00\x00\xc6\xfe\xa5\xfe\xa3\xfe\xa2\xfe\x9d\xfe\xa6\xfe\x9a\xfe\xa7\xfe\xd7\xfe\x00\xff\x00\x00\x9c\xfe\x9f\xfe\x9b\xfe\xbc\xff\x9d\xff\x9c\xff\x9b\xff\x9a\xff\x82\xfe\x81\xfe\x80\xfe\x7f\xfe\xba\xff\xb9\xff\xb8\xff\x00\x00\x00\x00\x16\xff\xbe\xfe\xbd\xfe\x00\x00\xc2\xfe\xc8\xfe\xa4\xfe\x00\x00\xa1\xfe\x00\x00\xa0\xfe\x9f\xfe\x9e\xfe\x00\x00\x00\x00\xb3\xff\xb1\xff\xb1\xff\xf7\xff\xda\xff\xf5\xff\xb5\xff\x96\xff\xd3\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x2b\xff\x33\xff\x27\xff\x00\x00\x90\xfe\x1f\xff\x00\x00\xd9\xfe\x00\x00\x00\x00\x12\xff\x04\xff\x00\x00\xbb\xff\x00\x00\xd0\xfe\xcb\xfe\x00\x00\x22\xff\x0a\xff\xd5\xfe\x01\xff\x00\x00\x90\xfe\x0b\xff\x00\x00\x08\xff\x09\xff\x00\x00\x07\xff\xf7\xfe\xf4\xfe\x00\x00\xfb\xfe\x00\x00\x37\xff\x00\x00\xa1\xff\x90\xfe\x00\x00\x00\x00\x13\xff\x00\x00\x8d\xfe\x44\xff\x65\xff\xa6\xff\xee\xfe\x22\xff\xdb\xfe\x00\x00\x00\x00\xdd\xfe\x8d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xd7\xff\x30\xff\x00\x00\x66\xff\x00\x00\x00\x00\x82\xff\x73\xff\x00\x00\x00\x00\x6f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x75\xff\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\x83\xfe\x00\x00\x00\x00\x00\x00\x68\xff\x00\x00\xef\xff\x8c\xfe\x8b\xfe\x00\x00\xf0\xff\xeb\xff\x00\x00\x80\xff\x00\x00\x81\xff\x90\xfe\x70\xff\x84\xff\x74\xff\x85\xfe\x72\xff\x7b\xff\x77\xff\x00\x00\x79\xff\x7a\xff\x78\xff\x67\xff\x00\x00\xac\xff\x8d\xfe\xd4\xff\x00\x00\x90\xff\x8f\xff\x91\xff\x00\x00\xe0\xfe\xed\xfe\xde\xfe\xe1\xfe\x00\x00\xdf\xfe\xdd\xfe\x00\x00\xa7\xff\xa8\xff\x4a\xff\x7c\xfe\x00\x00\x3c\xff\x3f\xff\x1a\xff\x00\x00\x00\x00\x21\xff\x14\xff\x00\x00\x00\x00\x00\x00\xa2\xff\xa1\xff\x00\x00\x39\xff\x0f\xff\xa1\xff\x00\x00\x00\x00\x00\x00\xf2\xfe\xf0\xfe\xf9\xfe\xf5\xfe\x00\x00\xf6\xfe\xfe\xfe\xff\xfe\x00\x00\x06\xff\x05\xff\xc5\xfe\xbd\xff\xc0\xfe\xbf\xfe\xb6\xff\xc4\xfe\xca\xfe\x00\x00\x00\x00\x11\xff\x00\x00\x00\x00\x33\xff\x29\xff\x28\xff\x8d\xfe\xc1\xfe\xc7\xfe\x6c\xff\x88\xff\x87\xff\x97\xff\x00\x00\x66\xff\x00\x00\xd2\xfe\x00\x00\x00\x00\x00\x00\x86\xff\x00\x00\x34\xff\x2a\xff\x00\x00\xda\xfe\xd8\xfe\x00\x00\x00\x00\x00\x00\x25\xff\xf3\xfe\xfa\xfe\x00\x00\x1c\xff\x35\xff\x3a\xff\x98\xff\xa3\xff\x90\xfe\x36\xff\xa4\xff\xa1\xff\x99\xff\x00\x00\x1d\xff\xe2\xfe\xf1\xff\xe9\xfe\x90\xfe\xf1\xff\x43\xff\x41\xff\x00\x00\xad\xff\x8d\xfe\x90\xfe\xaf\xff\x00\x00\xab\xff\xdc\xfe\xef\xfe\x92\xff\x00\x00\x00\x00\x00\x00\x93\xff\x8d\xff\x8c\xff\x8e\xff\xd2\xff\x00\x00\x2c\xff\x2c\xff\x71\xff\x69\xff\x6a\xff\x4a\xff\x7b\xfe\x84\xfe\xb0\xff\x00\x00\xeb\xff\xe8\xff\xe3\xff\xe4\xff\xe5\xff\xe6\xff\xe7\xff\x00\x00\x00\x00\x00\x00\x8d\xfe\xfe\xff\xdf\xff\x00\x00\xed\xff\xe8\xff\xeb\xff\xec\xff\xee\xff\x5c\xff\xae\xff\x00\x00\x2d\xff\x00\x00\xd5\xff\xd8\xff\xd3\xff\xcc\xff\x00\x00\x94\xff\x00\x00\x00\x00\x49\xff\x00\x00\x64\xff\x62\xff\x3d\xff\xa1\xff\x90\xfe\x3e\xff\x3f\xff\x3f\xff\x00\x00\xf2\xff\x00\x00\x00\x00\x00\x00\xa5\xff\x00\x00\x3b\xff\x00\x00\xf1\xfe\xf8\xfe\xb7\xff\xc3\xfe\xc9\xfe\x00\x00\x89\xff\x87\xff\x85\xff\x6d\xff\x00\x00\x6e\xff\x26\xff\x38\xff\x1b\xff\xec\xfe\x33\xff\xe6\xfe\xe4\xfe\x90\xfe\x00\x00\xea\xfe\xeb\xfe\x42\xff\x40\xff\x00\x00\x00\x00\x45\xff\x48\xff\x8a\xff\x00\x00\xcc\xff\x00\x00\xcd\xff\xca\xff\xcb\xff\xc6\xff\x8a\xfe\x00\x00\x00\x00\x31\xff\x2e\xff\x32\xff\x00\x00\x66\xff\xe9\xff\xea\xff\x00\x00\xdd\xff\xdb\xff\xdc\xff\x00\x00\xe1\xff\x00\x00\x00\x00\xe2\xff\x00\x00\xe0\xff\x00\x00\x00\x00\x59\xff\x00\x00\x7d\xfe\x5b\xff\x58\xff\x00\x00\x00\x00\xcf\xfe\x88\xfe\x00\x00\x00\x00\x2f\xff\xc3\xff\x00\x00\xc5\xff\x00\x00\x00\x00\xd1\xff\xce\xff\x00\x00\x8b\xff\x47\xff\x00\x00\x7d\xfe\xe7\xfe\x00\x00\xe5\xfe\xe8\xfe\x00\x00\x7e\xfe\x90\xfe\x46\xff\xd0\xff\xcf\xff\x00\x00\xc0\xff\xbf\xff\xbe\xff\x00\x00\xc8\xff\x00\x00\xc4\xff\xc2\xff\x52\xff\x00\x00\x7b\xfe\x00\x00\x00\x00\x55\xff\x56\xff\x00\x00\x61\xff\x00\x00\x00\x00\x5d\xff\xde\xff\x57\xff\x59\xff\x7d\xfe\x00\x00\x54\xff\x53\xff\x5a\xff\x00\x00\x4f\xff\x00\x00\x7b\xfe\xce\xfe\xc9\xff\xc7\xff\x00\x00\x63\xff\x00\x00\xe3\xfe\xc1\xff\x50\xff\x00\x00\x95\xff\x00\x00\x7d\xfe\x7b\xfe\x60\xff\x00\x00\x5f\xff\x7d\xfe\x00\x00\x4c\xff\x7d\xfe\x00\x00\x7b\xfe\x7d\xfe\x5e\xff\x51\xff\x4b\xff\x4d\xff"#++happyCheck :: HappyAddr+happyCheck = HappyA# "\xff\xff\x00\x00\x01\x00\x02\x00\x01\x00\x07\x00\x02\x00\x09\x00\x0a\x00\x07\x00\x1a\x00\x09\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x07\x00\x36\x00\x09\x00\x0a\x00\x22\x00\x08\x00\x09\x00\x34\x00\x5d\x00\x08\x00\x09\x00\x22\x00\x43\x00\x13\x00\x65\x00\x18\x00\x81\x00\x17\x00\x92\x00\x5d\x00\x4a\x00\x13\x00\x25\x00\x1d\x00\x22\x00\x2f\x00\x4c\x00\x07\x00\x13\x00\x2f\x00\x06\x00\x07\x00\x52\x00\x22\x00\x93\x00\x6c\x00\x13\x00\x14\x00\x15\x00\x16\x00\x2f\x00\x35\x00\x28\x00\x22\x00\x00\x00\x13\x00\x14\x00\x15\x00\x83\x00\x86\x00\x2a\x00\x88\x00\x4b\x00\x8a\x00\x3f\x00\x8e\x00\x24\x00\x14\x00\x15\x00\x38\x00\x24\x00\x25\x00\x88\x00\x75\x00\x00\x00\x4b\x00\x48\x00\x0b\x00\x0c\x00\x8e\x00\x3f\x00\x40\x00\x30\x00\x31\x00\x4b\x00\x1f\x00\x46\x00\x47\x00\x37\x00\x38\x00\x22\x00\x81\x00\x37\x00\x38\x00\x43\x00\x44\x00\x45\x00\x0c\x00\x72\x00\x51\x00\x2c\x00\x92\x00\x1c\x00\x73\x00\x8c\x00\x1f\x00\x95\x00\x73\x00\x92\x00\x93\x00\x91\x00\x9a\x00\x80\x00\x81\x00\x1b\x00\x7f\x00\x80\x00\x81\x00\x73\x00\x7f\x00\x80\x00\x81\x00\x8e\x00\x95\x00\x96\x00\x97\x00\x98\x00\x81\x00\x90\x00\x8e\x00\x7f\x00\x80\x00\x81\x00\x8e\x00\x92\x00\x8c\x00\x8e\x00\x95\x00\x92\x00\x97\x00\x98\x00\x95\x00\x8e\x00\x97\x00\x98\x00\x93\x00\x9b\x00\x6a\x00\x9b\x00\x92\x00\x72\x00\x8e\x00\x95\x00\x8c\x00\x97\x00\x98\x00\x95\x00\x03\x00\x97\x00\x98\x00\x95\x00\x72\x00\x97\x00\x98\x00\x80\x00\x81\x00\x95\x00\x0d\x00\x0e\x00\x16\x00\x17\x00\x9a\x00\x35\x00\x8c\x00\x35\x00\x80\x00\x81\x00\x8c\x00\x18\x00\x71\x00\x90\x00\x73\x00\x1c\x00\x1d\x00\x76\x00\x1b\x00\x20\x00\x21\x00\x4c\x00\x23\x00\x24\x00\x90\x00\x22\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\x13\x00\x73\x00\x00\x00\x96\x00\x76\x00\x35\x00\x99\x00\x77\x00\x27\x00\x28\x00\x7a\x00\x35\x00\x7c\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x28\x00\x22\x00\x28\x00\x85\x00\x81\x00\x2a\x00\x88\x00\x28\x00\x34\x00\x03\x00\x2e\x00\x2f\x00\x1c\x00\x7a\x00\x3a\x00\x1f\x00\x4f\x00\x04\x00\x05\x00\x0d\x00\x0e\x00\x17\x00\x93\x00\x56\x00\x85\x00\x58\x00\x59\x00\x19\x00\x5b\x00\x5c\x00\x18\x00\x81\x00\x4c\x00\x81\x00\x1c\x00\x1d\x00\x22\x00\x18\x00\x20\x00\x21\x00\x96\x00\x23\x00\x24\x00\x99\x00\x72\x00\x13\x00\x74\x00\x2e\x00\x2f\x00\x93\x00\x71\x00\x93\x00\x73\x00\x8d\x00\x75\x00\x76\x00\x1e\x00\x1e\x00\x80\x00\x81\x00\x22\x00\x83\x00\x3d\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x81\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x19\x00\x8b\x00\x8c\x00\x33\x00\x80\x00\x81\x00\x93\x00\x04\x00\x05\x00\x22\x00\x4f\x00\x0e\x00\x93\x00\x80\x00\x81\x00\x80\x00\x81\x00\x56\x00\x81\x00\x58\x00\x59\x00\x18\x00\x5b\x00\x5c\x00\x47\x00\x1c\x00\x1d\x00\x24\x00\x19\x00\x20\x00\x21\x00\x8d\x00\x23\x00\x24\x00\x19\x00\x92\x00\x93\x00\x72\x00\x19\x00\x74\x00\x2e\x00\x2f\x00\x72\x00\x22\x00\x71\x00\x95\x00\x73\x00\x22\x00\x75\x00\x76\x00\x9a\x00\x80\x00\x81\x00\x39\x00\x83\x00\x81\x00\x80\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x19\x00\x75\x00\x8b\x00\x8c\x00\x92\x00\x93\x00\x29\x00\x2a\x00\x4f\x00\x22\x00\x2d\x00\x2e\x00\x2f\x00\x81\x00\x95\x00\x56\x00\x18\x00\x58\x00\x59\x00\x9a\x00\x5b\x00\x5c\x00\x1b\x00\x1f\x00\x20\x00\x21\x00\x42\x00\x23\x00\x24\x00\x22\x00\x92\x00\x93\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x73\x00\x32\x00\x33\x00\x22\x00\x71\x00\x22\x00\x73\x00\x26\x00\x75\x00\x76\x00\x27\x00\x2a\x00\x7f\x00\x80\x00\x81\x00\x8f\x00\x2d\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x19\x00\x88\x00\x1e\x00\x8f\x00\x49\x00\x4a\x00\x22\x00\x8b\x00\x8c\x00\x22\x00\x4f\x00\x92\x00\x93\x00\x94\x00\x1c\x00\x96\x00\x1e\x00\x56\x00\x18\x00\x58\x00\x59\x00\x5d\x00\x5b\x00\x5c\x00\x13\x00\x1f\x00\x20\x00\x21\x00\x17\x00\x23\x00\x24\x00\x29\x00\x2a\x00\x81\x00\x06\x00\x2d\x00\x2e\x00\x2f\x00\x19\x00\x31\x00\x32\x00\x3f\x00\x40\x00\x92\x00\x71\x00\x75\x00\x73\x00\x22\x00\x75\x00\x76\x00\x92\x00\x93\x00\x3f\x00\x40\x00\x3f\x00\x40\x00\x04\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x19\x00\x88\x00\x25\x00\x8c\x00\x49\x00\x4a\x00\x19\x00\x8b\x00\x8c\x00\x22\x00\x4f\x00\x92\x00\x93\x00\x30\x00\x31\x00\x22\x00\x2a\x00\x56\x00\x2c\x00\x58\x00\x59\x00\x18\x00\x5b\x00\x5c\x00\x96\x00\x1c\x00\x1d\x00\x99\x00\x04\x00\x20\x00\x21\x00\x95\x00\x23\x00\x24\x00\x29\x00\x2a\x00\x9a\x00\x8c\x00\x2d\x00\x2e\x00\x2f\x00\x8d\x00\x31\x00\x32\x00\x71\x00\x4c\x00\x73\x00\x22\x00\x75\x00\x76\x00\x6f\x00\x70\x00\x27\x00\x86\x00\x73\x00\x88\x00\x81\x00\x8a\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x1c\x00\x95\x00\x1e\x00\x7f\x00\x80\x00\x81\x00\x9a\x00\x8b\x00\x8c\x00\x48\x00\x92\x00\x93\x00\x95\x00\x4f\x00\x95\x00\x5d\x00\x3c\x00\x9a\x00\x42\x00\x9a\x00\x56\x00\x41\x00\x58\x00\x59\x00\x18\x00\x5b\x00\x5c\x00\x96\x00\x1c\x00\x1d\x00\x99\x00\x96\x00\x20\x00\x21\x00\x99\x00\x23\x00\x24\x00\x29\x00\x2a\x00\x11\x00\x12\x00\x2d\x00\x2e\x00\x2f\x00\x8d\x00\x31\x00\x32\x00\x71\x00\x10\x00\x73\x00\x85\x00\x75\x00\x76\x00\x88\x00\x84\x00\x85\x00\x86\x00\x8e\x00\x88\x00\x81\x00\x8a\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x61\x00\x62\x00\x8b\x00\x8c\x00\x96\x00\x92\x00\x93\x00\x99\x00\x4f\x00\x88\x00\x06\x00\x07\x00\x08\x00\x09\x00\x28\x00\x56\x00\x2a\x00\x58\x00\x59\x00\x18\x00\x5b\x00\x5c\x00\x96\x00\x1c\x00\x1d\x00\x99\x00\x4d\x00\x20\x00\x21\x00\x8f\x00\x23\x00\x24\x00\x26\x00\x29\x00\x2a\x00\x80\x00\x81\x00\x2d\x00\x2e\x00\x2f\x00\x24\x00\x25\x00\x71\x00\x27\x00\x73\x00\x26\x00\x75\x00\x76\x00\x70\x00\x05\x00\x06\x00\x73\x00\x30\x00\x31\x00\x81\x00\x8d\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x04\x00\x05\x00\x7f\x00\x80\x00\x81\x00\x04\x00\x05\x00\x8b\x00\x8c\x00\x6e\x00\x92\x00\x93\x00\x44\x00\x4f\x00\x8c\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x8c\x00\x56\x00\x18\x00\x58\x00\x59\x00\x19\x00\x5b\x00\x5c\x00\x88\x00\x1f\x00\x20\x00\x21\x00\x0f\x00\x23\x00\x24\x00\x8c\x00\x29\x00\x2a\x00\x8c\x00\x8c\x00\x2d\x00\x2e\x00\x2f\x00\x8c\x00\x31\x00\x32\x00\x80\x00\x81\x00\x71\x00\x83\x00\x73\x00\x8f\x00\x75\x00\x76\x00\x8d\x00\x77\x00\x8c\x00\x8c\x00\x7a\x00\x8c\x00\x7c\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x8c\x00\x13\x00\x85\x00\x15\x00\x16\x00\x88\x00\x8c\x00\x8b\x00\x8c\x00\x9b\x00\x4f\x00\x92\x00\x93\x00\x2e\x00\x2f\x00\x8c\x00\x22\x00\x56\x00\x18\x00\x58\x00\x59\x00\x14\x00\x5b\x00\x5c\x00\x14\x00\x1f\x00\x20\x00\x21\x00\x1e\x00\x23\x00\x24\x00\x22\x00\x29\x00\x2a\x00\x81\x00\x1e\x00\x2d\x00\x2e\x00\x2f\x00\x1d\x00\x31\x00\x32\x00\x14\x00\x04\x00\x71\x00\x19\x00\x73\x00\x14\x00\x75\x00\x76\x00\x19\x00\x92\x00\x93\x00\x68\x00\x69\x00\x6a\x00\x19\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x1d\x00\x45\x00\x46\x00\x47\x00\x50\x00\x51\x00\x52\x00\x8b\x00\x8c\x00\x1d\x00\x4f\x00\x92\x00\x93\x00\x2e\x00\x2f\x00\x14\x00\x2f\x00\x56\x00\x18\x00\x58\x00\x59\x00\x25\x00\x5b\x00\x5c\x00\x19\x00\x1f\x00\x20\x00\x21\x00\x19\x00\x23\x00\x24\x00\x21\x00\x18\x00\x81\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x88\x00\x32\x00\x21\x00\x2a\x00\x71\x00\x1e\x00\x73\x00\x2a\x00\x75\x00\x76\x00\x92\x00\x93\x00\x94\x00\x51\x00\x28\x00\x27\x00\x41\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x18\x00\x1d\x00\x3d\x00\x2d\x00\x2e\x00\x2f\x00\x21\x00\x8b\x00\x8c\x00\x19\x00\x4f\x00\x92\x00\x93\x00\x18\x00\x13\x00\x38\x00\x22\x00\x56\x00\x18\x00\x58\x00\x59\x00\x1d\x00\x5b\x00\x5c\x00\x22\x00\x1f\x00\x20\x00\x21\x00\x1c\x00\x23\x00\x24\x00\x2e\x00\x2f\x00\x81\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x27\x00\x32\x00\x27\x00\x27\x00\x71\x00\x75\x00\x73\x00\x27\x00\x75\x00\x76\x00\x92\x00\x93\x00\x3b\x00\x02\x00\x22\x00\x24\x00\x19\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x24\x00\x2f\x00\x25\x00\x2c\x00\x1d\x00\x51\x00\x22\x00\x8b\x00\x8c\x00\x26\x00\x4f\x00\x92\x00\x93\x00\x22\x00\x22\x00\x1c\x00\x28\x00\x56\x00\x18\x00\x58\x00\x59\x00\x1e\x00\x5b\x00\x5c\x00\x81\x00\x1f\x00\x20\x00\x21\x00\x1d\x00\x23\x00\x24\x00\x51\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x28\x00\x32\x00\x38\x00\x92\x00\x93\x00\x22\x00\x71\x00\x75\x00\x73\x00\x19\x00\x75\x00\x76\x00\x32\x00\x81\x00\x42\x00\x1d\x00\x24\x00\x51\x00\x18\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x28\x00\x19\x00\x28\x00\x19\x00\x19\x00\x92\x00\x93\x00\x8b\x00\x8c\x00\x19\x00\x4f\x00\x92\x00\x93\x00\x1b\x00\x06\x00\x07\x00\x22\x00\x56\x00\x21\x00\x58\x00\x59\x00\x51\x00\x5b\x00\x5c\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x25\x00\x32\x00\x33\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x1d\x00\x32\x00\x1e\x00\x2b\x00\x75\x00\x71\x00\x25\x00\x73\x00\x1c\x00\x75\x00\x76\x00\x1d\x00\x2d\x00\x2e\x00\x2f\x00\x2a\x00\x81\x00\x30\x00\x31\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x1d\x00\x4d\x00\x2a\x00\x42\x00\x19\x00\x3e\x00\x24\x00\x8b\x00\x8c\x00\x92\x00\x93\x00\x5d\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x1d\x00\x32\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x28\x00\x32\x00\x24\x00\x27\x00\x24\x00\x1d\x00\x0a\x00\x19\x00\x19\x00\x75\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x19\x00\x32\x00\x75\x00\x19\x00\x19\x00\x81\x00\x19\x00\x21\x00\x19\x00\x85\x00\x22\x00\x06\x00\x88\x00\x08\x00\x81\x00\x1b\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x18\x00\x92\x00\x93\x00\x33\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x81\x00\x92\x00\x93\x00\x33\x00\x2d\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x1d\x00\x52\x00\x25\x00\x4a\x00\x75\x00\x27\x00\x2f\x00\x92\x00\x93\x00\x2d\x00\x2e\x00\x2f\x00\x75\x00\x30\x00\x31\x00\x04\x00\x81\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x1d\x00\x1d\x00\x81\x00\x2e\x00\x2f\x00\x1c\x00\x75\x00\x22\x00\x2d\x00\x2e\x00\x2f\x00\x92\x00\x93\x00\x32\x00\x1c\x00\x1e\x00\x53\x00\x13\x00\x81\x00\x92\x00\x93\x00\x3a\x00\x3b\x00\x3c\x00\x17\x00\x3e\x00\x48\x00\xff\xff\x75\x00\x2d\x00\x2e\x00\x2f\x00\x06\x00\x2e\x00\x2f\x00\x92\x00\x93\x00\x75\x00\x2e\x00\x2f\x00\x81\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\xff\xff\x3e\x00\x75\x00\xff\xff\x81\x00\xff\xff\x19\x00\xff\xff\x06\x00\x07\x00\x08\x00\x09\x00\x92\x00\x93\x00\x81\x00\x22\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x75\x00\x2c\x00\x81\x00\xff\xff\xff\xff\x30\x00\x31\x00\x92\x00\x93\x00\xff\xff\x74\x00\xff\xff\x81\x00\xff\xff\x24\x00\x25\x00\xff\xff\x81\x00\xff\xff\x92\x00\x93\x00\xff\xff\xff\xff\x81\x00\xff\xff\x83\x00\x30\x00\x31\x00\xff\xff\x92\x00\x93\x00\x74\x00\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\xff\xff\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\xff\xff\x81\x00\xff\xff\x83\x00\x81\x00\xff\xff\xff\xff\xff\xff\xff\xff\x81\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x92\x00\x93\x00\xff\xff\xff\xff\xff\xff\x92\x00\x93\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\xff\xff\x78\x00\x20\x00\xff\xff\x7b\x00\x23\x00\x7d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x84\x00\x85\x00\x86\x00\x2e\x00\x88\x00\x30\x00\x8a\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\xff\xff\x49\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\xff\xff\x78\x00\x20\x00\xff\xff\x7b\x00\x23\x00\x7d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x84\x00\x85\x00\x86\x00\x2e\x00\x88\x00\x30\x00\x8a\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\xff\xff\x49\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\x1e\x00\x78\x00\x20\x00\xff\xff\x7b\x00\x23\x00\x7d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x84\x00\x85\x00\x86\x00\x2e\x00\x88\x00\x30\x00\x8a\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\xff\xff\xff\xff\xff\xff\xff\xff\x46\x00\xff\xff\xff\xff\x49\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\xff\xff\x78\x00\x20\x00\xff\xff\x7b\x00\x23\x00\x7d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x84\x00\x85\x00\x86\x00\x2e\x00\x88\x00\x30\x00\x8a\x00\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x78\x00\x1a\x00\xff\xff\x7b\x00\xff\xff\x7d\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x84\x00\x85\x00\x86\x00\xff\xff\x88\x00\xff\xff\x8a\x00\xff\xff\x8c\x00\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\x01\x00\x39\x00\x3a\x00\x04\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x18\x00\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x18\x00\x34\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x20\x00\x3c\x00\x3d\x00\x23\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x18\x00\x34\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x20\x00\x3c\x00\x3d\x00\x23\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\xff\xff\x08\x00\x2e\x00\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x19\x00\x3f\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x22\x00\xff\xff\xff\xff\x25\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x2c\x00\x52\x00\xff\xff\xff\xff\x30\x00\x31\x00\x18\x00\x19\x00\x1a\x00\xff\xff\x06\x00\x07\x00\x08\x00\x09\x00\x20\x00\xff\xff\x22\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x19\x00\x30\x00\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\x3a\x00\x25\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x06\x00\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\xff\xff\x34\x00\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x01\x00\x3f\x00\xff\xff\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x14\x00\x52\x00\x24\x00\x25\x00\x18\x00\x27\x00\x1a\x00\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\x20\x00\xff\xff\x30\x00\x31\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x01\x00\xff\xff\x3f\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\x01\x00\x3f\x00\xff\xff\x04\x00\x05\x00\x06\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x14\x00\x52\x00\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x20\x00\x75\x00\x76\x00\xff\xff\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x30\x00\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\x8b\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x01\x00\xff\xff\x3f\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x13\x00\xff\xff\x15\x00\x16\x00\x20\x00\x18\x00\xff\xff\xff\xff\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x32\x00\x3c\x00\x34\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x48\x00\x52\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x01\x00\x52\x00\xff\xff\x04\x00\x05\x00\xff\xff\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x71\x00\x34\x00\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\x18\x00\x3f\x00\x1a\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\x8b\x00\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x01\x00\x3f\x00\xff\xff\x04\x00\x05\x00\xff\xff\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x26\x00\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\x18\x00\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\x32\x00\x18\x00\x34\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x20\x00\x3c\x00\x4b\x00\x4c\x00\x3f\x00\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x18\x00\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\x32\x00\x18\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x20\x00\x3c\x00\x4b\x00\x4c\x00\x3f\x00\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x20\x00\x04\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x26\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x32\x00\x50\x00\x34\x00\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x18\x00\x3f\x00\x1a\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x18\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x20\x00\x3c\x00\xff\xff\x01\x00\x3f\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x01\x00\x3f\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\x32\x00\x18\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x01\x00\x3f\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x01\x00\x3f\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x32\x00\x18\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\x3a\x00\x04\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x3a\x00\x50\x00\x3c\x00\x52\x00\x01\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x18\x00\x3f\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\x4e\x00\x4f\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x56\x00\xff\xff\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\x56\x00\xff\xff\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\x56\x00\xff\xff\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\x6d\x00\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\x6d\x00\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\x6d\x00\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\x6d\x00\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\x71\x00\x5e\x00\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\x56\x00\xff\xff\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\x71\x00\x6b\x00\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x8b\x00\xff\xff\xff\xff\x56\x00\xff\xff\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\x56\x00\xff\xff\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\x67\x00\xff\xff\xff\xff\x71\x00\x6b\x00\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x8b\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\x8b\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\x5b\x00\x5c\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8b\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8b\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#++happyTable :: HappyAddr+happyTable = HappyA# "\x00\x00\x06\x00\x02\x00\x07\x00\x02\x00\x25\x02\xd0\x01\xc5\x01\xc6\x01\xd6\x01\xa0\x00\xc5\x01\xc6\x01\x47\x02\x19\x02\x1a\x02\x26\x01\x0a\x01\x5e\x00\x5f\x00\xc4\x01\x49\x01\xc5\x01\xc6\x01\xe9\x01\x26\x02\xd4\x01\x58\x00\x11\x01\xd3\x01\xd4\x01\xed\x00\x12\x02\x05\x00\x4e\x01\xe1\x01\x63\x00\x06\x00\x53\x02\x41\x02\xf6\x01\xa6\x00\x6e\x00\x0a\x00\xed\x00\xc7\x01\x77\x01\x98\x00\xa6\x00\xc7\x01\xb7\x00\x98\x00\x78\x01\xed\x00\xec\x01\x70\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xc7\x01\x33\x02\x7b\xfe\x7b\xfe\x57\x00\x18\x02\x19\x02\x1a\x02\x8f\x01\x91\x00\xcf\x00\x93\x00\x89\x01\xb4\x00\xe2\x01\x4f\x01\x64\x02\x55\x02\x1a\x02\xc0\x01\x72\x01\xb9\x00\x82\x01\xf7\x01\x57\x00\x40\x01\xf8\xff\x27\x02\x28\x02\x71\x00\x90\x02\x74\x02\xba\x00\xbb\x00\xee\x00\x58\x00\x0f\x02\xa8\x01\x7b\x02\xe8\x01\x95\x01\x63\x00\xe7\x01\xe8\x01\xaa\x00\xab\x00\xac\x00\x6b\x02\x1b\x02\x7a\x01\x7d\x02\x13\x02\x22\x02\xc8\x01\x4d\x02\x58\x00\x4a\x01\xc8\x01\x64\x00\x65\x00\x59\x00\x4b\x01\xc5\x00\x20\x00\x6b\x01\x1e\x00\x1f\x00\x20\x00\xc8\x01\x1e\x00\x1f\x00\x20\x00\xea\x01\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x63\x00\x1c\x02\xef\x00\x1e\x00\x1f\x00\x20\x00\x08\x00\x64\x00\x6f\x00\x08\x00\xc9\x01\x64\x00\xca\x01\xcb\x01\xc9\x01\xef\x00\xca\x01\xcb\x01\x07\x01\x03\x00\x4e\x02\x03\x00\x64\x00\x1b\x02\xef\x00\xc9\x01\xc1\x01\xca\x01\xcb\x01\xc9\x01\x0a\x00\xca\x01\xcb\x01\xc9\x01\x1b\x02\xca\x01\xcb\x01\xc5\x00\x20\x00\x4a\x01\x0b\x00\x0c\x00\x56\x02\x57\x02\x75\x02\x84\x01\xc1\x01\x35\x01\xc5\x00\x20\x00\xc1\x01\x0d\x00\x29\x02\x1c\x02\x2a\x02\x0e\x00\x0f\x00\x1d\x00\x34\x01\x10\x00\x11\x00\x4f\x02\x12\x00\x13\x00\x1c\x02\x32\x01\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x29\x02\xa6\x00\x2a\x02\x57\x00\x51\x02\x1d\x00\x06\x01\x8f\x02\x6c\x01\xb4\x01\xb5\x01\x6d\x01\x1d\x01\x6e\x01\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xe2\x01\x95\x01\xb1\x01\x6f\x01\x63\x00\x7b\xfe\x70\x01\xfe\x01\x3c\x01\x4f\x00\x91\x02\x5f\x00\x98\x01\x62\x02\x3d\x01\x58\x00\x14\x00\x67\x00\x68\x00\x0b\x00\x0c\x00\x7e\x02\x27\x01\x15\x00\x6f\x01\x16\x00\x17\x00\x7a\x02\x18\x00\x19\x00\x0d\x00\x63\x00\x3e\x01\x63\x00\x0e\x00\x0f\x00\x7b\x02\xe7\x01\x10\x00\x11\x00\x51\x02\x12\x00\x13\x00\x92\x02\x58\x02\xa6\x00\x59\x02\x64\x02\x5f\x00\x07\x01\x1a\x00\x07\x01\x1b\x00\x0e\x02\x1c\x00\x1d\x00\x4e\xff\x46\x01\xc5\x00\x20\x00\x77\x02\x3b\x02\x65\x02\x63\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x63\x00\x47\x01\x5c\x00\x0a\x01\x5e\x00\x5f\x00\x55\x02\x23\x00\x24\x00\x48\x01\xb2\x01\x20\x00\x07\x01\x67\x00\x68\x00\x47\x02\x14\x00\xc1\x00\x07\x01\xb2\x01\x20\x00\xb2\x01\x20\x00\x15\x00\x63\x00\x16\x00\x17\x00\x0d\x00\x18\x00\x19\x00\x10\x02\xc2\x00\x0f\x00\x80\x02\x15\x02\x10\x00\x11\x00\x20\x02\x12\x00\x13\x00\x5f\x02\x64\x00\x65\x00\x58\x02\x32\x02\x59\x02\x18\x01\x5f\x00\xc4\x00\xe0\x00\x1a\x00\x4a\x01\x1b\x00\x33\x02\x1c\x00\x1d\x00\x82\x02\xc5\x00\x20\x00\x23\x02\x3b\x02\x63\x00\xc5\x00\x20\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xc8\x00\x1f\x00\x20\x00\xc9\x00\x22\x00\x46\x02\x62\x00\x23\x00\x24\x00\x64\x00\x65\x00\xfe\x01\x7d\x01\x14\x00\x47\x02\xff\x01\x5e\x00\x5f\x00\x63\x00\x4a\x01\x15\x00\x0d\x00\x16\x00\x17\x00\x11\x02\x18\x00\x19\x00\xe6\x00\x55\x01\x56\x01\x57\x01\xd9\x01\x12\x00\x13\x00\xe4\x00\x64\x00\x65\x00\x0e\x01\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x0f\x01\x81\x02\x61\x00\x10\x01\xeb\x00\x1a\x00\x95\xff\x1b\x00\xec\x00\x1c\x00\x1d\x00\x95\xff\xed\x00\x1e\x00\x1f\x00\x20\x00\xd1\x01\xad\x00\x63\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x4a\x02\x19\x01\x74\x01\xdd\x01\x58\x01\x59\x01\x75\x01\x23\x00\x24\x00\x4b\x02\x14\x00\x64\x00\x65\x00\x86\x01\x22\x02\x87\x01\x23\x02\x15\x00\x0d\x00\x16\x00\x17\x00\x11\x01\x18\x00\x19\x00\x05\x00\x5c\x01\x56\x01\x57\x01\x06\x00\x12\x00\x13\x00\x7c\x01\x7d\x01\x63\x00\xb7\x00\x7e\x01\x5e\x00\x5f\x00\x2f\x01\x48\x02\x80\x01\x86\x02\x74\x02\xe5\x01\x1a\x00\x62\x00\x1b\x00\xe0\x00\x5a\x01\x1d\x00\x64\x00\x65\x00\x7f\x02\x74\x02\x73\x02\x74\x02\xef\x01\x63\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xdf\x00\x12\x01\xb9\x00\xf1\x01\x5d\x01\x59\x01\xe3\x00\x23\x00\x24\x00\xe0\x00\x14\x00\x64\x00\x65\x00\xba\x00\xbb\x00\xe4\x00\x0c\x02\x15\x00\x0d\x02\x16\x00\x17\x00\x0d\x00\x18\x00\x19\x00\x51\x02\xc3\x00\x0f\x00\x8d\x02\xf2\x01\x10\x00\x11\x00\x4a\x01\x12\x00\x13\x00\x7c\x01\x7d\x01\xd8\x01\xf5\x01\x7e\x01\x5e\x00\x5f\x00\x96\x01\x03\x02\x80\x01\x1a\x00\x8a\x01\x1b\x00\xbd\x00\x5a\x01\x1d\x00\xd0\x00\xd1\x00\x8a\x02\x91\x00\xd2\x00\x93\x00\x63\x00\xb4\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x98\x01\x4a\x01\x9c\x01\x1e\x00\x1f\x00\x20\x00\x75\x02\x23\x00\x24\x00\xa9\x01\x64\x00\x65\x00\x4a\x01\x14\x00\x4a\x01\x8a\x00\x02\x01\x75\x02\xac\x01\x75\x02\x15\x00\x03\x01\x16\x00\x17\x00\x0d\x00\x18\x00\x19\x00\x51\x02\x85\x00\x0f\x00\x87\x02\x51\x02\x10\x00\x11\x00\x85\x02\x12\x00\x13\x00\x7c\x01\x7d\x01\xde\x01\xdf\x01\x7e\x01\x5e\x00\x5f\x00\x98\x01\x15\x02\x80\x01\x1a\x00\xb9\x01\x1b\x00\x60\x02\x1c\x00\x1d\x00\x82\x01\x30\x02\x90\x00\x91\x00\xbb\x01\x93\x00\x63\x00\xb4\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xd8\x00\x1f\x00\x20\x00\xc9\x00\x22\x00\xe8\x00\xe9\x00\x23\x00\x24\x00\x51\x02\x64\x00\x65\x00\x52\x02\x14\x00\x12\x01\xb7\x00\x98\x00\x99\x00\x9a\x00\xce\x00\x15\x00\xcf\x00\x16\x00\x17\x00\x0d\x00\x18\x00\x19\x00\x51\x02\xbd\x00\x0f\x00\x67\x02\x37\x01\x10\x00\x11\x00\x39\x01\x12\x00\x13\x00\x3a\x01\x01\x02\x7d\x01\xe3\x01\x20\x00\xff\x01\x5e\x00\x5f\x00\xb8\x00\xb9\x00\x1a\x00\xe2\x00\x1b\x00\x3e\x01\x1c\x00\x1d\x00\x8c\x01\x22\x01\x23\x01\xd2\x00\xba\x00\xbb\x00\x63\x00\x3f\x01\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x67\x00\x68\x00\x1e\x00\x1f\x00\x20\x00\x21\x01\x22\x01\x23\x00\x24\x00\x44\x01\x64\x00\x65\x00\x4c\x01\x14\x00\x67\x01\x2b\x01\x0a\x01\x5e\x00\x5f\x00\x75\x01\x15\x00\x0d\x00\x16\x00\x17\x00\xd6\x00\x18\x00\x19\x00\x82\x01\x55\x01\x56\x01\x57\x01\x03\x01\x12\x00\x13\x00\xf7\x00\x7c\x01\x7d\x01\x17\x01\x1e\x01\x7e\x01\x5e\x00\x5f\x00\x54\x00\xc3\x01\x80\x01\x8e\x01\x20\x00\x1a\x00\x8f\x01\x1b\x00\x1f\x01\x1c\x00\x1d\x00\x55\x00\x6c\x01\x6c\x00\x6d\x00\x6d\x01\x73\x00\xfa\x01\x63\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x75\x00\xa6\x00\x6f\x01\xa8\x00\xa9\x00\x70\x01\xbb\x00\x23\x00\x24\x00\x51\x00\x14\x00\x64\x00\x65\x00\x18\x01\x5f\x00\x50\x00\xd6\x01\x15\x00\x0d\x00\x16\x00\x17\x00\xa7\x00\x18\x00\x19\x00\xa7\x00\x5c\x01\x56\x01\x57\x01\x8f\x02\x12\x00\x13\x00\x89\x02\x7c\x01\x7d\x01\x63\x00\x84\x02\x7e\x01\x5e\x00\x5f\x00\x85\x02\x7f\x01\x80\x01\xa7\x00\x29\x00\x1a\x00\x78\x02\x1b\x00\xa7\x00\x1c\x00\x1d\x00\x79\x02\x64\x00\x65\x00\x08\x02\x09\x02\x0a\x02\x5e\x02\x63\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xa9\xfe\xa6\x01\xa7\x01\xa8\x01\xca\x00\xcb\x00\xcc\x00\x23\x00\x24\x00\x62\x02\x14\x00\x64\x00\x65\x00\x18\x01\x5f\x00\xa7\x00\x69\x02\x15\x00\x0d\x00\x16\x00\x17\x00\x6b\x02\x18\x00\x19\x00\xdb\x00\xf4\x01\x56\x01\x57\x01\x30\x02\x12\x00\x13\x00\x85\x00\x45\x02\x63\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x8a\x02\x19\x01\x61\x00\x41\x02\x4c\x02\x1a\x00\x08\x02\x1b\x00\x0c\x02\x1c\x00\x1d\x00\x64\x00\x65\x00\x1a\x01\x7a\x01\x9b\x01\x17\x02\x8b\x02\x63\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x18\x02\x0a\x00\x25\x02\x00\x02\x5e\x00\x5f\x00\x0c\x01\x23\x00\x24\x00\xd8\x01\x14\x00\x64\x00\x65\x00\xd3\x01\xa6\x00\xae\x01\x32\x01\x15\x00\x0d\x00\x16\x00\x17\x00\xec\x01\x18\x00\x19\x00\xef\x01\x99\x01\x56\x01\x57\x01\xf1\x01\x12\x00\x13\x00\x6c\x02\x5f\x00\x63\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x91\x01\xb4\xfe\x61\x00\xb2\xfe\xb3\xfe\x1a\x00\x62\x00\x1b\x00\xe5\x01\x1c\x00\x1d\x00\x64\x00\x65\x00\xf4\x01\x27\x00\x95\x01\xfc\x01\x84\x01\x63\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xfd\x01\x86\x01\x03\x02\x89\x01\xf1\x00\x7a\x01\x91\x01\x23\x00\x24\x00\x94\x01\x14\x00\x64\x00\x65\x00\xe4\x00\x95\x01\x9e\x01\x9b\x01\x15\x00\x0d\x00\x16\x00\x17\x00\x9f\x01\x18\x00\x19\x00\x63\x00\x9c\x01\x56\x01\x57\x01\xae\x00\x12\x00\x13\x00\xab\x01\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xbd\x01\xac\x01\x61\x00\xae\x01\x64\x00\x65\x00\x32\x01\x1a\x00\x62\x00\x1b\x00\xaf\x01\x1c\x00\x1d\x00\xbb\x01\x63\x00\x5f\x01\xbd\x01\xc3\x01\xd0\x01\x25\x01\x63\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x26\x01\x2d\x01\x2a\x01\x2e\x01\x30\x01\x64\x00\x65\x00\x23\x00\x24\x00\x31\x01\x14\x00\x64\x00\x65\x00\x33\x01\xb7\x00\x98\x00\x32\x01\x15\x00\x35\x01\x16\x00\x17\x00\x39\x01\x18\x00\x19\x00\x0e\x01\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x0f\x01\x37\x01\x61\x00\x10\x01\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xf6\x00\xf1\x00\x61\x00\x43\x01\x44\x01\x62\x00\x1a\x00\xb9\x00\x1b\x00\x46\x01\x1c\x00\x1d\x00\x51\x01\x71\x02\x5e\x00\x5f\x00\x4e\x01\x63\x00\xba\x00\xbb\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xae\x00\x55\x01\x64\x01\x5f\x01\x6a\x01\x72\x02\x6b\x01\x23\x00\x24\x00\x64\x00\x65\x00\x11\x01\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x05\x01\xae\x00\x61\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x73\x01\x61\x00\x7b\x01\xc8\x00\x7c\x01\xae\x00\xd8\x00\x9e\xfe\xa0\xfe\x62\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x74\x00\xa1\xfe\x61\x00\x62\x00\xa4\xfe\xda\x00\x63\x00\xdb\x00\xe8\x00\xde\x00\x60\x02\xe7\x00\xb7\x00\x12\x01\x99\x00\x63\x00\xe5\x00\xbe\x01\x5c\x00\x0a\x01\x5e\x00\x5f\x00\xf9\x00\x64\x00\x65\x00\xbf\x01\x0c\x01\x5c\x00\x0a\x01\x5e\x00\x5f\x00\x63\x00\x64\x00\x65\x00\x0d\x01\xad\x00\x2a\x01\x5c\x00\x0a\x01\x5e\x00\x5f\x00\xf1\x00\x05\x01\xb9\x00\xf6\x00\x62\x00\x16\x01\x17\x01\x64\x00\x65\x00\x28\x01\x5e\x00\x5f\x00\x62\x00\xba\x00\xbb\x00\x5b\x00\x63\x00\x09\x01\x5c\x00\x0a\x01\x5e\x00\x5f\x00\x73\x00\xae\x00\x63\x00\x70\x02\x5f\x00\xbf\x00\x62\x00\xbd\x00\x34\x02\x5e\x00\x5f\x00\x64\x00\x65\x00\x35\x02\xc0\x00\xc1\x00\xff\xff\x05\x00\x63\x00\x64\x00\x65\x00\x36\x02\x37\x02\x38\x02\x53\x00\x39\x02\x54\x00\x00\x00\x62\x00\x6d\x02\x5e\x00\x5f\x00\xb7\x00\x5f\x02\x5f\x00\x64\x00\x65\x00\x62\x00\x18\x01\x5f\x00\x63\x00\x00\x00\x6e\x02\x37\x02\x38\x02\x00\x00\x39\x02\x62\x00\x00\x00\x63\x00\x00\x00\x43\x02\x00\x00\xb7\x00\x98\x00\x99\x00\x9a\x00\x64\x00\x65\x00\x63\x00\x9c\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\x64\x00\x65\x00\x00\x00\x62\x00\x44\x02\x63\x00\x00\x00\x00\x00\xba\x00\xbb\x00\x64\x00\x65\x00\x00\x00\x3a\x02\x00\x00\x63\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\x63\x00\x00\x00\x64\x00\x65\x00\x00\x00\x00\x00\x63\x00\x00\x00\x3b\x02\xba\x00\xbb\x00\x00\x00\x64\x00\x65\x00\x6f\x02\x00\x00\x00\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x65\x00\x00\x00\x00\x00\x63\x00\x00\x00\x3b\x02\x63\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x65\x00\x00\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x64\x00\x65\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x90\xfe\x90\xfe\x90\xfe\x90\xfe\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x00\x00\xaf\x00\x37\x00\x00\x00\xb0\x00\x38\x00\xb1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x00\x90\x00\xb3\x00\x39\x00\x93\x00\x3a\x00\xb4\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x90\xfe\x90\xfe\x90\xfe\x48\x00\x00\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x90\xfe\x90\xfe\x90\xfe\x90\xfe\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x00\x00\xaf\x00\x37\x00\x00\x00\xb0\x00\x38\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x00\x90\x00\xb3\x00\x39\x00\x93\x00\x3a\x00\xb4\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x90\xfe\x90\xfe\x90\xfe\x48\x00\x00\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x9b\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x9c\x00\x38\x00\x9d\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x9f\x00\xa0\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\xb1\xff\xaf\x00\x37\x00\x00\x00\xb0\x00\x38\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x00\x90\x00\xb3\x00\x39\x00\x93\x00\x3a\x00\xb4\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x90\xfe\x90\xfe\x90\xfe\x90\xfe\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x5c\x01\x00\x00\x00\x00\xaf\x00\x37\x00\x00\x00\xb0\x00\x38\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x00\x90\x00\xb3\x00\x39\x00\x93\x00\x3a\x00\xb4\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x90\xfe\x90\xfe\x90\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x69\x01\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x85\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x5c\x01\x00\x00\xa1\xff\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\xaf\x00\x35\x00\x00\x00\xb0\x00\x00\x00\xb1\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\xb2\x00\x90\x00\xb3\x00\x00\x00\x93\x00\x00\x00\xb4\x00\x00\x00\xb5\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x26\x00\x41\x00\x42\x00\x29\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x5b\x02\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x34\x00\x3d\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x37\x00\x43\x00\x44\x00\x38\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x01\x00\x00\x39\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x34\x00\x3d\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x37\x00\x43\x00\x44\x00\x38\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x99\x00\x39\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x14\x01\x46\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\xb7\x00\x98\x00\x9c\x00\x00\x00\x00\x00\xb9\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x15\x01\x4f\x00\x00\x00\x00\x00\xba\x00\xbb\x00\x69\x00\x14\x01\x6a\x00\x00\x00\xb7\x00\x98\x00\x99\x00\x9a\x00\x6b\x00\x00\x00\x9c\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x01\x00\x00\x00\x00\x9b\x00\xba\x00\xbb\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x42\x00\xb9\x00\x43\x00\x6c\x00\x00\x00\x46\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\xb7\x00\xba\x00\xbb\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x14\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x9c\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x01\x00\x00\x00\x00\x00\x00\xba\x00\xbb\x00\x3b\x00\x00\x00\x3d\x00\xb7\x00\x98\x00\x99\x00\x9a\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6c\x00\x26\x00\x46\x00\x00\x00\x67\x00\x68\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\xa7\x00\x4f\x00\xb8\x00\xb9\x00\x69\x00\xe2\x00\x6a\x00\x00\x00\x00\x00\xe2\xfe\x00\x00\x00\x00\x6b\x00\x00\x00\xba\x00\xbb\x00\x1c\x01\xb9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\xff\xba\x00\xbb\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x26\x00\x00\x00\x46\x00\x67\x00\x68\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x1c\x01\xb9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x01\x00\x00\x00\x00\x6b\xff\xba\x00\xbb\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x26\x00\x46\x00\x00\x00\x67\x00\x68\x00\xb7\x00\x52\x01\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\xa7\x00\x4f\x00\x00\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x6b\x00\x1c\x00\x1d\x00\x00\x00\x1c\x01\xb9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xba\x00\xbb\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x26\x00\x00\x00\x46\x00\x67\x00\x68\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x28\x00\x67\x00\x68\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\xa6\x00\x00\x00\xa8\x00\xa9\x00\x6b\x00\xcd\x01\x00\x00\x00\x00\x1c\x01\xb9\x00\x00\x00\x00\x00\x00\x00\xce\x01\x00\x00\x00\x00\x1d\x01\x00\x00\x00\x00\x00\x00\xba\x00\xbb\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x3b\x00\x43\x00\x3d\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\xcf\x01\x4f\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x26\x00\x4f\x00\x00\x00\x67\x00\x68\x00\x00\x00\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x7f\x00\x00\x00\x18\x00\x19\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x53\xff\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x6b\xff\x00\x00\x6a\x02\x3b\x00\x1a\x00\x3d\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x69\x00\x46\x00\x6a\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x23\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8d\x02\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6c\x00\x26\x00\x46\x00\x00\x00\x67\x00\x68\x00\x00\x00\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x53\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x6a\x02\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x00\x00\x2c\x02\x2d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x02\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x2f\x02\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6c\x00\x00\x00\x46\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x0c\x01\x4a\x00\x4b\x00\x00\x00\x4c\x00\x09\x01\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x3b\x00\x69\x00\x3d\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x6b\x00\x43\x00\x4a\x00\x4b\x00\x46\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x00\x00\x3d\x02\x68\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6c\x00\x00\x00\x46\x00\x00\x00\x3e\x02\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x3f\x02\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x3f\x02\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x09\x01\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x67\x02\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x3b\x00\x2c\x02\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x2e\x02\x43\x00\x4a\x00\x4b\x00\x46\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x00\x00\x3d\x02\x68\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x3e\x02\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x3f\x02\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x82\x01\x00\x00\x46\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x82\x01\x00\x00\x46\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x82\x01\x00\x00\x46\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x6b\x00\x29\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x5b\x02\x5c\x02\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x5d\x02\x26\x00\x00\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x3b\x00\x4e\x00\x3d\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x69\x00\x46\x00\x6a\x00\x00\x00\x26\x00\x00\x00\x00\x00\x1e\x02\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x1f\x02\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x20\x02\x43\x00\x00\x00\x26\x00\x46\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x26\x00\x46\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x3b\x00\xd4\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x00\x42\x00\x00\x00\x43\x00\x44\x00\x26\x00\x46\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x26\x00\x46\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x3b\x00\xd4\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x01\x00\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x42\x00\x29\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\xee\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x42\x00\x4e\x00\x43\x00\x4f\x00\x26\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x01\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\xb4\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\xc7\x00\x46\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x01\x4b\x00\x00\x00\xb8\x01\x00\x00\xb9\x01\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\xda\x01\xdb\x01\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x15\x00\x00\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x01\xdb\x01\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x15\x00\x00\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x02\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x15\x00\x00\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x88\x00\x77\x00\x78\x00\x89\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x8a\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x8e\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x23\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x02\x60\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x01\x60\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\x60\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\xaf\x01\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x41\x01\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x01\x60\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\xfd\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\xf2\x00\xf3\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x81\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x1a\x00\x66\x01\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x86\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x4c\x02\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x02\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x05\x02\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x02\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8d\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x95\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xa0\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x61\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x64\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf1\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\xdb\x00\x78\x00\xdc\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\xa1\x01\x00\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x01\xa3\x01\x00\x00\x00\x00\x1a\x00\xa4\x01\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x00\x00\x00\x00\xa1\x01\x00\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\xa1\x01\x00\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\xa5\x01\xa3\x01\x00\x00\x00\x00\x00\x00\xa4\x01\x00\x00\x00\x00\x0d\x02\x00\x00\x00\x00\x1a\x00\xa4\x01\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x51\x01\xcf\x00\x17\x00\x00\x00\x18\x00\x19\x00\x23\x00\xcf\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\xd5\x00\x19\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\xae\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyReduceArr = array (1, 389) [+	(1 , happyReduce_1),+	(2 , happyReduce_2),+	(3 , happyReduce_3),+	(4 , happyReduce_4),+	(5 , happyReduce_5),+	(6 , happyReduce_6),+	(7 , happyReduce_7),+	(8 , happyReduce_8),+	(9 , happyReduce_9),+	(10 , happyReduce_10),+	(11 , happyReduce_11),+	(12 , happyReduce_12),+	(13 , happyReduce_13),+	(14 , happyReduce_14),+	(15 , happyReduce_15),+	(16 , happyReduce_16),+	(17 , happyReduce_17),+	(18 , happyReduce_18),+	(19 , happyReduce_19),+	(20 , happyReduce_20),+	(21 , happyReduce_21),+	(22 , happyReduce_22),+	(23 , happyReduce_23),+	(24 , happyReduce_24),+	(25 , happyReduce_25),+	(26 , happyReduce_26),+	(27 , happyReduce_27),+	(28 , happyReduce_28),+	(29 , happyReduce_29),+	(30 , happyReduce_30),+	(31 , happyReduce_31),+	(32 , happyReduce_32),+	(33 , happyReduce_33),+	(34 , happyReduce_34),+	(35 , happyReduce_35),+	(36 , happyReduce_36),+	(37 , happyReduce_37),+	(38 , happyReduce_38),+	(39 , happyReduce_39),+	(40 , happyReduce_40),+	(41 , happyReduce_41),+	(42 , happyReduce_42),+	(43 , happyReduce_43),+	(44 , happyReduce_44),+	(45 , happyReduce_45),+	(46 , happyReduce_46),+	(47 , happyReduce_47),+	(48 , happyReduce_48),+	(49 , happyReduce_49),+	(50 , happyReduce_50),+	(51 , happyReduce_51),+	(52 , happyReduce_52),+	(53 , happyReduce_53),+	(54 , happyReduce_54),+	(55 , happyReduce_55),+	(56 , happyReduce_56),+	(57 , happyReduce_57),+	(58 , happyReduce_58),+	(59 , happyReduce_59),+	(60 , happyReduce_60),+	(61 , happyReduce_61),+	(62 , happyReduce_62),+	(63 , happyReduce_63),+	(64 , happyReduce_64),+	(65 , happyReduce_65),+	(66 , happyReduce_66),+	(67 , happyReduce_67),+	(68 , happyReduce_68),+	(69 , happyReduce_69),+	(70 , happyReduce_70),+	(71 , happyReduce_71),+	(72 , happyReduce_72),+	(73 , happyReduce_73),+	(74 , happyReduce_74),+	(75 , happyReduce_75),+	(76 , happyReduce_76),+	(77 , happyReduce_77),+	(78 , happyReduce_78),+	(79 , happyReduce_79),+	(80 , happyReduce_80),+	(81 , happyReduce_81),+	(82 , happyReduce_82),+	(83 , happyReduce_83),+	(84 , happyReduce_84),+	(85 , happyReduce_85),+	(86 , happyReduce_86),+	(87 , happyReduce_87),+	(88 , happyReduce_88),+	(89 , happyReduce_89),+	(90 , happyReduce_90),+	(91 , happyReduce_91),+	(92 , happyReduce_92),+	(93 , happyReduce_93),+	(94 , happyReduce_94),+	(95 , happyReduce_95),+	(96 , happyReduce_96),+	(97 , happyReduce_97),+	(98 , happyReduce_98),+	(99 , happyReduce_99),+	(100 , happyReduce_100),+	(101 , happyReduce_101),+	(102 , happyReduce_102),+	(103 , happyReduce_103),+	(104 , happyReduce_104),+	(105 , happyReduce_105),+	(106 , happyReduce_106),+	(107 , happyReduce_107),+	(108 , happyReduce_108),+	(109 , happyReduce_109),+	(110 , happyReduce_110),+	(111 , happyReduce_111),+	(112 , happyReduce_112),+	(113 , happyReduce_113),+	(114 , happyReduce_114),+	(115 , happyReduce_115),+	(116 , happyReduce_116),+	(117 , happyReduce_117),+	(118 , happyReduce_118),+	(119 , happyReduce_119),+	(120 , happyReduce_120),+	(121 , happyReduce_121),+	(122 , happyReduce_122),+	(123 , happyReduce_123),+	(124 , happyReduce_124),+	(125 , happyReduce_125),+	(126 , happyReduce_126),+	(127 , happyReduce_127),+	(128 , happyReduce_128),+	(129 , happyReduce_129),+	(130 , happyReduce_130),+	(131 , happyReduce_131),+	(132 , happyReduce_132),+	(133 , happyReduce_133),+	(134 , happyReduce_134),+	(135 , happyReduce_135),+	(136 , happyReduce_136),+	(137 , happyReduce_137),+	(138 , happyReduce_138),+	(139 , happyReduce_139),+	(140 , happyReduce_140),+	(141 , happyReduce_141),+	(142 , happyReduce_142),+	(143 , happyReduce_143),+	(144 , happyReduce_144),+	(145 , happyReduce_145),+	(146 , happyReduce_146),+	(147 , happyReduce_147),+	(148 , happyReduce_148),+	(149 , happyReduce_149),+	(150 , happyReduce_150),+	(151 , happyReduce_151),+	(152 , happyReduce_152),+	(153 , happyReduce_153),+	(154 , happyReduce_154),+	(155 , happyReduce_155),+	(156 , happyReduce_156),+	(157 , happyReduce_157),+	(158 , happyReduce_158),+	(159 , happyReduce_159),+	(160 , happyReduce_160),+	(161 , happyReduce_161),+	(162 , happyReduce_162),+	(163 , happyReduce_163),+	(164 , happyReduce_164),+	(165 , happyReduce_165),+	(166 , happyReduce_166),+	(167 , happyReduce_167),+	(168 , happyReduce_168),+	(169 , happyReduce_169),+	(170 , happyReduce_170),+	(171 , happyReduce_171),+	(172 , happyReduce_172),+	(173 , happyReduce_173),+	(174 , happyReduce_174),+	(175 , happyReduce_175),+	(176 , happyReduce_176),+	(177 , happyReduce_177),+	(178 , happyReduce_178),+	(179 , happyReduce_179),+	(180 , happyReduce_180),+	(181 , happyReduce_181),+	(182 , happyReduce_182),+	(183 , happyReduce_183),+	(184 , happyReduce_184),+	(185 , happyReduce_185),+	(186 , happyReduce_186),+	(187 , happyReduce_187),+	(188 , happyReduce_188),+	(189 , happyReduce_189),+	(190 , happyReduce_190),+	(191 , happyReduce_191),+	(192 , happyReduce_192),+	(193 , happyReduce_193),+	(194 , happyReduce_194),+	(195 , happyReduce_195),+	(196 , happyReduce_196),+	(197 , happyReduce_197),+	(198 , happyReduce_198),+	(199 , happyReduce_199),+	(200 , happyReduce_200),+	(201 , happyReduce_201),+	(202 , happyReduce_202),+	(203 , happyReduce_203),+	(204 , happyReduce_204),+	(205 , happyReduce_205),+	(206 , happyReduce_206),+	(207 , happyReduce_207),+	(208 , happyReduce_208),+	(209 , happyReduce_209),+	(210 , happyReduce_210),+	(211 , happyReduce_211),+	(212 , happyReduce_212),+	(213 , happyReduce_213),+	(214 , happyReduce_214),+	(215 , happyReduce_215),+	(216 , happyReduce_216),+	(217 , happyReduce_217),+	(218 , happyReduce_218),+	(219 , happyReduce_219),+	(220 , happyReduce_220),+	(221 , happyReduce_221),+	(222 , happyReduce_222),+	(223 , happyReduce_223),+	(224 , happyReduce_224),+	(225 , happyReduce_225),+	(226 , happyReduce_226),+	(227 , happyReduce_227),+	(228 , happyReduce_228),+	(229 , happyReduce_229),+	(230 , happyReduce_230),+	(231 , happyReduce_231),+	(232 , happyReduce_232),+	(233 , happyReduce_233),+	(234 , happyReduce_234),+	(235 , happyReduce_235),+	(236 , happyReduce_236),+	(237 , happyReduce_237),+	(238 , happyReduce_238),+	(239 , happyReduce_239),+	(240 , happyReduce_240),+	(241 , happyReduce_241),+	(242 , happyReduce_242),+	(243 , happyReduce_243),+	(244 , happyReduce_244),+	(245 , happyReduce_245),+	(246 , happyReduce_246),+	(247 , happyReduce_247),+	(248 , happyReduce_248),+	(249 , happyReduce_249),+	(250 , happyReduce_250),+	(251 , happyReduce_251),+	(252 , happyReduce_252),+	(253 , happyReduce_253),+	(254 , happyReduce_254),+	(255 , happyReduce_255),+	(256 , happyReduce_256),+	(257 , happyReduce_257),+	(258 , happyReduce_258),+	(259 , happyReduce_259),+	(260 , happyReduce_260),+	(261 , happyReduce_261),+	(262 , happyReduce_262),+	(263 , happyReduce_263),+	(264 , happyReduce_264),+	(265 , happyReduce_265),+	(266 , happyReduce_266),+	(267 , happyReduce_267),+	(268 , happyReduce_268),+	(269 , happyReduce_269),+	(270 , happyReduce_270),+	(271 , happyReduce_271),+	(272 , happyReduce_272),+	(273 , happyReduce_273),+	(274 , happyReduce_274),+	(275 , happyReduce_275),+	(276 , happyReduce_276),+	(277 , happyReduce_277),+	(278 , happyReduce_278),+	(279 , happyReduce_279),+	(280 , happyReduce_280),+	(281 , happyReduce_281),+	(282 , happyReduce_282),+	(283 , happyReduce_283),+	(284 , happyReduce_284),+	(285 , happyReduce_285),+	(286 , happyReduce_286),+	(287 , happyReduce_287),+	(288 , happyReduce_288),+	(289 , happyReduce_289),+	(290 , happyReduce_290),+	(291 , happyReduce_291),+	(292 , happyReduce_292),+	(293 , happyReduce_293),+	(294 , happyReduce_294),+	(295 , happyReduce_295),+	(296 , happyReduce_296),+	(297 , happyReduce_297),+	(298 , happyReduce_298),+	(299 , happyReduce_299),+	(300 , happyReduce_300),+	(301 , happyReduce_301),+	(302 , happyReduce_302),+	(303 , happyReduce_303),+	(304 , happyReduce_304),+	(305 , happyReduce_305),+	(306 , happyReduce_306),+	(307 , happyReduce_307),+	(308 , happyReduce_308),+	(309 , happyReduce_309),+	(310 , happyReduce_310),+	(311 , happyReduce_311),+	(312 , happyReduce_312),+	(313 , happyReduce_313),+	(314 , happyReduce_314),+	(315 , happyReduce_315),+	(316 , happyReduce_316),+	(317 , happyReduce_317),+	(318 , happyReduce_318),+	(319 , happyReduce_319),+	(320 , happyReduce_320),+	(321 , happyReduce_321),+	(322 , happyReduce_322),+	(323 , happyReduce_323),+	(324 , happyReduce_324),+	(325 , happyReduce_325),+	(326 , happyReduce_326),+	(327 , happyReduce_327),+	(328 , happyReduce_328),+	(329 , happyReduce_329),+	(330 , happyReduce_330),+	(331 , happyReduce_331),+	(332 , happyReduce_332),+	(333 , happyReduce_333),+	(334 , happyReduce_334),+	(335 , happyReduce_335),+	(336 , happyReduce_336),+	(337 , happyReduce_337),+	(338 , happyReduce_338),+	(339 , happyReduce_339),+	(340 , happyReduce_340),+	(341 , happyReduce_341),+	(342 , happyReduce_342),+	(343 , happyReduce_343),+	(344 , happyReduce_344),+	(345 , happyReduce_345),+	(346 , happyReduce_346),+	(347 , happyReduce_347),+	(348 , happyReduce_348),+	(349 , happyReduce_349),+	(350 , happyReduce_350),+	(351 , happyReduce_351),+	(352 , happyReduce_352),+	(353 , happyReduce_353),+	(354 , happyReduce_354),+	(355 , happyReduce_355),+	(356 , happyReduce_356),+	(357 , happyReduce_357),+	(358 , happyReduce_358),+	(359 , happyReduce_359),+	(360 , happyReduce_360),+	(361 , happyReduce_361),+	(362 , happyReduce_362),+	(363 , happyReduce_363),+	(364 , happyReduce_364),+	(365 , happyReduce_365),+	(366 , happyReduce_366),+	(367 , happyReduce_367),+	(368 , happyReduce_368),+	(369 , happyReduce_369),+	(370 , happyReduce_370),+	(371 , happyReduce_371),+	(372 , happyReduce_372),+	(373 , happyReduce_373),+	(374 , happyReduce_374),+	(375 , happyReduce_375),+	(376 , happyReduce_376),+	(377 , happyReduce_377),+	(378 , happyReduce_378),+	(379 , happyReduce_379),+	(380 , happyReduce_380),+	(381 , happyReduce_381),+	(382 , happyReduce_382),+	(383 , happyReduce_383),+	(384 , happyReduce_384),+	(385 , happyReduce_385),+	(386 , happyReduce_386),+	(387 , happyReduce_387),+	(388 , happyReduce_388),+	(389 , happyReduce_389)+	]++happy_n_terms = 84 :: Int+happy_n_nonterms = 156 :: Int++happyReduce_1 = happyReduce 7# 0# happyReduction_1+happyReduction_1 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut5 happy_x_1 of { happy_var_1 -> +	case happyOut144 happy_x_3 of { happy_var_3 -> +	case happyOut147 happy_x_4 of { happy_var_4 -> +	case happyOut9 happy_x_5 of { happy_var_5 -> +	case happyOut6 happy_x_7 of { happy_var_7 -> +	happyIn4+		 (case happy_var_1 of { (opts,info,doc) ->+	      HsModule happy_var_3 happy_var_4 happy_var_5 (reverse (fst happy_var_7)) (snd happy_var_7)+		opts info doc }+	) `HappyStk` happyRest}}}}}++happyReduce_2 = happySpecReduce_2  0# happyReduction_2+happyReduction_2 happy_x_2+	happy_x_1+	 =  case happyOut6 happy_x_1 of { happy_var_1 -> +	case happyOut144 happy_x_2 of { happy_var_2 -> +	happyIn4+		 (HsModule happy_var_2 main_mod Nothing (reverse (fst happy_var_1)) (snd happy_var_1)+		Nothing emptyModuleInfo Nothing+	)}}++happyReduce_3 = happySpecReduce_1  1# happyReduction_3+happyReduction_3 happy_x_1+	 =  case happyOut159 happy_x_1 of { happy_var_1 -> +	happyIn5+		 ((Nothing, fst happy_var_1, snd happy_var_1)+	)}++happyReduce_4 = happySpecReduce_1  1# happyReduction_4+happyReduction_4 happy_x_1+	 =  case happyOutTok happy_x_1 of { (DocOptions happy_var_1) -> +	happyIn5+		 ((Just happy_var_1, emptyModuleInfo,Nothing)+	)}++happyReduce_5 = happySpecReduce_2  1# happyReduction_5+happyReduction_5 happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_1 of { (DocOptions happy_var_1) -> +	case happyOut159 happy_x_2 of { happy_var_2 -> +	happyIn5+		 ((Just happy_var_1, fst happy_var_2, snd happy_var_2)+	)}}++happyReduce_6 = happySpecReduce_2  1# happyReduction_6+happyReduction_6 happy_x_2+	happy_x_1+	 =  case happyOut159 happy_x_1 of { happy_var_1 -> +	case happyOutTok happy_x_2 of { (DocOptions happy_var_2) -> +	happyIn5+		 ((Just happy_var_2, fst happy_var_1, snd happy_var_1)+	)}}++happyReduce_7 = happySpecReduce_0  1# happyReduction_7+happyReduction_7  =  happyIn5+		 ((Nothing, emptyModuleInfo,Nothing)+	)++happyReduce_8 = happySpecReduce_3  2# happyReduction_8+happyReduction_8 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut7 happy_x_2 of { happy_var_2 -> +	happyIn6+		 (happy_var_2+	)}++happyReduce_9 = happySpecReduce_3  2# happyReduction_9+happyReduction_9 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut7 happy_x_2 of { happy_var_2 -> +	happyIn6+		 (happy_var_2+	)}++happyReduce_10 = happySpecReduce_3  3# happyReduction_10+happyReduction_10 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut17 happy_x_1 of { happy_var_1 -> +	case happyOut32 happy_x_3 of { happy_var_3 -> +	happyIn7+		 ((happy_var_1, happy_var_3)+	)}}++happyReduce_11 = happySpecReduce_1  3# happyReduction_11+happyReduction_11 happy_x_1+	 =  case happyOut32 happy_x_1 of { happy_var_1 -> +	happyIn7+		 (([], happy_var_1)+	)}++happyReduce_12 = happySpecReduce_1  3# happyReduction_12+happyReduction_12 happy_x_1+	 =  case happyOut17 happy_x_1 of { happy_var_1 -> +	happyIn7+		 ((happy_var_1, [])+	)}++happyReduce_13 = happySpecReduce_1  4# happyReduction_13+happyReduction_13 happy_x_1+	 =  happyIn8+		 (()+	)++happyReduce_14 = happySpecReduce_0  4# happyReduction_14+happyReduction_14  =  happyIn8+		 (()+	)++happyReduce_15 = happySpecReduce_1  5# happyReduction_15+happyReduction_15 happy_x_1+	 =  case happyOut10 happy_x_1 of { happy_var_1 -> +	happyIn9+		 (Just happy_var_1+	)}++happyReduce_16 = happySpecReduce_0  5# happyReduction_16+happyReduction_16  =  happyIn9+		 (Nothing+	)++happyReduce_17 = happySpecReduce_3  6# happyReduction_17+happyReduction_17 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut11 happy_x_2 of { happy_var_2 -> +	happyIn10+		 (happy_var_2+	)}++happyReduce_18 = happySpecReduce_2  7# happyReduction_18+happyReduction_18 happy_x_2+	happy_x_1+	 =  case happyOut14 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	happyIn11+		 (happy_var_1 : happy_var_2+	)}}++happyReduce_19 = happySpecReduce_2  7# happyReduction_19+happyReduction_19 happy_x_2+	happy_x_1+	 =  case happyOut13 happy_x_1 of { happy_var_1 -> +	case happyOut11 happy_x_2 of { happy_var_2 -> +	happyIn11+		 (happy_var_1 : happy_var_2+	)}}++happyReduce_20 = happySpecReduce_0  7# happyReduction_20+happyReduction_20  =  happyIn11+		 ([]+	)++happyReduce_21 = happySpecReduce_2  8# happyReduction_21+happyReduction_21 happy_x_2+	happy_x_1+	 =  case happyOut13 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	happyIn12+		 (happy_var_1 : happy_var_2+	)}}++happyReduce_22 = happySpecReduce_2  8# happyReduction_22+happyReduction_22 happy_x_2+	happy_x_1+	 =  case happyOut11 happy_x_2 of { happy_var_2 -> +	happyIn12+		 (happy_var_2+	)}++happyReduce_23 = happySpecReduce_0  8# happyReduction_23+happyReduction_23  =  happyIn12+		 ([]+	)++happyReduce_24 = happySpecReduce_1  9# happyReduction_24+happyReduction_24 happy_x_1+	 =  case happyOut156 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (case happy_var_1 of { (i,s) -> HsEGroup i s }+	)}++happyReduce_25 = happySpecReduce_1  9# happyReduction_25+happyReduction_25 happy_x_1+	 =  case happyOut155 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (HsEDocNamed (fst happy_var_1)+	)}++happyReduce_26 = happySpecReduce_1  9# happyReduction_26+happyReduction_26 happy_x_1+	 =  case happyOut153 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (HsEDoc happy_var_1+	)}++happyReduce_27 = happySpecReduce_1  10# happyReduction_27+happyReduction_27 happy_x_1+	 =  case happyOut119 happy_x_1 of { happy_var_1 -> +	happyIn14+		 (HsEVar happy_var_1+	)}++happyReduce_28 = happySpecReduce_1  10# happyReduction_28+happyReduction_28 happy_x_1+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> +	happyIn14+		 (HsEAbs happy_var_1+	)}++happyReduce_29 = happyReduce 4# 10# happyReduction_29+happyReduction_29 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut51 happy_x_1 of { happy_var_1 -> +	happyIn14+		 (HsEThingAll happy_var_1+	) `HappyStk` happyRest}++happyReduce_30 = happySpecReduce_3  10# happyReduction_30+happyReduction_30 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> +	happyIn14+		 (HsEThingWith happy_var_1 []+	)}++happyReduce_31 = happyReduce 4# 10# happyReduction_31+happyReduction_31 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut51 happy_x_1 of { happy_var_1 -> +	case happyOut15 happy_x_3 of { happy_var_3 -> +	happyIn14+		 (HsEThingWith happy_var_1 (reverse happy_var_3)+	) `HappyStk` happyRest}}++happyReduce_32 = happySpecReduce_2  10# happyReduction_32+happyReduction_32 happy_x_2+	happy_x_1+	 =  case happyOut147 happy_x_2 of { happy_var_2 -> +	happyIn14+		 (HsEModuleContents happy_var_2+	)}++happyReduce_33 = happySpecReduce_3  11# happyReduction_33+happyReduction_33 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> +	case happyOut16 happy_x_3 of { happy_var_3 -> +	happyIn15+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_34 = happySpecReduce_1  11# happyReduction_34+happyReduction_34 happy_x_1+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> +	happyIn15+		 ([happy_var_1]+	)}++happyReduce_35 = happySpecReduce_1  12# happyReduction_35+happyReduction_35 happy_x_1+	 =  case happyOut119 happy_x_1 of { happy_var_1 -> +	happyIn16+		 (happy_var_1+	)}++happyReduce_36 = happySpecReduce_1  12# happyReduction_36+happyReduction_36 happy_x_1+	 =  case happyOut117 happy_x_1 of { happy_var_1 -> +	happyIn16+		 (happy_var_1+	)}++happyReduce_37 = happySpecReduce_3  13# happyReduction_37+happyReduction_37 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut17 happy_x_1 of { happy_var_1 -> +	case happyOut18 happy_x_3 of { happy_var_3 -> +	happyIn17+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_38 = happySpecReduce_1  13# happyReduction_38+happyReduction_38 happy_x_1+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> +	happyIn17+		 ([happy_var_1]+	)}++happyReduce_39 = happyReduce 6# 14# happyReduction_39+happyReduction_39 (happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut144 happy_x_2 of { happy_var_2 -> +	case happyOut19 happy_x_3 of { happy_var_3 -> +	case happyOut147 happy_x_4 of { happy_var_4 -> +	case happyOut20 happy_x_5 of { happy_var_5 -> +	case happyOut21 happy_x_6 of { happy_var_6 -> +	happyIn18+		 (HsImportDecl happy_var_2 happy_var_4 happy_var_3 happy_var_5 happy_var_6+	) `HappyStk` happyRest}}}}}++happyReduce_40 = happySpecReduce_1  15# happyReduction_40+happyReduction_40 happy_x_1+	 =  happyIn19+		 (True+	)++happyReduce_41 = happySpecReduce_0  15# happyReduction_41+happyReduction_41  =  happyIn19+		 (False+	)++happyReduce_42 = happySpecReduce_2  16# happyReduction_42+happyReduction_42 happy_x_2+	happy_x_1+	 =  case happyOut147 happy_x_2 of { happy_var_2 -> +	happyIn20+		 (Just happy_var_2+	)}++happyReduce_43 = happySpecReduce_0  16# happyReduction_43+happyReduction_43  =  happyIn20+		 (Nothing+	)++happyReduce_44 = happySpecReduce_1  17# happyReduction_44+happyReduction_44 happy_x_1+	 =  case happyOut22 happy_x_1 of { happy_var_1 -> +	happyIn21+		 (Just happy_var_1+	)}++happyReduce_45 = happySpecReduce_0  17# happyReduction_45+happyReduction_45  =  happyIn21+		 (Nothing+	)++happyReduce_46 = happySpecReduce_3  18# happyReduction_46+happyReduction_46 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut23 happy_x_2 of { happy_var_2 -> +	happyIn22+		 ((False, reverse happy_var_2)+	)}++happyReduce_47 = happyReduce 4# 18# happyReduction_47+happyReduction_47 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut23 happy_x_3 of { happy_var_3 -> +	happyIn22+		 ((True,  reverse happy_var_3)+	) `HappyStk` happyRest}++happyReduce_48 = happySpecReduce_3  19# happyReduction_48+happyReduction_48 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut23 happy_x_1 of { happy_var_1 -> +	case happyOut24 happy_x_3 of { happy_var_3 -> +	happyIn23+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_49 = happySpecReduce_2  19# happyReduction_49+happyReduction_49 happy_x_2+	happy_x_1+	 =  case happyOut23 happy_x_1 of { happy_var_1 -> +	happyIn23+		 (happy_var_1+	)}++happyReduce_50 = happySpecReduce_1  19# happyReduction_50+happyReduction_50 happy_x_1+	 =  case happyOut24 happy_x_1 of { happy_var_1 -> +	happyIn23+		 ([happy_var_1]+	)}++happyReduce_51 = happySpecReduce_0  19# happyReduction_51+happyReduction_51  =  happyIn23+		 ([]+	)++happyReduce_52 = happySpecReduce_1  20# happyReduction_52+happyReduction_52 happy_x_1+	 =  case happyOut118 happy_x_1 of { happy_var_1 -> +	happyIn24+		 (HsIVar happy_var_1+	)}++happyReduce_53 = happySpecReduce_1  20# happyReduction_53+happyReduction_53 happy_x_1+	 =  case happyOut25 happy_x_1 of { happy_var_1 -> +	happyIn24+		 (HsIAbs happy_var_1+	)}++happyReduce_54 = happyReduce 4# 20# happyReduction_54+happyReduction_54 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut25 happy_x_1 of { happy_var_1 -> +	happyIn24+		 (HsIThingAll happy_var_1+	) `HappyStk` happyRest}++happyReduce_55 = happySpecReduce_3  20# happyReduction_55+happyReduction_55 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut25 happy_x_1 of { happy_var_1 -> +	happyIn24+		 (HsIThingWith happy_var_1 []+	)}++happyReduce_56 = happyReduce 4# 20# happyReduction_56+happyReduction_56 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut25 happy_x_1 of { happy_var_1 -> +	case happyOut26 happy_x_3 of { happy_var_3 -> +	happyIn24+		 (HsIThingWith happy_var_1 (reverse happy_var_3)+	) `HappyStk` happyRest}}++happyReduce_57 = happySpecReduce_1  21# happyReduction_57+happyReduction_57 happy_x_1+	 =  case happyOut148 happy_x_1 of { happy_var_1 -> +	happyIn25+		 (happy_var_1+	)}++happyReduce_58 = happySpecReduce_2  21# happyReduction_58+happyReduction_58 happy_x_2+	happy_x_1+	 =  happyIn25+		 (unit_tycon_name+	)++happyReduce_59 = happySpecReduce_3  21# happyReduction_59+happyReduction_59 happy_x_3+	happy_x_2+	happy_x_1+	 =  happyIn25+		 (fun_tycon_name+	)++happyReduce_60 = happySpecReduce_2  21# happyReduction_60+happyReduction_60 happy_x_2+	happy_x_1+	 =  happyIn25+		 (list_tycon_name+	)++happyReduce_61 = happySpecReduce_3  21# happyReduction_61+happyReduction_61 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut97 happy_x_2 of { happy_var_2 -> +	happyIn25+		 (tuple_tycon_name happy_var_2+	)}++happyReduce_62 = happySpecReduce_3  22# happyReduction_62+happyReduction_62 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut26 happy_x_1 of { happy_var_1 -> +	case happyOut27 happy_x_3 of { happy_var_3 -> +	happyIn26+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_63 = happySpecReduce_1  22# happyReduction_63+happyReduction_63 happy_x_1+	 =  case happyOut27 happy_x_1 of { happy_var_1 -> +	happyIn26+		 ([happy_var_1]+	)}++happyReduce_64 = happySpecReduce_1  23# happyReduction_64+happyReduction_64 happy_x_1+	 =  case happyOut118 happy_x_1 of { happy_var_1 -> +	happyIn27+		 (happy_var_1+	)}++happyReduce_65 = happySpecReduce_1  23# happyReduction_65+happyReduction_65 happy_x_1+	 =  case happyOut120 happy_x_1 of { happy_var_1 -> +	happyIn27+		 (happy_var_1+	)}++happyReduce_66 = happyReduce 4# 24# happyReduction_66+happyReduction_66 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut144 happy_x_1 of { happy_var_1 -> +	case happyOut30 happy_x_2 of { happy_var_2 -> +	case happyOut29 happy_x_3 of { happy_var_3 -> +	case happyOut31 happy_x_4 of { happy_var_4 -> +	happyIn28+		 (HsInfixDecl happy_var_1 happy_var_2 happy_var_3 (reverse happy_var_4)+	) `HappyStk` happyRest}}}}++happyReduce_67 = happySpecReduce_0  25# happyReduction_67+happyReduction_67  =  happyIn29+		 (9+	)++happyReduce_68 = happyMonadReduce 1# 25# happyReduction_68+happyReduction_68 (happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOutTok happy_x_1 of { (IntTok happy_var_1) -> +	(  checkPrec happy_var_1 `thenP` \p ->+						    returnP (fromIntegral happy_var_1))}+	) (\r -> happyReturn (happyIn29 r))++happyReduce_69 = happySpecReduce_1  26# happyReduction_69+happyReduction_69 happy_x_1+	 =  happyIn30+		 (HsAssocNone+	)++happyReduce_70 = happySpecReduce_1  26# happyReduction_70+happyReduction_70 happy_x_1+	 =  happyIn30+		 (HsAssocLeft+	)++happyReduce_71 = happySpecReduce_1  26# happyReduction_71+happyReduction_71 happy_x_1+	 =  happyIn30+		 (HsAssocRight+	)++happyReduce_72 = happySpecReduce_3  27# happyReduction_72+happyReduction_72 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut128 happy_x_3 of { happy_var_3 -> +	happyIn31+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_73 = happySpecReduce_1  27# happyReduction_73+happyReduction_73 happy_x_1+	 =  case happyOut128 happy_x_1 of { happy_var_1 -> +	happyIn31+		 ([happy_var_1]+	)}++happyReduce_74 = happySpecReduce_3  28# happyReduction_74+happyReduction_74 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> +	case happyOut32 happy_x_3 of { happy_var_3 -> +	happyIn32+		 (happy_var_1 : happy_var_3+	)}}++happyReduce_75 = happySpecReduce_2  28# happyReduction_75+happyReduction_75 happy_x_2+	happy_x_1+	 =  case happyOut32 happy_x_2 of { happy_var_2 -> +	happyIn32+		 (happy_var_2+	)}++happyReduce_76 = happySpecReduce_2  28# happyReduction_76+happyReduction_76 happy_x_2+	happy_x_1+	 =  case happyOut37 happy_x_1 of { happy_var_1 -> +	case happyOut32 happy_x_2 of { happy_var_2 -> +	happyIn32+		 (happy_var_1 : happy_var_2+	)}}++happyReduce_77 = happySpecReduce_1  28# happyReduction_77+happyReduction_77 happy_x_1+	 =  case happyOut33 happy_x_1 of { happy_var_1 -> +	happyIn32+		 ([happy_var_1]+	)}++happyReduce_78 = happySpecReduce_0  28# happyReduction_78+happyReduction_78  =  happyIn32+		 ([]+	)++happyReduce_79 = happyReduce 5# 29# happyReduction_79+happyReduction_79 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut56 happy_x_2 of { happy_var_2 -> +	case happyOut144 happy_x_3 of { happy_var_3 -> +	case happyOut53 happy_x_5 of { happy_var_5 -> +	happyIn33+		 (HsTypeDecl happy_var_3 (fst happy_var_2) (snd happy_var_2) happy_var_5 Nothing+	) `HappyStk` happyRest}}}++happyReduce_80 = happyMonadReduce 5# 29# happyReduction_80+happyReduction_80 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut52 happy_x_2 of { happy_var_2 -> +	case happyOut144 happy_x_3 of { happy_var_3 -> +	case happyOut58 happy_x_4 of { happy_var_4 -> +	case happyOut70 happy_x_5 of { happy_var_5 -> +	( checkDataHeader happy_var_2 `thenP` \(cs,c,t) ->+		   returnP (HsDataDecl happy_var_3 cs c t happy_var_4 happy_var_5 Nothing))}}}}+	) (\r -> happyReturn (happyIn33 r))++happyReduce_81 = happyMonadReduce 6# 29# happyReduction_81+happyReduction_81 (happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut52 happy_x_2 of { happy_var_2 -> +	case happyOut144 happy_x_3 of { happy_var_3 -> +	case happyOut60 happy_x_5 of { happy_var_5 -> +	case happyOut70 happy_x_6 of { happy_var_6 -> +	( checkDataHeader happy_var_2 `thenP` \(cs,c,t) ->+		   returnP (HsNewTypeDecl happy_var_3 cs c t happy_var_5 happy_var_6 Nothing))}}}}+	) (\r -> happyReturn (happyIn33 r))++happyReduce_82 = happyMonadReduce 5# 29# happyReduction_82+happyReduction_82 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut144 happy_x_2 of { happy_var_2 -> +	case happyOut52 happy_x_3 of { happy_var_3 -> +	case happyOut72 happy_x_4 of { happy_var_4 -> +	case happyOut76 happy_x_5 of { happy_var_5 -> +	( checkClassHeader happy_var_3 `thenP` \(ctxt,n,tys) ->+		   returnP (HsClassDecl happy_var_2 ctxt n tys happy_var_4 happy_var_5 Nothing))}}}}+	) (\r -> happyReturn (happyIn33 r))++happyReduce_83 = happyMonadReduce 4# 29# happyReduction_83+happyReduction_83 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut144 happy_x_2 of { happy_var_2 -> +	case happyOut52 happy_x_3 of { happy_var_3 -> +	case happyOut81 happy_x_4 of { happy_var_4 -> +	( checkInstHeader happy_var_3 `thenP` \(ctxt,asst) ->+		   returnP (HsInstDecl happy_var_2 ctxt asst happy_var_4))}}}+	) (\r -> happyReturn (happyIn33 r))++happyReduce_84 = happyReduce 5# 29# happyReduction_84+happyReduction_84 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut144 happy_x_2 of { happy_var_2 -> +	case happyOut34 happy_x_4 of { happy_var_4 -> +	happyIn33+		 (HsDefaultDecl happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_85 = happySpecReduce_2  29# happyReduction_85+happyReduction_85 happy_x_2+	happy_x_1+	 =  case happyOut41 happy_x_2 of { happy_var_2 -> +	happyIn33+		 (happy_var_2+	)}++happyReduce_86 = happySpecReduce_1  29# happyReduction_86+happyReduction_86 happy_x_1+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> +	happyIn33+		 (happy_var_1+	)}++happyReduce_87 = happySpecReduce_1  30# happyReduction_87+happyReduction_87 happy_x_1+	 =  case happyOut55 happy_x_1 of { happy_var_1 -> +	happyIn34+		 (happy_var_1+	)}++happyReduce_88 = happySpecReduce_1  30# happyReduction_88+happyReduction_88 happy_x_1+	 =  case happyOut47 happy_x_1 of { happy_var_1 -> +	happyIn34+		 ([happy_var_1]+	)}++happyReduce_89 = happySpecReduce_0  30# happyReduction_89+happyReduction_89  =  happyIn34+		 ([]+	)++happyReduce_90 = happySpecReduce_3  31# happyReduction_90+happyReduction_90 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> +	case happyOut35 happy_x_3 of { happy_var_3 -> +	happyIn35+		 (happy_var_1 : happy_var_3+	)}}++happyReduce_91 = happySpecReduce_2  31# happyReduction_91+happyReduction_91 happy_x_2+	happy_x_1+	 =  case happyOut37 happy_x_1 of { happy_var_1 -> +	case happyOut35 happy_x_2 of { happy_var_2 -> +	happyIn35+		 (happy_var_1 : happy_var_2+	)}}++happyReduce_92 = happySpecReduce_2  31# happyReduction_92+happyReduction_92 happy_x_2+	happy_x_1+	 =  case happyOut35 happy_x_2 of { happy_var_2 -> +	happyIn35+		 (happy_var_2+	)}++happyReduce_93 = happySpecReduce_1  31# happyReduction_93+happyReduction_93 happy_x_1+	 =  case happyOut36 happy_x_1 of { happy_var_1 -> +	happyIn35+		 ([happy_var_1]+	)}++happyReduce_94 = happySpecReduce_0  31# happyReduction_94+happyReduction_94  =  happyIn35+		 ([]+	)++happyReduce_95 = happySpecReduce_1  32# happyReduction_95+happyReduction_95 happy_x_1+	 =  case happyOut39 happy_x_1 of { happy_var_1 -> +	happyIn36+		 (happy_var_1+	)}++happyReduce_96 = happySpecReduce_1  32# happyReduction_96+happyReduction_96 happy_x_1+	 =  case happyOut28 happy_x_1 of { happy_var_1 -> +	happyIn36+		 (happy_var_1+	)}++happyReduce_97 = happySpecReduce_1  32# happyReduction_97+happyReduction_97 happy_x_1+	 =  case happyOut83 happy_x_1 of { happy_var_1 -> +	happyIn36+		 (happy_var_1+	)}++happyReduce_98 = happySpecReduce_2  33# happyReduction_98+happyReduction_98 happy_x_2+	happy_x_1+	 =  case happyOut144 happy_x_1 of { happy_var_1 -> +	case happyOut153 happy_x_2 of { happy_var_2 -> +	happyIn37+		 (HsDocCommentNext happy_var_1 happy_var_2+	)}}++happyReduce_99 = happySpecReduce_2  33# happyReduction_99+happyReduction_99 happy_x_2+	happy_x_1+	 =  case happyOut144 happy_x_1 of { happy_var_1 -> +	case happyOut154 happy_x_2 of { happy_var_2 -> +	happyIn37+		 (HsDocCommentPrev happy_var_1 happy_var_2+	)}}++happyReduce_100 = happySpecReduce_2  33# happyReduction_100+happyReduction_100 happy_x_2+	happy_x_1+	 =  case happyOut144 happy_x_1 of { happy_var_1 -> +	case happyOut155 happy_x_2 of { happy_var_2 -> +	happyIn37+		 (case happy_var_2 of { (n,s) -> +					HsDocCommentNamed happy_var_1 n s }+	)}}++happyReduce_101 = happySpecReduce_2  33# happyReduction_101+happyReduction_101 happy_x_2+	happy_x_1+	 =  case happyOut144 happy_x_1 of { happy_var_1 -> +	case happyOut156 happy_x_2 of { happy_var_2 -> +	happyIn37+		 (case happy_var_2 of { (i,s) -> HsDocGroup happy_var_1 i s }+	)}}++happyReduce_102 = happySpecReduce_3  34# happyReduction_102+happyReduction_102 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut35 happy_x_2 of { happy_var_2 -> +	happyIn38+		 (happy_var_2+	)}++happyReduce_103 = happySpecReduce_3  34# happyReduction_103+happyReduction_103 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut35 happy_x_2 of { happy_var_2 -> +	happyIn38+		 (happy_var_2+	)}++happyReduce_104 = happyReduce 4# 35# happyReduction_104+happyReduction_104 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut40 happy_x_1 of { happy_var_1 -> +	case happyOut144 happy_x_2 of { happy_var_2 -> +	case happyOut53 happy_x_4 of { happy_var_4 -> +	happyIn39+		 (HsTypeSig happy_var_2 (reverse happy_var_1) happy_var_4 Nothing+	) `HappyStk` happyRest}}}++happyReduce_105 = happySpecReduce_3  36# happyReduction_105+happyReduction_105 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut40 happy_x_1 of { happy_var_1 -> +	case happyOut118 happy_x_3 of { happy_var_3 -> +	happyIn40+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_106 = happyMonadReduce 1# 36# happyReduction_106+happyReduction_106 (happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut119 happy_x_1 of { happy_var_1 -> +	( checkUnQual happy_var_1 `thenP` \n ->+					   returnP [n])}+	) (\r -> happyReturn (happyIn40 r))++happyReduce_107 = happyReduce 5# 37# happyReduction_107+happyReduction_107 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut144 happy_x_1 of { happy_var_1 -> +	case happyOut42 happy_x_3 of { happy_var_3 -> +	case happyOut43 happy_x_4 of { happy_var_4 -> +	case happyOut44 happy_x_5 of { happy_var_5 -> +	happyIn41+		 (case happy_var_5 of (spec,nm,ty) -> HsForeignImport happy_var_1 happy_var_3 happy_var_4 spec nm ty Nothing+	) `HappyStk` happyRest}}}}++happyReduce_108 = happyReduce 4# 37# happyReduction_108+happyReduction_108 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut144 happy_x_1 of { happy_var_1 -> +	case happyOut42 happy_x_3 of { happy_var_3 -> +	case happyOut44 happy_x_4 of { happy_var_4 -> +	happyIn41+		 (case happy_var_4 of (spec,nm,ty) -> HsForeignImport happy_var_1 happy_var_3 HsFISafe spec nm ty Nothing+	) `HappyStk` happyRest}}}++happyReduce_109 = happyReduce 4# 37# happyReduction_109+happyReduction_109 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut144 happy_x_1 of { happy_var_1 -> +	case happyOut42 happy_x_3 of { happy_var_3 -> +	case happyOut44 happy_x_4 of { happy_var_4 -> +	happyIn41+		 (case happy_var_4 of (spec,nm,ty) -> HsForeignExport happy_var_1 happy_var_3 spec nm ty+	) `HappyStk` happyRest}}}++happyReduce_110 = happySpecReduce_1  38# happyReduction_110+happyReduction_110 happy_x_1+	 =  happyIn42+		 (HsStdCall+	)++happyReduce_111 = happySpecReduce_1  38# happyReduction_111+happyReduction_111 happy_x_1+	 =  happyIn42+		 (HsCCall+	)++happyReduce_112 = happySpecReduce_1  38# happyReduction_112+happyReduction_112 happy_x_1+	 =  happyIn42+		 (HsDotNetCall+	)++happyReduce_113 = happySpecReduce_1  39# happyReduction_113+happyReduction_113 happy_x_1+	 =  happyIn43+		 (HsFIUnsafe+	)++happyReduce_114 = happySpecReduce_1  39# happyReduction_114+happyReduction_114 happy_x_1+	 =  happyIn43+		 (HsFISafe+	)++happyReduce_115 = happySpecReduce_1  39# happyReduction_115+happyReduction_115 happy_x_1+	 =  happyIn43+		 (HsFIThreadSafe+	)++happyReduce_116 = happyReduce 4# 40# happyReduction_116+happyReduction_116 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOutTok happy_x_1 of { (StringTok happy_var_1) -> +	case happyOut132 happy_x_2 of { happy_var_2 -> +	case happyOut53 happy_x_4 of { happy_var_4 -> +	happyIn44+		 ((happy_var_1, happy_var_2, happy_var_4)+	) `HappyStk` happyRest}}}++happyReduce_117 = happySpecReduce_3  40# happyReduction_117+happyReduction_117 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut132 happy_x_1 of { happy_var_1 -> +	case happyOut53 happy_x_3 of { happy_var_3 -> +	happyIn44+		 (("", happy_var_1, happy_var_3)+	)}}++happyReduce_118 = happySpecReduce_3  41# happyReduction_118+happyReduction_118 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut46 happy_x_1 of { happy_var_1 -> +	case happyOut45 happy_x_3 of { happy_var_3 -> +	happyIn45+		 (HsTyFun happy_var_1 happy_var_3+	)}}++happyReduce_119 = happySpecReduce_1  41# happyReduction_119+happyReduction_119 happy_x_1+	 =  case happyOut46 happy_x_1 of { happy_var_1 -> +	happyIn45+		 (happy_var_1+	)}++happyReduce_120 = happySpecReduce_1  42# happyReduction_120+happyReduction_120 happy_x_1+	 =  case happyOut49 happy_x_1 of { happy_var_1 -> +	happyIn46+		 (happy_var_1+	)}++happyReduce_121 = happySpecReduce_2  42# happyReduction_121+happyReduction_121 happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_1 of { happy_var_1 -> +	case happyOut154 happy_x_2 of { happy_var_2 -> +	happyIn46+		 (HsTyDoc happy_var_1 happy_var_2+	)}}++happyReduce_122 = happySpecReduce_3  42# happyReduction_122+happyReduction_122 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_1 of { happy_var_1 -> +	case happyOut152 happy_x_2 of { happy_var_2 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	happyIn46+		 (HsTyApp (HsTyApp happy_var_2 happy_var_1) happy_var_3+	)}}}++happyReduce_123 = happySpecReduce_3  43# happyReduction_123+happyReduction_123 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut121 happy_x_1 of { happy_var_1 -> +	case happyOut48 happy_x_3 of { happy_var_3 -> +	happyIn47+		 (HsTyIP happy_var_1 happy_var_3+	)}}++happyReduce_124 = happySpecReduce_1  43# happyReduction_124+happyReduction_124 happy_x_1+	 =  case happyOut48 happy_x_1 of { happy_var_1 -> +	happyIn47+		 (happy_var_1+	)}++happyReduce_125 = happySpecReduce_1  44# happyReduction_125+happyReduction_125 happy_x_1+	 =  case happyOut49 happy_x_1 of { happy_var_1 -> +	happyIn48+		 (happy_var_1+	)}++happyReduce_126 = happySpecReduce_3  44# happyReduction_126+happyReduction_126 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_1 of { happy_var_1 -> +	case happyOut152 happy_x_2 of { happy_var_2 -> +	case happyOut49 happy_x_3 of { happy_var_3 -> +	happyIn48+		 (HsTyApp (HsTyApp happy_var_2 happy_var_1) happy_var_3+	)}}}++happyReduce_127 = happySpecReduce_3  44# happyReduction_127+happyReduction_127 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_1 of { happy_var_1 -> +	case happyOut48 happy_x_3 of { happy_var_3 -> +	happyIn48+		 (HsTyFun happy_var_1 happy_var_3+	)}}++happyReduce_128 = happySpecReduce_2  45# happyReduction_128+happyReduction_128 happy_x_2+	happy_x_1+	 =  case happyOut49 happy_x_1 of { happy_var_1 -> +	case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn49+		 (HsTyApp happy_var_1 happy_var_2+	)}}++happyReduce_129 = happySpecReduce_1  45# happyReduction_129+happyReduction_129 happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	happyIn49+		 (happy_var_1+	)}++happyReduce_130 = happySpecReduce_1  46# happyReduction_130+happyReduction_130 happy_x_1+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> +	happyIn50+		 (HsTyCon happy_var_1+	)}++happyReduce_131 = happySpecReduce_1  46# happyReduction_131+happyReduction_131 happy_x_1+	 =  case happyOut151 happy_x_1 of { happy_var_1 -> +	happyIn50+		 (HsTyVar happy_var_1+	)}++happyReduce_132 = happySpecReduce_3  46# happyReduction_132+happyReduction_132 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut55 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (HsTyTuple True  happy_var_2+	)}++happyReduce_133 = happySpecReduce_3  46# happyReduction_133+happyReduction_133 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut47 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (HsTyTuple False [happy_var_2]+	)}++happyReduce_134 = happySpecReduce_3  46# happyReduction_134+happyReduction_134 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut55 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (HsTyTuple False happy_var_2+	)}++happyReduce_135 = happySpecReduce_3  46# happyReduction_135+happyReduction_135 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut47 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (HsTyApp list_tycon happy_var_2+	)}++happyReduce_136 = happySpecReduce_3  46# happyReduction_136+happyReduction_136 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut52 happy_x_2 of { happy_var_2 -> +	happyIn50+		 (happy_var_2+	)}++happyReduce_137 = happySpecReduce_1  47# happyReduction_137+happyReduction_137 happy_x_1+	 =  case happyOut150 happy_x_1 of { happy_var_1 -> +	happyIn51+		 (happy_var_1+	)}++happyReduce_138 = happySpecReduce_2  47# happyReduction_138+happyReduction_138 happy_x_2+	happy_x_1+	 =  happyIn51+		 (unit_tycon_qname+	)++happyReduce_139 = happySpecReduce_3  47# happyReduction_139+happyReduction_139 happy_x_3+	happy_x_2+	happy_x_1+	 =  happyIn51+		 (fun_tycon_qname+	)++happyReduce_140 = happySpecReduce_2  47# happyReduction_140+happyReduction_140 happy_x_2+	happy_x_1+	 =  happyIn51+		 (list_tycon_qname+	)++happyReduce_141 = happySpecReduce_3  47# happyReduction_141+happyReduction_141 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut97 happy_x_2 of { happy_var_2 -> +	happyIn51+		 (tuple_tycon_qname happy_var_2+	)}++happyReduce_142 = happyReduce 4# 48# happyReduction_142+happyReduction_142 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut57 happy_x_2 of { happy_var_2 -> +	case happyOut52 happy_x_4 of { happy_var_4 -> +	happyIn52+		 (mkHsForAllType (Just happy_var_2) [] happy_var_4+	) `HappyStk` happyRest}}++happyReduce_143 = happySpecReduce_3  48# happyReduction_143+happyReduction_143 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut54 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	happyIn52+		 (mkHsForAllType Nothing happy_var_1 happy_var_3+	)}}++happyReduce_144 = happySpecReduce_1  48# happyReduction_144+happyReduction_144 happy_x_1+	 =  case happyOut47 happy_x_1 of { happy_var_1 -> +	happyIn52+		 (happy_var_1+	)}++happyReduce_145 = happyReduce 4# 49# happyReduction_145+happyReduction_145 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut57 happy_x_2 of { happy_var_2 -> +	case happyOut53 happy_x_4 of { happy_var_4 -> +	happyIn53+		 (mkHsForAllType (Just happy_var_2) [] happy_var_4+	) `HappyStk` happyRest}}++happyReduce_146 = happySpecReduce_3  49# happyReduction_146+happyReduction_146 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut54 happy_x_1 of { happy_var_1 -> +	case happyOut45 happy_x_3 of { happy_var_3 -> +	happyIn53+		 (mkHsForAllType Nothing happy_var_1 happy_var_3+	)}}++happyReduce_147 = happySpecReduce_1  49# happyReduction_147+happyReduction_147 happy_x_1+	 =  case happyOut45 happy_x_1 of { happy_var_1 -> +	happyIn53+		 (happy_var_1+	)}++happyReduce_148 = happyMonadReduce 1# 50# happyReduction_148+happyReduction_148 (happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut49 happy_x_1 of { happy_var_1 -> +	( checkContext happy_var_1)}+	) (\r -> happyReturn (happyIn54 r))++happyReduce_149 = happySpecReduce_3  51# happyReduction_149+happyReduction_149 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut47 happy_x_1 of { happy_var_1 -> +	case happyOut55 happy_x_3 of { happy_var_3 -> +	happyIn55+		 (happy_var_1 : happy_var_3+	)}}++happyReduce_150 = happySpecReduce_3  51# happyReduction_150+happyReduction_150 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut47 happy_x_1 of { happy_var_1 -> +	case happyOut47 happy_x_3 of { happy_var_3 -> +	happyIn55+		 ([happy_var_1,happy_var_3]+	)}}++happyReduce_151 = happySpecReduce_2  52# happyReduction_151+happyReduction_151 happy_x_2+	happy_x_1+	 =  case happyOut149 happy_x_1 of { happy_var_1 -> +	case happyOut57 happy_x_2 of { happy_var_2 -> +	happyIn56+		 ((happy_var_1,happy_var_2)+	)}}++happyReduce_152 = happySpecReduce_2  53# happyReduction_152+happyReduction_152 happy_x_2+	happy_x_1+	 =  case happyOut151 happy_x_1 of { happy_var_1 -> +	case happyOut57 happy_x_2 of { happy_var_2 -> +	happyIn57+		 (happy_var_1 : happy_var_2+	)}}++happyReduce_153 = happySpecReduce_0  53# happyReduction_153+happyReduction_153  =  happyIn57+		 ([]+	)++happyReduce_154 = happySpecReduce_0  54# happyReduction_154+happyReduction_154  =  happyIn58+		 ([]+	)++happyReduce_155 = happySpecReduce_3  54# happyReduction_155+happyReduction_155 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut158 happy_x_1 of { happy_var_1 -> +	case happyOut59 happy_x_3 of { happy_var_3 -> +	happyIn58+		 (addConDocs happy_var_3 happy_var_1+	)}}++happyReduce_156 = happyReduce 5# 55# happyReduction_156+happyReduction_156 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut60 happy_x_1 of { happy_var_1 -> +	case happyOut158 happy_x_2 of { happy_var_2 -> +	case happyOut157 happy_x_4 of { happy_var_4 -> +	case happyOut59 happy_x_5 of { happy_var_5 -> +	happyIn59+		 (addConDoc happy_var_1 happy_var_4 : addConDocs happy_var_5 happy_var_2+	) `HappyStk` happyRest}}}}++happyReduce_157 = happySpecReduce_1  55# happyReduction_157+happyReduction_157 happy_x_1+	 =  case happyOut60 happy_x_1 of { happy_var_1 -> +	happyIn59+		 ([happy_var_1]+	)}++happyReduce_158 = happyReduce 5# 56# happyReduction_158+happyReduction_158 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut144 happy_x_1 of { happy_var_1 -> +	case happyOut158 happy_x_2 of { happy_var_2 -> +	case happyOut61 happy_x_3 of { happy_var_3 -> +	case happyOut62 happy_x_4 of { happy_var_4 -> +	case happyOut157 happy_x_5 of { happy_var_5 -> +	happyIn60+		 (HsConDecl happy_var_1 (fst happy_var_4) happy_var_3 [] (snd happy_var_4) (happy_var_2 `mplus` happy_var_5)+	) `HappyStk` happyRest}}}}}++happyReduce_159 = happyMonadReduce 7# 56# happyReduction_159+happyReduction_159 (happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut144 happy_x_1 of { happy_var_1 -> +	case happyOut158 happy_x_2 of { happy_var_2 -> +	case happyOut61 happy_x_3 of { happy_var_3 -> +	case happyOut54 happy_x_4 of { happy_var_4 -> +	case happyOut62 happy_x_6 of { happy_var_6 -> +	case happyOut157 happy_x_7 of { happy_var_7 -> +	( checkIPContext happy_var_4 `thenP` \ ctxt -> returnP (HsConDecl happy_var_1 (fst happy_var_6) happy_var_3 ctxt (snd happy_var_6) (happy_var_2 `mplus` happy_var_7)))}}}}}}+	) (\r -> happyReturn (happyIn60 r))++happyReduce_160 = happyReduce 8# 56# happyReduction_160+happyReduction_160 (happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut144 happy_x_1 of { happy_var_1 -> +	case happyOut158 happy_x_2 of { happy_var_2 -> +	case happyOut61 happy_x_3 of { happy_var_3 -> +	case happyOut120 happy_x_4 of { happy_var_4 -> +	case happyOut67 happy_x_6 of { happy_var_6 -> +	case happyOut157 happy_x_8 of { happy_var_8 -> +	happyIn60+		 (HsRecDecl happy_var_1 happy_var_4 happy_var_3 [] happy_var_6 (happy_var_2 `mplus` happy_var_8)+	) `HappyStk` happyRest}}}}}}++happyReduce_161 = happyMonadReduce 10# 56# happyReduction_161+happyReduction_161 (happy_x_10 `HappyStk`+	happy_x_9 `HappyStk`+	happy_x_8 `HappyStk`+	happy_x_7 `HappyStk`+	happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut144 happy_x_1 of { happy_var_1 -> +	case happyOut158 happy_x_2 of { happy_var_2 -> +	case happyOut61 happy_x_3 of { happy_var_3 -> +	case happyOut54 happy_x_4 of { happy_var_4 -> +	case happyOut120 happy_x_6 of { happy_var_6 -> +	case happyOut67 happy_x_8 of { happy_var_8 -> +	case happyOut157 happy_x_10 of { happy_var_10 -> +	( checkIPContext happy_var_4 `thenP` \ ctxt -> returnP (HsRecDecl happy_var_1 happy_var_6 happy_var_3 ctxt happy_var_8 (happy_var_2 `mplus` happy_var_10)))}}}}}}}+	) (\r -> happyReturn (happyIn60 r))++happyReduce_162 = happySpecReduce_3  57# happyReduction_162+happyReduction_162 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut57 happy_x_2 of { happy_var_2 -> +	happyIn61+		 (happy_var_2+	)}++happyReduce_163 = happySpecReduce_0  57# happyReduction_163+happyReduction_163  =  happyIn61+		 ([]+	)++happyReduce_164 = happySpecReduce_1  58# happyReduction_164+happyReduction_164 happy_x_1+	 =  case happyOut63 happy_x_1 of { happy_var_1 -> +	happyIn62+		 (happy_var_1+	)}++happyReduce_165 = happySpecReduce_3  58# happyReduction_165+happyReduction_165 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut66 happy_x_1 of { happy_var_1 -> +	case happyOut126 happy_x_2 of { happy_var_2 -> +	case happyOut66 happy_x_3 of { happy_var_3 -> +	happyIn62+		 ((happy_var_2, [happy_var_1,happy_var_3])+	)}}}++happyReduce_166 = happyMonadReduce 1# 59# happyReduction_166+happyReduction_166 (happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut49 happy_x_1 of { happy_var_1 -> +	( splitTyConApp happy_var_1 `thenP` \(c,ts) ->+					   returnP (toVarHsName c,+						    map HsUnBangedTy ts))}+	) (\r -> happyReturn (happyIn63 r))++happyReduce_167 = happySpecReduce_1  59# happyReduction_167+happyReduction_167 happy_x_1+	 =  case happyOut64 happy_x_1 of { happy_var_1 -> +	happyIn63+		 (happy_var_1+	)}++happyReduce_168 = happyMonadReduce 3# 60# happyReduction_168+happyReduction_168 (happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut49 happy_x_1 of { happy_var_1 -> +	case happyOut50 happy_x_3 of { happy_var_3 -> +	( splitTyConApp happy_var_1 `thenP` \(c,ts) ->+					   returnP (toVarHsName c,+						     map HsUnBangedTy ts+++						 	[HsBangedTy happy_var_3]))}}+	) (\r -> happyReturn (happyIn64 r))++happyReduce_169 = happySpecReduce_2  60# happyReduction_169+happyReduction_169 happy_x_2+	happy_x_1+	 =  case happyOut64 happy_x_1 of { happy_var_1 -> +	case happyOut65 happy_x_2 of { happy_var_2 -> +	happyIn64+		 ((fst happy_var_1, snd happy_var_1 ++ [happy_var_2] )+	)}}++happyReduce_170 = happySpecReduce_1  61# happyReduction_170+happyReduction_170 happy_x_1+	 =  case happyOut50 happy_x_1 of { happy_var_1 -> +	happyIn65+		 (HsUnBangedTy happy_var_1+	)}++happyReduce_171 = happySpecReduce_2  61# happyReduction_171+happyReduction_171 happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn65+		 (HsBangedTy   happy_var_2+	)}++happyReduce_172 = happySpecReduce_1  62# happyReduction_172+happyReduction_172 happy_x_1+	 =  case happyOut49 happy_x_1 of { happy_var_1 -> +	happyIn66+		 (HsUnBangedTy happy_var_1+	)}++happyReduce_173 = happySpecReduce_2  62# happyReduction_173+happyReduction_173 happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn66+		 (HsBangedTy   happy_var_2+	)}++happyReduce_174 = happyReduce 5# 63# happyReduction_174+happyReduction_174 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut68 happy_x_1 of { happy_var_1 -> +	case happyOut158 happy_x_2 of { happy_var_2 -> +	case happyOut157 happy_x_4 of { happy_var_4 -> +	case happyOut67 happy_x_5 of { happy_var_5 -> +	happyIn67+		 (addFieldDoc happy_var_1 happy_var_4 : addFieldDocs happy_var_5 happy_var_2+	) `HappyStk` happyRest}}}}++happyReduce_175 = happySpecReduce_2  63# happyReduction_175+happyReduction_175 happy_x_2+	happy_x_1+	 =  case happyOut67 happy_x_2 of { happy_var_2 -> +	happyIn67+		 (happy_var_2+	)}++happyReduce_176 = happySpecReduce_1  63# happyReduction_176+happyReduction_176 happy_x_1+	 =  case happyOut68 happy_x_1 of { happy_var_1 -> +	happyIn67+		 ([happy_var_1]+	)}++happyReduce_177 = happySpecReduce_0  63# happyReduction_177+happyReduction_177  =  happyIn67+		 ([]+	)++happyReduce_178 = happyReduce 5# 64# happyReduction_178+happyReduction_178 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut158 happy_x_1 of { happy_var_1 -> +	case happyOut40 happy_x_2 of { happy_var_2 -> +	case happyOut69 happy_x_4 of { happy_var_4 -> +	case happyOut157 happy_x_5 of { happy_var_5 -> +	happyIn68+		 (HsFieldDecl (reverse happy_var_2) happy_var_4 (happy_var_1 `mplus` happy_var_5)+	) `HappyStk` happyRest}}}}++happyReduce_179 = happySpecReduce_1  65# happyReduction_179+happyReduction_179 happy_x_1+	 =  case happyOut52 happy_x_1 of { happy_var_1 -> +	happyIn69+		 (HsUnBangedTy happy_var_1+	)}++happyReduce_180 = happySpecReduce_2  65# happyReduction_180+happyReduction_180 happy_x_2+	happy_x_1+	 =  case happyOut50 happy_x_2 of { happy_var_2 -> +	happyIn69+		 (HsBangedTy   happy_var_2+	)}++happyReduce_181 = happySpecReduce_0  66# happyReduction_181+happyReduction_181  =  happyIn70+		 ([]+	)++happyReduce_182 = happySpecReduce_2  66# happyReduction_182+happyReduction_182 happy_x_2+	happy_x_1+	 =  case happyOut150 happy_x_2 of { happy_var_2 -> +	happyIn70+		 ([happy_var_2]+	)}++happyReduce_183 = happySpecReduce_3  66# happyReduction_183+happyReduction_183 happy_x_3+	happy_x_2+	happy_x_1+	 =  happyIn70+		 ([]+	)++happyReduce_184 = happyReduce 4# 66# happyReduction_184+happyReduction_184 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut71 happy_x_3 of { happy_var_3 -> +	happyIn70+		 (reverse happy_var_3+	) `HappyStk` happyRest}++happyReduce_185 = happySpecReduce_3  67# happyReduction_185+happyReduction_185 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut71 happy_x_1 of { happy_var_1 -> +	case happyOut150 happy_x_3 of { happy_var_3 -> +	happyIn71+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_186 = happySpecReduce_1  67# happyReduction_186+happyReduction_186 happy_x_1+	 =  case happyOut150 happy_x_1 of { happy_var_1 -> +	happyIn71+		 ([happy_var_1]+	)}++happyReduce_187 = happySpecReduce_0  68# happyReduction_187+happyReduction_187  =  happyIn72+		 ([]+	)++happyReduce_188 = happySpecReduce_2  68# happyReduction_188+happyReduction_188 happy_x_2+	happy_x_1+	 =  case happyOut73 happy_x_2 of { happy_var_2 -> +	happyIn72+		 (reverse happy_var_2+	)}++happyReduce_189 = happySpecReduce_3  69# happyReduction_189+happyReduction_189 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut73 happy_x_1 of { happy_var_1 -> +	case happyOut74 happy_x_3 of { happy_var_3 -> +	happyIn73+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_190 = happySpecReduce_1  69# happyReduction_190+happyReduction_190 happy_x_1+	 =  case happyOut74 happy_x_1 of { happy_var_1 -> +	happyIn73+		 ([happy_var_1]+	)}++happyReduce_191 = happySpecReduce_3  70# happyReduction_191+happyReduction_191 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut75 happy_x_1 of { happy_var_1 -> +	case happyOut75 happy_x_3 of { happy_var_3 -> +	happyIn74+		 ((reverse happy_var_1, reverse happy_var_3)+	)}}++happyReduce_192 = happySpecReduce_0  71# happyReduction_192+happyReduction_192  =  happyIn75+		 ([]+	)++happyReduce_193 = happySpecReduce_2  71# happyReduction_193+happyReduction_193 happy_x_2+	happy_x_1+	 =  case happyOut75 happy_x_1 of { happy_var_1 -> +	case happyOut151 happy_x_2 of { happy_var_2 -> +	happyIn75+		 (happy_var_2 : happy_var_1+	)}}++happyReduce_194 = happySpecReduce_2  72# happyReduction_194+happyReduction_194 happy_x_2+	happy_x_1+	 =  case happyOut38 happy_x_2 of { happy_var_2 -> +	happyIn76+		 (happy_var_2+	)}++happyReduce_195 = happySpecReduce_0  72# happyReduction_195+happyReduction_195  =  happyIn76+		 ([]+	)++happyReduce_196 = happySpecReduce_3  73# happyReduction_196+happyReduction_196 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_1 of { happy_var_1 -> +	case happyOut78 happy_x_3 of { happy_var_3 -> +	happyIn77+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_197 = happySpecReduce_2  73# happyReduction_197+happyReduction_197 happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_1 of { happy_var_1 -> +	happyIn77+		 (happy_var_1+	)}++happyReduce_198 = happySpecReduce_1  73# happyReduction_198+happyReduction_198 happy_x_1+	 =  case happyOut78 happy_x_1 of { happy_var_1 -> +	happyIn77+		 ([happy_var_1]+	)}++happyReduce_199 = happyMonadReduce 4# 74# happyReduction_199+happyReduction_199 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut121 happy_x_1 of { happy_var_1 -> +	case happyOut144 happy_x_3 of { happy_var_3 -> +	case happyOut87 happy_x_4 of { happy_var_4 -> +	( checkValDef (happy_var_3, HsVar (UnQual happy_var_1), HsUnGuardedRhs happy_var_4, []))}}}+	) (\r -> happyReturn (happyIn78 r))++happyReduce_200 = happySpecReduce_1  75# happyReduction_200+happyReduction_200 happy_x_1+	 =  case happyOut38 happy_x_1 of { happy_var_1 -> +	happyIn79+		 (happy_var_1+	)}++happyReduce_201 = happySpecReduce_3  75# happyReduction_201+happyReduction_201 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	happyIn79+		 (happy_var_2+	)}++happyReduce_202 = happySpecReduce_3  75# happyReduction_202+happyReduction_202 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut77 happy_x_2 of { happy_var_2 -> +	happyIn79+		 (happy_var_2+	)}++happyReduce_203 = happySpecReduce_2  76# happyReduction_203+happyReduction_203 happy_x_2+	happy_x_1+	 =  case happyOut79 happy_x_2 of { happy_var_2 -> +	happyIn80+		 (happy_var_2+	)}++happyReduce_204 = happySpecReduce_0  76# happyReduction_204+happyReduction_204  =  happyIn80+		 ([]+	)++happyReduce_205 = happyReduce 4# 77# happyReduction_205+happyReduction_205 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut82 happy_x_3 of { happy_var_3 -> +	happyIn81+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_206 = happyReduce 4# 77# happyReduction_206+happyReduction_206 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut82 happy_x_3 of { happy_var_3 -> +	happyIn81+		 (happy_var_3+	) `HappyStk` happyRest}++happyReduce_207 = happySpecReduce_0  77# happyReduction_207+happyReduction_207  =  happyIn81+		 ([]+	)++happyReduce_208 = happySpecReduce_3  78# happyReduction_208+happyReduction_208 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut82 happy_x_1 of { happy_var_1 -> +	case happyOut83 happy_x_3 of { happy_var_3 -> +	happyIn82+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_209 = happySpecReduce_2  78# happyReduction_209+happyReduction_209 happy_x_2+	happy_x_1+	 =  case happyOut82 happy_x_1 of { happy_var_1 -> +	happyIn82+		 (happy_var_1+	)}++happyReduce_210 = happySpecReduce_1  78# happyReduction_210+happyReduction_210 happy_x_1+	 =  case happyOut83 happy_x_1 of { happy_var_1 -> +	happyIn82+		 ([happy_var_1]+	)}++happyReduce_211 = happySpecReduce_0  78# happyReduction_211+happyReduction_211  =  happyIn82+		 ([]+	)++happyReduce_212 = happyMonadReduce 3# 79# happyReduction_212+happyReduction_212 (happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut90 happy_x_1 of { happy_var_1 -> +	case happyOut144 happy_x_2 of { happy_var_2 -> +	case happyOut84 happy_x_3 of { happy_var_3 -> +	( checkValDef (happy_var_2, happy_var_1, happy_var_3, []))}}}+	) (\r -> happyReturn (happyIn83 r))++happyReduce_213 = happyMonadReduce 3# 80# happyReduction_213+happyReduction_213 (happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut87 happy_x_2 of { happy_var_2 -> +	( checkExpr happy_var_2 `thenP` \e ->+					   returnP (HsUnGuardedRhs e))}+	) (\r -> happyReturn (happyIn84 r))++happyReduce_214 = happySpecReduce_2  80# happyReduction_214+happyReduction_214 happy_x_2+	happy_x_1+	 =  case happyOut85 happy_x_1 of { happy_var_1 -> +	happyIn84+		 (HsGuardedRhss  (reverse happy_var_1)+	)}++happyReduce_215 = happySpecReduce_2  81# happyReduction_215+happyReduction_215 happy_x_2+	happy_x_1+	 =  case happyOut85 happy_x_1 of { happy_var_1 -> +	case happyOut86 happy_x_2 of { happy_var_2 -> +	happyIn85+		 (happy_var_2 : happy_var_1+	)}}++happyReduce_216 = happySpecReduce_1  81# happyReduction_216+happyReduction_216 happy_x_1+	 =  case happyOut86 happy_x_1 of { happy_var_1 -> +	happyIn85+		 ([happy_var_1]+	)}++happyReduce_217 = happyMonadReduce 5# 82# happyReduction_217+happyReduction_217 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut144 happy_x_2 of { happy_var_2 -> +	case happyOut103 happy_x_3 of { happy_var_3 -> +	case happyOut87 happy_x_5 of { happy_var_5 -> +	( checkExpr happy_var_5 `thenP` \e ->+					   returnP (HsGuardedRhs happy_var_2 happy_var_3 e))}}}+	) (\r -> happyReturn (happyIn86 r))++happyReduce_218 = happyReduce 4# 83# happyReduction_218+happyReduction_218 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut90 happy_x_1 of { happy_var_1 -> +	case happyOut144 happy_x_3 of { happy_var_3 -> +	case happyOut52 happy_x_4 of { happy_var_4 -> +	happyIn87+		 (HsExpTypeSig happy_var_3 happy_var_1 happy_var_4+	) `HappyStk` happyRest}}}++happyReduce_219 = happySpecReduce_1  83# happyReduction_219+happyReduction_219 happy_x_1+	 =  case happyOut88 happy_x_1 of { happy_var_1 -> +	happyIn87+		 (happy_var_1+	)}++happyReduce_220 = happySpecReduce_1  84# happyReduction_220+happyReduction_220 happy_x_1+	 =  case happyOut89 happy_x_1 of { happy_var_1 -> +	happyIn88+		 (happy_var_1+	)}++happyReduce_221 = happySpecReduce_1  84# happyReduction_221+happyReduction_221 happy_x_1+	 =  case happyOut90 happy_x_1 of { happy_var_1 -> +	happyIn88+		 (happy_var_1+	)}++happyReduce_222 = happySpecReduce_3  85# happyReduction_222+happyReduction_222 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut90 happy_x_1 of { happy_var_1 -> +	case happyOut129 happy_x_2 of { happy_var_2 -> +	case happyOut91 happy_x_3 of { happy_var_3 -> +	happyIn89+		 (HsInfixApp happy_var_1 happy_var_2 happy_var_3+	)}}}++happyReduce_223 = happySpecReduce_1  85# happyReduction_223+happyReduction_223 happy_x_1+	 =  case happyOut91 happy_x_1 of { happy_var_1 -> +	happyIn89+		 (happy_var_1+	)}++happyReduce_224 = happySpecReduce_3  86# happyReduction_224+happyReduction_224 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut90 happy_x_1 of { happy_var_1 -> +	case happyOut129 happy_x_2 of { happy_var_2 -> +	case happyOut92 happy_x_3 of { happy_var_3 -> +	happyIn90+		 (HsInfixApp happy_var_1 happy_var_2 happy_var_3+	)}}}++happyReduce_225 = happySpecReduce_1  86# happyReduction_225+happyReduction_225 happy_x_1+	 =  case happyOut92 happy_x_1 of { happy_var_1 -> +	happyIn90+		 (happy_var_1+	)}++happyReduce_226 = happyMonadReduce 4# 87# happyReduction_226+happyReduction_226 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut94 happy_x_2 of { happy_var_2 -> +	case happyOut87 happy_x_4 of { happy_var_4 -> +	( checkPatterns (reverse happy_var_2) `thenP` \ps ->+					   returnP (HsLambda ps happy_var_4))}}+	) (\r -> happyReturn (happyIn91 r))++happyReduce_227 = happyReduce 4# 87# happyReduction_227+happyReduction_227 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut79 happy_x_2 of { happy_var_2 -> +	case happyOut87 happy_x_4 of { happy_var_4 -> +	happyIn91+		 (HsLet happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_228 = happyReduce 6# 87# happyReduction_228+happyReduction_228 (happy_x_6 `HappyStk`+	happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut87 happy_x_2 of { happy_var_2 -> +	case happyOut87 happy_x_4 of { happy_var_4 -> +	case happyOut87 happy_x_6 of { happy_var_6 -> +	happyIn91+		 (HsIf happy_var_2 happy_var_4 happy_var_6+	) `HappyStk` happyRest}}}++happyReduce_229 = happyReduce 4# 88# happyReduction_229+happyReduction_229 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut87 happy_x_2 of { happy_var_2 -> +	case happyOut105 happy_x_4 of { happy_var_4 -> +	happyIn92+		 (HsCase happy_var_2 happy_var_4+	) `HappyStk` happyRest}}++happyReduce_230 = happySpecReduce_2  88# happyReduction_230+happyReduction_230 happy_x_2+	happy_x_1+	 =  case happyOut93 happy_x_2 of { happy_var_2 -> +	happyIn92+		 (HsNegApp happy_var_2+	)}++happyReduce_231 = happySpecReduce_2  88# happyReduction_231+happyReduction_231 happy_x_2+	happy_x_1+	 =  case happyOut112 happy_x_2 of { happy_var_2 -> +	happyIn92+		 (HsDo happy_var_2+	)}++happyReduce_232 = happySpecReduce_1  88# happyReduction_232+happyReduction_232 happy_x_1+	 =  case happyOut93 happy_x_1 of { happy_var_1 -> +	happyIn92+		 (happy_var_1+	)}++happyReduce_233 = happySpecReduce_2  89# happyReduction_233+happyReduction_233 happy_x_2+	happy_x_1+	 =  case happyOut93 happy_x_1 of { happy_var_1 -> +	case happyOut95 happy_x_2 of { happy_var_2 -> +	happyIn93+		 (HsApp happy_var_1 happy_var_2+	)}}++happyReduce_234 = happySpecReduce_1  89# happyReduction_234+happyReduction_234 happy_x_1+	 =  case happyOut95 happy_x_1 of { happy_var_1 -> +	happyIn93+		 (happy_var_1+	)}++happyReduce_235 = happySpecReduce_2  90# happyReduction_235+happyReduction_235 happy_x_2+	happy_x_1+	 =  case happyOut94 happy_x_1 of { happy_var_1 -> +	case happyOut95 happy_x_2 of { happy_var_2 -> +	happyIn94+		 (happy_var_2 : happy_var_1+	)}}++happyReduce_236 = happySpecReduce_1  90# happyReduction_236+happyReduction_236 happy_x_1+	 =  case happyOut95 happy_x_1 of { happy_var_1 -> +	happyIn94+		 ([happy_var_1]+	)}++happyReduce_237 = happyMonadReduce 3# 91# happyReduction_237+happyReduction_237 (happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut95 happy_x_1 of { happy_var_1 -> +	( mkRecConstrOrUpdate happy_var_1 [])}+	) (\r -> happyReturn (happyIn95 r))++happyReduce_238 = happyMonadReduce 4# 91# happyReduction_238+happyReduction_238 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut95 happy_x_1 of { happy_var_1 -> +	case happyOut115 happy_x_3 of { happy_var_3 -> +	( mkRecConstrOrUpdate happy_var_1 (reverse happy_var_3))}}+	) (\r -> happyReturn (happyIn95 r))++happyReduce_239 = happySpecReduce_1  91# happyReduction_239+happyReduction_239 happy_x_1+	 =  case happyOut96 happy_x_1 of { happy_var_1 -> +	happyIn95+		 (happy_var_1+	)}++happyReduce_240 = happySpecReduce_1  92# happyReduction_240+happyReduction_240 happy_x_1+	 =  case happyOut121 happy_x_1 of { happy_var_1 -> +	happyIn96+		 (HsIPVar (UnQual happy_var_1)+	)}++happyReduce_241 = happySpecReduce_1  92# happyReduction_241+happyReduction_241 happy_x_1+	 =  case happyOut119 happy_x_1 of { happy_var_1 -> +	happyIn96+		 (HsVar happy_var_1+	)}++happyReduce_242 = happySpecReduce_1  92# happyReduction_242+happyReduction_242 happy_x_1+	 =  case happyOut117 happy_x_1 of { happy_var_1 -> +	happyIn96+		 (HsCon happy_var_1+	)}++happyReduce_243 = happySpecReduce_1  92# happyReduction_243+happyReduction_243 happy_x_1+	 =  case happyOut143 happy_x_1 of { happy_var_1 -> +	happyIn96+		 (happy_var_1+	)}++happyReduce_244 = happySpecReduce_3  92# happyReduction_244+happyReduction_244 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut87 happy_x_2 of { happy_var_2 -> +	happyIn96+		 (HsParen happy_var_2+	)}++happyReduce_245 = happySpecReduce_3  92# happyReduction_245+happyReduction_245 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut98 happy_x_2 of { happy_var_2 -> +	happyIn96+		 (HsTuple True  happy_var_2+	)}++happyReduce_246 = happySpecReduce_3  92# happyReduction_246+happyReduction_246 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut87 happy_x_2 of { happy_var_2 -> +	happyIn96+		 (HsTuple False [happy_var_2]+	)}++happyReduce_247 = happySpecReduce_3  92# happyReduction_247+happyReduction_247 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut98 happy_x_2 of { happy_var_2 -> +	happyIn96+		 (HsTuple False happy_var_2+	)}++happyReduce_248 = happySpecReduce_3  92# happyReduction_248+happyReduction_248 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut99 happy_x_2 of { happy_var_2 -> +	happyIn96+		 (happy_var_2+	)}++happyReduce_249 = happyReduce 4# 92# happyReduction_249+happyReduction_249 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut90 happy_x_2 of { happy_var_2 -> +	case happyOut129 happy_x_3 of { happy_var_3 -> +	happyIn96+		 (HsLeftSection happy_var_3 happy_var_2+	) `HappyStk` happyRest}}++happyReduce_250 = happyReduce 4# 92# happyReduction_250+happyReduction_250 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut130 happy_x_2 of { happy_var_2 -> +	case happyOut88 happy_x_3 of { happy_var_3 -> +	happyIn96+		 (HsRightSection happy_var_3 happy_var_2+	) `HappyStk` happyRest}}++happyReduce_251 = happyMonadReduce 3# 92# happyReduction_251+happyReduction_251 (happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut119 happy_x_1 of { happy_var_1 -> +	case happyOut95 happy_x_3 of { happy_var_3 -> +	( checkUnQual happy_var_1 `thenP` \n ->+					   returnP (HsAsPat n happy_var_3))}}+	) (\r -> happyReturn (happyIn96 r))++happyReduce_252 = happySpecReduce_1  92# happyReduction_252+happyReduction_252 happy_x_1+	 =  happyIn96+		 (HsWildCard+	)++happyReduce_253 = happySpecReduce_2  92# happyReduction_253+happyReduction_253 happy_x_2+	happy_x_1+	 =  case happyOut96 happy_x_2 of { happy_var_2 -> +	happyIn96+		 (HsIrrPat happy_var_2+	)}++happyReduce_254 = happySpecReduce_2  93# happyReduction_254+happyReduction_254 happy_x_2+	happy_x_1+	 =  case happyOut97 happy_x_1 of { happy_var_1 -> +	happyIn97+		 (happy_var_1 + 1+	)}++happyReduce_255 = happySpecReduce_1  93# happyReduction_255+happyReduction_255 happy_x_1+	 =  happyIn97+		 (1+	)++happyReduce_256 = happySpecReduce_3  94# happyReduction_256+happyReduction_256 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut87 happy_x_1 of { happy_var_1 -> +	case happyOut98 happy_x_3 of { happy_var_3 -> +	happyIn98+		 (happy_var_1 : happy_var_3+	)}}++happyReduce_257 = happySpecReduce_3  94# happyReduction_257+happyReduction_257 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut87 happy_x_1 of { happy_var_1 -> +	case happyOut87 happy_x_3 of { happy_var_3 -> +	happyIn98+		 ([happy_var_1,happy_var_3]+	)}}++happyReduce_258 = happySpecReduce_1  95# happyReduction_258+happyReduction_258 happy_x_1+	 =  case happyOut87 happy_x_1 of { happy_var_1 -> +	happyIn99+		 (HsList [happy_var_1]+	)}++happyReduce_259 = happySpecReduce_1  95# happyReduction_259+happyReduction_259 happy_x_1+	 =  case happyOut100 happy_x_1 of { happy_var_1 -> +	happyIn99+		 (HsList (reverse happy_var_1)+	)}++happyReduce_260 = happySpecReduce_2  95# happyReduction_260+happyReduction_260 happy_x_2+	happy_x_1+	 =  case happyOut87 happy_x_1 of { happy_var_1 -> +	happyIn99+		 (HsEnumFrom happy_var_1+	)}++happyReduce_261 = happyReduce 4# 95# happyReduction_261+happyReduction_261 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut87 happy_x_1 of { happy_var_1 -> +	case happyOut87 happy_x_3 of { happy_var_3 -> +	happyIn99+		 (HsEnumFromThen happy_var_1 happy_var_3+	) `HappyStk` happyRest}}++happyReduce_262 = happySpecReduce_3  95# happyReduction_262+happyReduction_262 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut87 happy_x_1 of { happy_var_1 -> +	case happyOut87 happy_x_3 of { happy_var_3 -> +	happyIn99+		 (HsEnumFromTo happy_var_1 happy_var_3+	)}}++happyReduce_263 = happyReduce 5# 95# happyReduction_263+happyReduction_263 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut87 happy_x_1 of { happy_var_1 -> +	case happyOut87 happy_x_3 of { happy_var_3 -> +	case happyOut87 happy_x_5 of { happy_var_5 -> +	happyIn99+		 (HsEnumFromThenTo happy_var_1 happy_var_3 happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_264 = happySpecReduce_2  95# happyReduction_264+happyReduction_264 happy_x_2+	happy_x_1+	 =  case happyOut87 happy_x_1 of { happy_var_1 -> +	case happyOut101 happy_x_2 of { happy_var_2 -> +	happyIn99+		 (HsListComp happy_var_1 (reverse happy_var_2)+	)}}++happyReduce_265 = happySpecReduce_3  96# happyReduction_265+happyReduction_265 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut100 happy_x_1 of { happy_var_1 -> +	case happyOut87 happy_x_3 of { happy_var_3 -> +	happyIn100+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_266 = happySpecReduce_3  96# happyReduction_266+happyReduction_266 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut87 happy_x_1 of { happy_var_1 -> +	case happyOut87 happy_x_3 of { happy_var_3 -> +	happyIn100+		 ([happy_var_3,happy_var_1]+	)}}++happyReduce_267 = happySpecReduce_1  97# happyReduction_267+happyReduction_267 happy_x_1+	 =  case happyOut102 happy_x_1 of { happy_var_1 -> +	happyIn101+		 (case happy_var_1 of+					    [qs] -> qs+					    qss  -> [HsParStmt (concat qss)]+	)}++happyReduce_268 = happySpecReduce_3  98# happyReduction_268+happyReduction_268 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut102 happy_x_1 of { happy_var_1 -> +	case happyOut103 happy_x_3 of { happy_var_3 -> +	happyIn102+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_269 = happySpecReduce_2  98# happyReduction_269+happyReduction_269 happy_x_2+	happy_x_1+	 =  case happyOut103 happy_x_2 of { happy_var_2 -> +	happyIn102+		 ([happy_var_2]+	)}++happyReduce_270 = happySpecReduce_3  99# happyReduction_270+happyReduction_270 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut103 happy_x_1 of { happy_var_1 -> +	case happyOut104 happy_x_3 of { happy_var_3 -> +	happyIn103+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_271 = happySpecReduce_1  99# happyReduction_271+happyReduction_271 happy_x_1+	 =  case happyOut104 happy_x_1 of { happy_var_1 -> +	happyIn103+		 ([happy_var_1]+	)}++happyReduce_272 = happySpecReduce_3  100# happyReduction_272+happyReduction_272 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut111 happy_x_1 of { happy_var_1 -> +	case happyOut87 happy_x_3 of { happy_var_3 -> +	happyIn104+		 (HsGenerator happy_var_1 happy_var_3+	)}}++happyReduce_273 = happySpecReduce_1  100# happyReduction_273+happyReduction_273 happy_x_1+	 =  case happyOut87 happy_x_1 of { happy_var_1 -> +	happyIn104+		 (HsQualifier happy_var_1+	)}++happyReduce_274 = happySpecReduce_2  100# happyReduction_274+happyReduction_274 happy_x_2+	happy_x_1+	 =  case happyOut79 happy_x_2 of { happy_var_2 -> +	happyIn104+		 (HsLetStmt happy_var_2+	)}++happyReduce_275 = happyReduce 4# 101# happyReduction_275+happyReduction_275 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut106 happy_x_2 of { happy_var_2 -> +	happyIn105+		 (reverse happy_var_2+	) `HappyStk` happyRest}++happyReduce_276 = happyReduce 4# 101# happyReduction_276+happyReduction_276 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut106 happy_x_2 of { happy_var_2 -> +	happyIn105+		 (reverse happy_var_2+	) `HappyStk` happyRest}++happyReduce_277 = happySpecReduce_3  102# happyReduction_277+happyReduction_277 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut106 happy_x_1 of { happy_var_1 -> +	case happyOut107 happy_x_3 of { happy_var_3 -> +	happyIn106+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_278 = happySpecReduce_1  102# happyReduction_278+happyReduction_278 happy_x_1+	 =  case happyOut107 happy_x_1 of { happy_var_1 -> +	happyIn106+		 ([happy_var_1]+	)}++happyReduce_279 = happyReduce 4# 103# happyReduction_279+happyReduction_279 (happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut111 happy_x_1 of { happy_var_1 -> +	case happyOut144 happy_x_2 of { happy_var_2 -> +	case happyOut108 happy_x_3 of { happy_var_3 -> +	case happyOut80 happy_x_4 of { happy_var_4 -> +	happyIn107+		 (HsAlt happy_var_2 happy_var_1 happy_var_3 happy_var_4+	) `HappyStk` happyRest}}}}++happyReduce_280 = happySpecReduce_2  104# happyReduction_280+happyReduction_280 happy_x_2+	happy_x_1+	 =  case happyOut87 happy_x_2 of { happy_var_2 -> +	happyIn108+		 (HsUnGuardedAlt happy_var_2+	)}++happyReduce_281 = happySpecReduce_1  104# happyReduction_281+happyReduction_281 happy_x_1+	 =  case happyOut109 happy_x_1 of { happy_var_1 -> +	happyIn108+		 (HsGuardedAlts (reverse happy_var_1)+	)}++happyReduce_282 = happySpecReduce_2  105# happyReduction_282+happyReduction_282 happy_x_2+	happy_x_1+	 =  case happyOut109 happy_x_1 of { happy_var_1 -> +	case happyOut110 happy_x_2 of { happy_var_2 -> +	happyIn109+		 (happy_var_2 : happy_var_1+	)}}++happyReduce_283 = happySpecReduce_1  105# happyReduction_283+happyReduction_283 happy_x_1+	 =  case happyOut110 happy_x_1 of { happy_var_1 -> +	happyIn109+		 ([happy_var_1]+	)}++happyReduce_284 = happyReduce 5# 106# happyReduction_284+happyReduction_284 (happy_x_5 `HappyStk`+	happy_x_4 `HappyStk`+	happy_x_3 `HappyStk`+	happy_x_2 `HappyStk`+	happy_x_1 `HappyStk`+	happyRest)+	 = case happyOut144 happy_x_2 of { happy_var_2 -> +	case happyOut103 happy_x_3 of { happy_var_3 -> +	case happyOut87 happy_x_5 of { happy_var_5 -> +	happyIn110+		 (HsGuardedAlt happy_var_2 happy_var_3 happy_var_5+	) `HappyStk` happyRest}}}++happyReduce_285 = happyMonadReduce 1# 107# happyReduction_285+happyReduction_285 (happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOut90 happy_x_1 of { happy_var_1 -> +	( checkPattern happy_var_1)}+	) (\r -> happyReturn (happyIn111 r))++happyReduce_286 = happySpecReduce_3  108# happyReduction_286+happyReduction_286 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut113 happy_x_2 of { happy_var_2 -> +	happyIn112+		 (happy_var_2+	)}++happyReduce_287 = happySpecReduce_3  108# happyReduction_287+happyReduction_287 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut113 happy_x_2 of { happy_var_2 -> +	happyIn112+		 (happy_var_2+	)}++happyReduce_288 = happySpecReduce_2  109# happyReduction_288+happyReduction_288 happy_x_2+	happy_x_1+	 =  case happyOut104 happy_x_1 of { happy_var_1 -> +	case happyOut114 happy_x_2 of { happy_var_2 -> +	happyIn113+		 (happy_var_1 : happy_var_2+	)}}++happyReduce_289 = happySpecReduce_2  109# happyReduction_289+happyReduction_289 happy_x_2+	happy_x_1+	 =  case happyOut113 happy_x_2 of { happy_var_2 -> +	happyIn113+		 (happy_var_2+	)}++happyReduce_290 = happySpecReduce_0  109# happyReduction_290+happyReduction_290  =  happyIn113+		 ([]+	)++happyReduce_291 = happySpecReduce_2  110# happyReduction_291+happyReduction_291 happy_x_2+	happy_x_1+	 =  case happyOut113 happy_x_2 of { happy_var_2 -> +	happyIn114+		 (happy_var_2+	)}++happyReduce_292 = happySpecReduce_0  110# happyReduction_292+happyReduction_292  =  happyIn114+		 ([]+	)++happyReduce_293 = happySpecReduce_3  111# happyReduction_293+happyReduction_293 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut115 happy_x_1 of { happy_var_1 -> +	case happyOut116 happy_x_3 of { happy_var_3 -> +	happyIn115+		 (happy_var_3 : happy_var_1+	)}}++happyReduce_294 = happySpecReduce_1  111# happyReduction_294+happyReduction_294 happy_x_1+	 =  case happyOut116 happy_x_1 of { happy_var_1 -> +	happyIn115+		 ([happy_var_1]+	)}++happyReduce_295 = happySpecReduce_3  112# happyReduction_295+happyReduction_295 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut119 happy_x_1 of { happy_var_1 -> +	case happyOut87 happy_x_3 of { happy_var_3 -> +	happyIn116+		 (HsFieldUpdate happy_var_1 happy_var_3+	)}}++happyReduce_296 = happySpecReduce_2  113# happyReduction_296+happyReduction_296 happy_x_2+	happy_x_1+	 =  happyIn117+		 (unit_con_name+	)++happyReduce_297 = happySpecReduce_2  113# happyReduction_297+happyReduction_297 happy_x_2+	happy_x_1+	 =  happyIn117+		 (nil_con_name+	)++happyReduce_298 = happySpecReduce_3  113# happyReduction_298+happyReduction_298 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut97 happy_x_2 of { happy_var_2 -> +	happyIn117+		 (tuple_con_name happy_var_2+	)}++happyReduce_299 = happySpecReduce_1  113# happyReduction_299+happyReduction_299 happy_x_1+	 =  case happyOut122 happy_x_1 of { happy_var_1 -> +	happyIn117+		 (happy_var_1+	)}++happyReduce_300 = happySpecReduce_1  114# happyReduction_300+happyReduction_300 happy_x_1+	 =  case happyOut132 happy_x_1 of { happy_var_1 -> +	happyIn118+		 (happy_var_1+	)}++happyReduce_301 = happySpecReduce_3  114# happyReduction_301+happyReduction_301 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut140 happy_x_2 of { happy_var_2 -> +	happyIn118+		 (happy_var_2+	)}++happyReduce_302 = happySpecReduce_1  115# happyReduction_302+happyReduction_302 happy_x_1+	 =  case happyOut131 happy_x_1 of { happy_var_1 -> +	happyIn119+		 (happy_var_1+	)}++happyReduce_303 = happySpecReduce_3  115# happyReduction_303+happyReduction_303 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut138 happy_x_2 of { happy_var_2 -> +	happyIn119+		 (happy_var_2+	)}++happyReduce_304 = happySpecReduce_1  116# happyReduction_304+happyReduction_304 happy_x_1+	 =  case happyOut135 happy_x_1 of { happy_var_1 -> +	happyIn120+		 (happy_var_1+	)}++happyReduce_305 = happySpecReduce_3  116# happyReduction_305+happyReduction_305 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut137 happy_x_2 of { happy_var_2 -> +	happyIn120+		 (happy_var_2+	)}++happyReduce_306 = happySpecReduce_1  117# happyReduction_306+happyReduction_306 happy_x_1+	 =  case happyOutTok happy_x_1 of { (IPVarId happy_var_1) -> +	happyIn121+		 (HsVarName (HsIdent happy_var_1)+	)}++happyReduce_307 = happySpecReduce_1  118# happyReduction_307+happyReduction_307 happy_x_1+	 =  case happyOut134 happy_x_1 of { happy_var_1 -> +	happyIn122+		 (happy_var_1+	)}++happyReduce_308 = happySpecReduce_3  118# happyReduction_308+happyReduction_308 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut136 happy_x_2 of { happy_var_2 -> +	happyIn122+		 (happy_var_2+	)}++happyReduce_309 = happySpecReduce_1  119# happyReduction_309+happyReduction_309 happy_x_1+	 =  case happyOut140 happy_x_1 of { happy_var_1 -> +	happyIn123+		 (happy_var_1+	)}++happyReduce_310 = happySpecReduce_3  119# happyReduction_310+happyReduction_310 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut132 happy_x_2 of { happy_var_2 -> +	happyIn123+		 (happy_var_2+	)}++happyReduce_311 = happySpecReduce_1  120# happyReduction_311+happyReduction_311 happy_x_1+	 =  case happyOut138 happy_x_1 of { happy_var_1 -> +	happyIn124+		 (happy_var_1+	)}++happyReduce_312 = happySpecReduce_3  120# happyReduction_312+happyReduction_312 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut131 happy_x_2 of { happy_var_2 -> +	happyIn124+		 (happy_var_2+	)}++happyReduce_313 = happySpecReduce_1  121# happyReduction_313+happyReduction_313 happy_x_1+	 =  case happyOut139 happy_x_1 of { happy_var_1 -> +	happyIn125+		 (happy_var_1+	)}++happyReduce_314 = happySpecReduce_3  121# happyReduction_314+happyReduction_314 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut131 happy_x_2 of { happy_var_2 -> +	happyIn125+		 (happy_var_2+	)}++happyReduce_315 = happySpecReduce_1  122# happyReduction_315+happyReduction_315 happy_x_1+	 =  case happyOut137 happy_x_1 of { happy_var_1 -> +	happyIn126+		 (happy_var_1+	)}++happyReduce_316 = happySpecReduce_3  122# happyReduction_316+happyReduction_316 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut135 happy_x_2 of { happy_var_2 -> +	happyIn126+		 (happy_var_2+	)}++happyReduce_317 = happySpecReduce_1  123# happyReduction_317+happyReduction_317 happy_x_1+	 =  case happyOut136 happy_x_1 of { happy_var_1 -> +	happyIn127+		 (happy_var_1+	)}++happyReduce_318 = happySpecReduce_3  123# happyReduction_318+happyReduction_318 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut134 happy_x_2 of { happy_var_2 -> +	happyIn127+		 (happy_var_2+	)}++happyReduce_319 = happySpecReduce_1  124# happyReduction_319+happyReduction_319 happy_x_1+	 =  case happyOut123 happy_x_1 of { happy_var_1 -> +	happyIn128+		 (happy_var_1+	)}++happyReduce_320 = happySpecReduce_1  124# happyReduction_320+happyReduction_320 happy_x_1+	 =  case happyOut126 happy_x_1 of { happy_var_1 -> +	happyIn128+		 (happy_var_1+	)}++happyReduce_321 = happySpecReduce_1  125# happyReduction_321+happyReduction_321 happy_x_1+	 =  case happyOut124 happy_x_1 of { happy_var_1 -> +	happyIn129+		 (HsVar happy_var_1+	)}++happyReduce_322 = happySpecReduce_1  125# happyReduction_322+happyReduction_322 happy_x_1+	 =  case happyOut127 happy_x_1 of { happy_var_1 -> +	happyIn129+		 (HsCon happy_var_1+	)}++happyReduce_323 = happySpecReduce_1  126# happyReduction_323+happyReduction_323 happy_x_1+	 =  case happyOut125 happy_x_1 of { happy_var_1 -> +	happyIn130+		 (HsVar happy_var_1+	)}++happyReduce_324 = happySpecReduce_1  126# happyReduction_324+happyReduction_324 happy_x_1+	 =  case happyOut127 happy_x_1 of { happy_var_1 -> +	happyIn130+		 (HsCon happy_var_1+	)}++happyReduce_325 = happySpecReduce_1  127# happyReduction_325+happyReduction_325 happy_x_1+	 =  case happyOut132 happy_x_1 of { happy_var_1 -> +	happyIn131+		 (UnQual happy_var_1+	)}++happyReduce_326 = happySpecReduce_1  127# happyReduction_326+happyReduction_326 happy_x_1+	 =  case happyOutTok happy_x_1 of { (QVarId happy_var_1) -> +	happyIn131+		 (Qual (Module (fst happy_var_1)) (HsVarName (HsIdent (snd happy_var_1)))+	)}++happyReduce_327 = happySpecReduce_1  128# happyReduction_327+happyReduction_327 happy_x_1+	 =  happyIn132+		 (forall_name+	)++happyReduce_328 = happySpecReduce_1  128# happyReduction_328+happyReduction_328 happy_x_1+	 =  case happyOut133 happy_x_1 of { happy_var_1 -> +	happyIn132+		 (happy_var_1+	)}++happyReduce_329 = happySpecReduce_1  129# happyReduction_329+happyReduction_329 happy_x_1+	 =  case happyOutTok happy_x_1 of { (VarId happy_var_1) -> +	happyIn133+		 (HsVarName (HsIdent happy_var_1)+	)}++happyReduce_330 = happySpecReduce_1  129# happyReduction_330+happyReduction_330 happy_x_1+	 =  happyIn133+		 (as_name+	)++happyReduce_331 = happySpecReduce_1  129# happyReduction_331+happyReduction_331 happy_x_1+	 =  happyIn133+		 (unsafe_name+	)++happyReduce_332 = happySpecReduce_1  129# happyReduction_332+happyReduction_332 happy_x_1+	 =  happyIn133+		 (safe_name+	)++happyReduce_333 = happySpecReduce_1  129# happyReduction_333+happyReduction_333 happy_x_1+	 =  happyIn133+		 (threadsafe_name+	)++happyReduce_334 = happySpecReduce_1  129# happyReduction_334+happyReduction_334 happy_x_1+	 =  happyIn133+		 (qualified_name+	)++happyReduce_335 = happySpecReduce_1  129# happyReduction_335+happyReduction_335 happy_x_1+	 =  happyIn133+		 (hiding_name+	)++happyReduce_336 = happySpecReduce_1  129# happyReduction_336+happyReduction_336 happy_x_1+	 =  happyIn133+		 (export_name+	)++happyReduce_337 = happySpecReduce_1  129# happyReduction_337+happyReduction_337 happy_x_1+	 =  happyIn133+		 (stdcall_name+	)++happyReduce_338 = happySpecReduce_1  129# happyReduction_338+happyReduction_338 happy_x_1+	 =  happyIn133+		 (ccall_name+	)++happyReduce_339 = happySpecReduce_1  129# happyReduction_339+happyReduction_339 happy_x_1+	 =  happyIn133+		 (dotnet_name+	)++happyReduce_340 = happySpecReduce_1  130# happyReduction_340+happyReduction_340 happy_x_1+	 =  case happyOut135 happy_x_1 of { happy_var_1 -> +	happyIn134+		 (UnQual happy_var_1+	)}++happyReduce_341 = happySpecReduce_1  130# happyReduction_341+happyReduction_341 happy_x_1+	 =  case happyOutTok happy_x_1 of { (QConId happy_var_1) -> +	happyIn134+		 (Qual (Module (fst happy_var_1)) (HsVarName (HsIdent (snd happy_var_1)))+	)}++happyReduce_342 = happySpecReduce_1  131# happyReduction_342+happyReduction_342 happy_x_1+	 =  case happyOutTok happy_x_1 of { (ConId happy_var_1) -> +	happyIn135+		 (HsVarName (HsIdent happy_var_1)+	)}++happyReduce_343 = happySpecReduce_1  132# happyReduction_343+happyReduction_343 happy_x_1+	 =  case happyOut137 happy_x_1 of { happy_var_1 -> +	happyIn136+		 (UnQual happy_var_1+	)}++happyReduce_344 = happySpecReduce_1  132# happyReduction_344+happyReduction_344 happy_x_1+	 =  case happyOutTok happy_x_1 of { (QConSym happy_var_1) -> +	happyIn136+		 (Qual (Module (fst happy_var_1)) (HsVarName (HsSymbol (snd happy_var_1)))+	)}++happyReduce_345 = happySpecReduce_1  133# happyReduction_345+happyReduction_345 happy_x_1+	 =  case happyOutTok happy_x_1 of { (ConSym happy_var_1) -> +	happyIn137+		 (HsVarName (HsSymbol happy_var_1)+	)}++happyReduce_346 = happySpecReduce_1  134# happyReduction_346+happyReduction_346 happy_x_1+	 =  case happyOut140 happy_x_1 of { happy_var_1 -> +	happyIn138+		 (UnQual happy_var_1+	)}++happyReduce_347 = happySpecReduce_1  134# happyReduction_347+happyReduction_347 happy_x_1+	 =  case happyOut142 happy_x_1 of { happy_var_1 -> +	happyIn138+		 (happy_var_1+	)}++happyReduce_348 = happySpecReduce_1  135# happyReduction_348+happyReduction_348 happy_x_1+	 =  case happyOut141 happy_x_1 of { happy_var_1 -> +	happyIn139+		 (UnQual happy_var_1+	)}++happyReduce_349 = happySpecReduce_1  135# happyReduction_349+happyReduction_349 happy_x_1+	 =  case happyOut142 happy_x_1 of { happy_var_1 -> +	happyIn139+		 (happy_var_1+	)}++happyReduce_350 = happySpecReduce_1  136# happyReduction_350+happyReduction_350 happy_x_1+	 =  case happyOutTok happy_x_1 of { (VarSym happy_var_1) -> +	happyIn140+		 (HsVarName (HsSymbol happy_var_1)+	)}++happyReduce_351 = happySpecReduce_1  136# happyReduction_351+happyReduction_351 happy_x_1+	 =  happyIn140+		 (dot_name+	)++happyReduce_352 = happySpecReduce_1  136# happyReduction_352+happyReduction_352 happy_x_1+	 =  happyIn140+		 (minus_name+	)++happyReduce_353 = happySpecReduce_1  136# happyReduction_353+happyReduction_353 happy_x_1+	 =  happyIn140+		 (pling_name+	)++happyReduce_354 = happySpecReduce_1  137# happyReduction_354+happyReduction_354 happy_x_1+	 =  case happyOutTok happy_x_1 of { (VarSym happy_var_1) -> +	happyIn141+		 (HsVarName (HsSymbol happy_var_1)+	)}++happyReduce_355 = happySpecReduce_1  137# happyReduction_355+happyReduction_355 happy_x_1+	 =  happyIn141+		 (dot_name+	)++happyReduce_356 = happySpecReduce_1  137# happyReduction_356+happyReduction_356 happy_x_1+	 =  happyIn141+		 (pling_name+	)++happyReduce_357 = happySpecReduce_1  138# happyReduction_357+happyReduction_357 happy_x_1+	 =  case happyOutTok happy_x_1 of { (QVarSym happy_var_1) -> +	happyIn142+		 (Qual (Module (fst happy_var_1)) (HsVarName (HsSymbol (snd happy_var_1)))+	)}++happyReduce_358 = happySpecReduce_1  139# happyReduction_358+happyReduction_358 happy_x_1+	 =  case happyOutTok happy_x_1 of { (IntTok happy_var_1) -> +	happyIn143+		 (HsLit (HsInt happy_var_1)+	)}++happyReduce_359 = happySpecReduce_1  139# happyReduction_359+happyReduction_359 happy_x_1+	 =  case happyOutTok happy_x_1 of { (Character happy_var_1) -> +	happyIn143+		 (HsLit (HsChar happy_var_1)+	)}++happyReduce_360 = happySpecReduce_1  139# happyReduction_360+happyReduction_360 happy_x_1+	 =  case happyOutTok happy_x_1 of { (FloatTok happy_var_1) -> +	happyIn143+		 (HsLit (HsFrac (readRational happy_var_1))+	)}++happyReduce_361 = happySpecReduce_1  139# happyReduction_361+happyReduction_361 happy_x_1+	 =  case happyOutTok happy_x_1 of { (StringTok happy_var_1) -> +	happyIn143+		 (HsLit (HsString happy_var_1)+	)}++happyReduce_362 = happySpecReduce_1  139# happyReduction_362+happyReduction_362 happy_x_1+	 =  case happyOutTok happy_x_1 of { (PrimInt happy_var_1) -> +	happyIn143+		 (HsLit (HsIntPrim happy_var_1)+	)}++happyReduce_363 = happySpecReduce_1  139# happyReduction_363+happyReduction_363 happy_x_1+	 =  case happyOutTok happy_x_1 of { (PrimChar happy_var_1) -> +	happyIn143+		 (HsLit (HsCharPrim happy_var_1)+	)}++happyReduce_364 = happySpecReduce_1  139# happyReduction_364+happyReduction_364 happy_x_1+	 =  case happyOutTok happy_x_1 of { (PrimFloat happy_var_1) -> +	happyIn143+		 (HsLit (HsFloatPrim (readRational happy_var_1))+	)}++happyReduce_365 = happySpecReduce_1  139# happyReduction_365+happyReduction_365 happy_x_1+	 =  case happyOutTok happy_x_1 of { (PrimDouble happy_var_1) -> +	happyIn143+		 (HsLit (HsDoublePrim (readRational happy_var_1))+	)}++happyReduce_366 = happySpecReduce_1  139# happyReduction_366+happyReduction_366 happy_x_1+	 =  case happyOutTok happy_x_1 of { (PrimString happy_var_1) -> +	happyIn143+		 (HsLit (HsStringPrim happy_var_1)+	)}++happyReduce_367 = happyMonadReduce 0# 140# happyReduction_367+happyReduction_367 (happyRest) tk+	 = happyThen (( getSrcLoc)+	) (\r -> happyReturn (happyIn144 r))++happyReduce_368 = happySpecReduce_1  141# happyReduction_368+happyReduction_368 happy_x_1+	 =  happyIn145+		 (()+	)++happyReduce_369 = happyMonadReduce 1# 141# happyReduction_369+happyReduction_369 (happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (( popContext)+	) (\r -> happyReturn (happyIn145 r))++happyReduce_370 = happyMonadReduce 0# 142# happyReduction_370+happyReduction_370 (happyRest) tk+	 = happyThen (( getSrcLoc `thenP` \(SrcLoc r c f) ->+				   pushContext (Layout c))+	) (\r -> happyReturn (happyIn146 r))++happyReduce_371 = happySpecReduce_1  143# happyReduction_371+happyReduction_371 happy_x_1+	 =  case happyOutTok happy_x_1 of { (ConId happy_var_1) -> +	happyIn147+		 (Module happy_var_1+	)}++happyReduce_372 = happySpecReduce_1  143# happyReduction_372+happyReduction_372 happy_x_1+	 =  case happyOutTok happy_x_1 of { (QConId happy_var_1) -> +	happyIn147+		 (Module (fst happy_var_1 ++ '.':snd happy_var_1)+	)}++happyReduce_373 = happySpecReduce_1  144# happyReduction_373+happyReduction_373 happy_x_1+	 =  case happyOutTok happy_x_1 of { (ConId happy_var_1) -> +	happyIn148+		 (HsTyClsName (HsIdent happy_var_1)+	)}++happyReduce_374 = happySpecReduce_1  145# happyReduction_374+happyReduction_374 happy_x_1+	 =  case happyOutTok happy_x_1 of { (ConId happy_var_1) -> +	happyIn149+		 (HsTyClsName (HsIdent happy_var_1)+	)}++happyReduce_375 = happySpecReduce_1  146# happyReduction_375+happyReduction_375 happy_x_1+	 =  case happyOutTok happy_x_1 of { (ConId happy_var_1) -> +	happyIn150+		 (UnQual (HsTyClsName (HsIdent happy_var_1))+	)}++happyReduce_376 = happySpecReduce_1  146# happyReduction_376+happyReduction_376 happy_x_1+	 =  case happyOutTok happy_x_1 of { (QConId happy_var_1) -> +	happyIn150+		 (Qual (Module (fst happy_var_1)) (HsTyClsName (HsIdent (snd happy_var_1)))+	)}++happyReduce_377 = happySpecReduce_1  147# happyReduction_377+happyReduction_377 happy_x_1+	 =  case happyOut133 happy_x_1 of { happy_var_1 -> +	happyIn151+		 (happy_var_1+	)}++happyReduce_378 = happySpecReduce_3  147# happyReduction_378+happyReduction_378 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut140 happy_x_2 of { happy_var_2 -> +	happyIn151+		 (happy_var_2+	)}++happyReduce_379 = happySpecReduce_3  148# happyReduction_379+happyReduction_379 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOut151 happy_x_2 of { happy_var_2 -> +	happyIn152+		 (HsTyVar happy_var_2+	)}++happyReduce_380 = happySpecReduce_1  148# happyReduction_380+happyReduction_380 happy_x_1+	 =  case happyOut140 happy_x_1 of { happy_var_1 -> +	happyIn152+		 (HsTyVar happy_var_1+	)}++happyReduce_381 = happyMonadReduce 1# 149# happyReduction_381+happyReduction_381 (happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOutTok happy_x_1 of { (DocCommentNext happy_var_1) -> +	( case parseParas (tokenise happy_var_1) of {+				Left  err -> parseError err;+				Right doc -> returnP doc })}+	) (\r -> happyReturn (happyIn153 r))++happyReduce_382 = happyMonadReduce 1# 150# happyReduction_382+happyReduction_382 (happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOutTok happy_x_1 of { (DocCommentPrev happy_var_1) -> +	( case parseParas (tokenise happy_var_1) of {+				Left  err -> parseError err;+				Right doc -> returnP doc })}+	) (\r -> happyReturn (happyIn154 r))++happyReduce_383 = happyMonadReduce 1# 151# happyReduction_383+happyReduction_383 (happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOutTok happy_x_1 of { (DocCommentNamed happy_var_1) -> +	( let (name,rest) = break isSpace happy_var_1 in+			   case parseParas (tokenise rest) of {+				Left  err -> parseError err;+				Right doc -> returnP (name,doc) })}+	) (\r -> happyReturn (happyIn155 r))++happyReduce_384 = happyMonadReduce 1# 152# happyReduction_384+happyReduction_384 (happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> +	( case happy_var_1 of { DocSection n s -> +			   case parseString (tokenise s) of {+				Left err -> parseError err;+				Right doc -> returnP (n, doc) } })}+	) (\r -> happyReturn (happyIn156 r))++happyReduce_385 = happySpecReduce_1  153# happyReduction_385+happyReduction_385 happy_x_1+	 =  case happyOut154 happy_x_1 of { happy_var_1 -> +	happyIn157+		 (Just happy_var_1+	)}++happyReduce_386 = happySpecReduce_0  153# happyReduction_386+happyReduction_386  =  happyIn157+		 (Nothing+	)++happyReduce_387 = happySpecReduce_1  154# happyReduction_387+happyReduction_387 happy_x_1+	 =  case happyOut153 happy_x_1 of { happy_var_1 -> +	happyIn158+		 (Just happy_var_1+	)}++happyReduce_388 = happySpecReduce_0  154# happyReduction_388+happyReduction_388  =  happyIn158+		 (Nothing+	)++happyReduce_389 = happyMonadReduce 1# 155# happyReduction_389+happyReduction_389 (happy_x_1 `HappyStk`+	happyRest) tk+	 = happyThen (case happyOutTok happy_x_1 of { (DocCommentNext happy_var_1) -> +	( case parseModuleHeader happy_var_1 of {+                         Right (str,info) -> +                            case parseParas (tokenise str) of {+                               Left err -> parseError err;+                               Right doc -> returnP (info,Just doc);+                               };+                         Left err -> parseError err+                         })}+	) (\r -> happyReturn (happyIn159 r))++happyNewToken action sts stk+	= lexer(\tk -> +	let cont i = happyDoAction i tk action sts stk in+	case tk of {+	EOF -> happyDoAction 83# tk action sts stk;+	VarId happy_dollar_dollar -> cont 1#;+	IPVarId happy_dollar_dollar -> cont 2#;+	QVarId happy_dollar_dollar -> cont 3#;+	ConId happy_dollar_dollar -> cont 4#;+	QConId happy_dollar_dollar -> cont 5#;+	VarSym happy_dollar_dollar -> cont 6#;+	ConSym happy_dollar_dollar -> cont 7#;+	QVarSym happy_dollar_dollar -> cont 8#;+	QConSym happy_dollar_dollar -> cont 9#;+	IntTok happy_dollar_dollar -> cont 10#;+	FloatTok happy_dollar_dollar -> cont 11#;+	Character happy_dollar_dollar -> cont 12#;+	StringTok happy_dollar_dollar -> cont 13#;+	PrimInt happy_dollar_dollar -> cont 14#;+	PrimString happy_dollar_dollar -> cont 15#;+	PrimFloat happy_dollar_dollar -> cont 16#;+	PrimDouble happy_dollar_dollar -> cont 17#;+	PrimChar happy_dollar_dollar -> cont 18#;+	DocCommentNext happy_dollar_dollar -> cont 19#;+	DocCommentPrev happy_dollar_dollar -> cont 20#;+	DocCommentNamed happy_dollar_dollar -> cont 21#;+	DocSection _ _ -> cont 22#;+	DocOptions happy_dollar_dollar -> cont 23#;+	LeftParen -> cont 24#;+	RightParen -> cont 25#;+	LeftUT -> cont 26#;+	RightUT -> cont 27#;+	SemiColon -> cont 28#;+	LeftCurly -> cont 29#;+	RightCurly -> cont 30#;+	VRightCurly -> cont 31#;+	LeftSquare -> cont 32#;+	RightSquare -> cont 33#;+	Comma -> cont 34#;+	Underscore -> cont 35#;+	BackQuote -> cont 36#;+	Dot -> cont 37#;+	DotDot -> cont 38#;+	DoubleColon -> cont 39#;+	Equals -> cont 40#;+	Backslash -> cont 41#;+	Bar -> cont 42#;+	LeftArrow -> cont 43#;+	RightArrow -> cont 44#;+	At -> cont 45#;+	Tilde -> cont 46#;+	DoubleArrow -> cont 47#;+	Minus -> cont 48#;+	Exclamation -> cont 49#;+	KW_As -> cont 50#;+	KW_Case -> cont 51#;+	KW_CCall -> cont 52#;+	KW_Class -> cont 53#;+	KW_Data -> cont 54#;+	KW_Default -> cont 55#;+	KW_Deriving -> cont 56#;+	KW_Do -> cont 57#;+	KW_DotNet -> cont 58#;+	KW_Else -> cont 59#;+	KW_Export -> cont 60#;+	KW_Forall -> cont 61#;+	KW_Foreign -> cont 62#;+	KW_Hiding -> cont 63#;+	KW_If -> cont 64#;+	KW_Import -> cont 65#;+	KW_In -> cont 66#;+	KW_Infix -> cont 67#;+	KW_InfixL -> cont 68#;+	KW_InfixR -> cont 69#;+	KW_Instance -> cont 70#;+	KW_Let -> cont 71#;+	KW_Module -> cont 72#;+	KW_NewType -> cont 73#;+	KW_Of -> cont 74#;+	KW_Safe -> cont 75#;+	KW_StdCall -> cont 76#;+	KW_Then -> cont 77#;+	KW_ThreadSafe -> cont 78#;+	KW_Type -> cont 79#;+	KW_Unsafe -> cont 80#;+	KW_Where -> cont 81#;+	KW_Qualified -> cont 82#;+	_ -> happyError' tk+	})++happyError_ tk = happyError' tk++happyThen :: () => P a -> (a -> P b) -> P b+happyThen = (thenP)+happyReturn :: () => a -> P a+happyReturn = (returnP)+happyThen1 = happyThen+happyReturn1 :: () => a -> P a+happyReturn1 = happyReturn+happyError' :: () => Token -> P a+happyError' tk = (\token -> happyError) tk++parse = happySomeParser where+  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut4 x))++happySeq = happyDontSeq+++happyError = parseError "Parse error"+{-# LINE 1 "GenericTemplate.hs" #-}+{-# LINE 1 "GenericTemplate.hs" #-}+{-# LINE 1 "<built-in>" #-}+{-# LINE 1 "<command line>" #-}+{-# LINE 1 "GenericTemplate.hs" #-}+-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp ++{-# LINE 28 "GenericTemplate.hs" #-}+++data Happy_IntList = HappyCons Int# Happy_IntList++++++{-# LINE 49 "GenericTemplate.hs" #-}++{-# LINE 59 "GenericTemplate.hs" #-}++{-# LINE 68 "GenericTemplate.hs" #-}++infixr 9 `HappyStk`+data HappyStk a = HappyStk a (HappyStk a)++-----------------------------------------------------------------------------+-- starting the parse++happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll++-----------------------------------------------------------------------------+-- Accepting the parse++-- If the current token is 0#, it means we've just accepted a partial+-- parse (a %partial parser).  We must ignore the saved token on the top of+-- the stack in this case.+happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =+	happyReturn1 ans+happyAccept j tk st sts (HappyStk ans _) = +	(happyTcHack j (happyTcHack st)) (happyReturn1 ans)++-----------------------------------------------------------------------------+-- Arrays only: do the next action++++happyDoAction i tk st+	= {- nothing -}+++	  case action of+		0#		  -> {- nothing -}+				     happyFail i tk st+		-1# 	  -> {- nothing -}+				     happyAccept i tk st+		n | (n <# (0# :: Int#)) -> {- nothing -}++				     (happyReduceArr ! rule) i tk st+				     where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))+		n		  -> {- nothing -}+++				     happyShift new_state i tk st+				     where new_state = (n -# (1# :: Int#))+   where off    = indexShortOffAddr happyActOffsets st+	 off_i  = (off +# i)+	 check  = if (off_i >=# (0# :: Int#))+			then (indexShortOffAddr happyCheck off_i ==#  i)+			else False+ 	 action | check     = indexShortOffAddr happyTable off_i+		| otherwise = indexShortOffAddr happyDefActions st++{-# LINE 127 "GenericTemplate.hs" #-}+++indexShortOffAddr (HappyA# arr) off =+#if __GLASGOW_HASKELL__ > 500+	narrow16Int# i+#elif __GLASGOW_HASKELL__ == 500+	intToInt16# i+#else+	(i `iShiftL#` 16#) `iShiftRA#` 16#+#endif+  where+#if __GLASGOW_HASKELL__ >= 503+	i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)+#else+	i = word2Int# ((high `shiftL#` 8#) `or#` low)+#endif+	high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))+	low  = int2Word# (ord# (indexCharOffAddr# arr off'))+	off' = off *# 2#++++++data HappyAddr = HappyA# Addr#+++++-----------------------------------------------------------------------------+-- HappyState data type (not arrays)++{-# LINE 170 "GenericTemplate.hs" #-}++-----------------------------------------------------------------------------+-- Shifting a token++happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =+     let i = (case unsafeCoerce# x of { (I# (i)) -> i }) in+--     trace "shifting the error token" $+     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)++happyShift new_state i tk st sts stk =+     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)++-- happyReduce is specialised for the common cases.++happySpecReduce_0 i fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happySpecReduce_0 nt fn j tk st@((action)) sts stk+     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)++happySpecReduce_1 i fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')+     = let r = fn v1 in+       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))++happySpecReduce_2 i fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')+     = let r = fn v1 v2 in+       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))++happySpecReduce_3 i fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')+     = let r = fn v1 v2 v3 in+       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))++happyReduce k i fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happyReduce k nt fn j tk st sts stk+     = case happyDrop (k -# (1# :: Int#)) sts of+	 sts1@((HappyCons (st1@(action)) (_))) ->+        	let r = fn stk in  -- it doesn't hurt to always seq here...+       		happyDoSeq r (happyGoto nt j tk st1 sts1 r)++happyMonadReduce k nt fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happyMonadReduce k nt fn j tk st sts stk =+        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))+       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))+             drop_stk = happyDropStk k stk++happyMonad2Reduce k nt fn 0# tk st sts stk+     = happyFail 0# tk st sts stk+happyMonad2Reduce k nt fn j tk st sts stk =+       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))+       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))+             drop_stk = happyDropStk k stk++             off    = indexShortOffAddr happyGotoOffsets st1+             off_i  = (off +# nt)+             new_state = indexShortOffAddr happyTable off_i+++++happyDrop 0# l = l+happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t++happyDropStk 0# l = l+happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs++-----------------------------------------------------------------------------+-- Moving to a new state after a reduction+++happyGoto nt j tk st = +   {- nothing -}+   happyDoAction j tk new_state+   where off    = indexShortOffAddr happyGotoOffsets st+	 off_i  = (off +# nt)+ 	 new_state = indexShortOffAddr happyTable off_i+++++-----------------------------------------------------------------------------+-- Error recovery (0# is the error token)++-- parse error if we are in recovery and we fail again+happyFail  0# tk old_st _ stk =+--	trace "failing" $ +    	happyError_ tk++{-  We don't need state discarding for our restricted implementation of+    "error".  In fact, it can cause some bogus parses, so I've disabled it+    for now --SDM++-- discard a state+happyFail  0# tk old_st (HappyCons ((action)) (sts)) +						(saved_tok `HappyStk` _ `HappyStk` stk) =+--	trace ("discarding state, depth " ++ show (length stk))  $+	happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))+-}++-- Enter error recovery: generate an error token,+--                       save the old token and carry on.+happyFail  i tk (action) sts stk =+--      trace "entering error recovery" $+	happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk)++-- Internal happy errors:++notHappyAtAll = error "Internal Happy error\n"++-----------------------------------------------------------------------------+-- Hack to get the typechecker to accept our action functions+++happyTcHack :: Int# -> a -> a+happyTcHack x y = y+{-# INLINE happyTcHack #-}+++-----------------------------------------------------------------------------+-- Seq-ing.  If the --strict flag is given, then Happy emits +--	happySeq = happyDoSeq+-- otherwise it emits+-- 	happySeq = happyDontSeq++happyDoSeq, happyDontSeq :: a -> b -> b+happyDoSeq   a b = a `seq` b+happyDontSeq a b = b++-----------------------------------------------------------------------------+-- Don't inline any functions from the template.  GHC has a nasty habit+-- of deciding to inline happyGoto everywhere, which increases the size of+-- the generated parser quite a bit.+++{-# NOINLINE happyDoAction #-}+{-# NOINLINE happyTable #-}+{-# NOINLINE happyCheck #-}+{-# NOINLINE happyActOffsets #-}+{-# NOINLINE happyGotoOffsets #-}+{-# NOINLINE happyDefActions #-}++{-# NOINLINE happyShift #-}+{-# NOINLINE happySpecReduce_0 #-}+{-# NOINLINE happySpecReduce_1 #-}+{-# NOINLINE happySpecReduce_2 #-}+{-# NOINLINE happySpecReduce_3 #-}+{-# NOINLINE happyReduce #-}+{-# NOINLINE happyMonadReduce #-}+{-# NOINLINE happyGoto #-}+{-# NOINLINE happyFail #-}++-- end of Happy Template.
doc/haddock.xml view
@@ -16,7 +16,7 @@       <holder>Simon Marlow</holder>     </copyright>     <abstract>-      <para>This document describes Haddock version 0.8, a Haskell+      <para>This document describes Haddock version 0.9, a Haskell       documentation tool.</para>     </abstract>   </bookinfo>@@ -375,7 +375,7 @@ 	      </listitem> 	    </varlistentry> 	    <varlistentry>-	      <term><filename>haddock.js</filename></term>+	      <term><filename>haddock-util.js</filename></term> 	      <listitem> 		<para>A small piece of JavaScript for collapsing sections 		of the generated HTML.</para>@@ -512,6 +512,16 @@ 	      '<literal>v</literal>' or a type '<literal>t</literal>'. This is 	      only valid for the <option>--source-entity</option> option.</para> 	    </listitem>+	    <listitem>+	      <para>The string <literal>%L</literal> or <literal>%{LINE}</literal>+	      is replaced by the number of the line where the exported value or+              type is defined. This is only valid for the+              <option>--source-entity</option> option.</para>+	    </listitem>+            <listitem>+	      <para>The string <literal>%%</literal> is replaced by+              <literal>%</literal>.</para>+	    </listitem> 	  </itemizedlist>  	  <para>For example, if your sources are online under some directory,@@ -532,6 +542,13 @@ 	  replace it with a character <replaceable>c</replaceable> use 	  <literal>%{MODULE/./<replaceable>c</replaceable>}</literal>.</para> +	  <para>Similarly, for the <literal>%{FILE}</literal> substitution+          you may want to replace the '<literal>/</literal>' character in+          the file names with some other character (especially for links+          to colourised entity source code with a shared css file).  To replace+          it with a character <replaceable>c</replaceable> use+          <literal>%{FILE///<replaceable>c</replaceable>}</literal>/</para>+           <para>One example of a tool that can generate syntax-highlighted           HTML from your source code, complete with anchors suitable for use           from haddock, is@@ -591,13 +608,14 @@ 	  <literal>haddock --comments-base=<replaceable>url</replaceable> 	  --comments-module=<replaceable>url</replaceable>/%M</literal></para> 	  -	  <para>If your Wiki system doesn't like the '<literal>.</literal>'-	  character in Haskell module names, you can replace it with a-	  different character. For example to replace the-	  '<literal>.</literal>' characters with '<literal>_</literal>' use-	  <literal>haddock --comments-base=<replaceable>url</replaceable>+	  <para>If your Wiki system doesn't like the '<literal>.</literal>' character+	  in Haskell module names, you can replace it with a different character. For+	  example to replace the '<literal>.</literal>' characters with+	  '<literal>_</literal>' use <literal>haddock+	  --comments-base=<replaceable>url</replaceable> 	  --comments-module=<replaceable>url</replaceable>/%{MODULE/./_}</literal>-	  </para>+	  Similarly, you can replace the '<literal>/</literal>' in a file name (may+	  be useful for entity comments, but probably not.) </para>  	</listitem>       </varlistentry>@@ -804,6 +822,28 @@ 	    atribute. (<xref linkend="module-attributes" />).</para> 	</listitem>       </varlistentry>++      <varlistentry>+	<term>+	  <indexterm><primary><option>--ghc-pkg</option></primary>+	  </indexterm>+	  <option>--ghc-pkg</option>&nbsp;<replaceable>filename</replaceable></term>+	<listitem>+	  <para>Specifies the <literal>ghc-pkg</literal> program to run.</para>+	</listitem>+      </varlistentry>++      <varlistentry>+	<term>+	  <indexterm><primary><option>--allow-missing-html</option></primary>+	  </indexterm>+	  <option>--allow-missing-html</option></term>+	<listitem>+	  <para>Allow links to another package's documentation to be+	  created even if the directory that allegedly contains the+	  package's HTML documentation does not exist.</para>+	</listitem>+      </varlistentry>     </variablelist>      <section id="cpp">@@ -1559,14 +1599,19 @@       <section> 	<title>Emphasis and Monospaced text</title> -	<para>Emphasis may be added by surrounding text with-	<literal>/.../</literal>.</para>- 	<para>Monospaced (or typewriter) text is indicated by 	surrounding it with <literal>@...@</literal>.  Other markup is 	valid inside a monospaced span: for example 	<literal>@'f'&nbsp;a&nbsp;b@</literal> will hyperlink the 	identifier <literal>f</literal> inside the code fragment.</para>++	<para>Emphasis may be added by surrounding text with+	<literal>/.../</literal>.  Emphasis is limited to a single+	line only; an unmatched <literal>/</literal> character on a+	line is not treated as beginning emphasis (this is to reduce+	accidental parse errors due to stray <literal>/</literal>+	characters).  Inside <literal>/.../</literal>, all characters+	except <literal>/</literal> are interpreted literally.</para>       </section>        <section>
− examples/Bug10.hs
@@ -1,3 +0,0 @@--- | Module: M-f :: a -> a-
examples/Test.hs view
@@ -66,6 +66,10 @@  	-- $aux12 +	-- $aux13++	-- $aux14+ 	-- | This is some inline documentation in the export list 	-- 	-- > a code block using bird-tracks@@ -80,7 +84,7 @@  	{-| nested-style doc comments -} -	-- * Existential \/ Universal types+	-- * Existential/Universal types 	Ex(..),  	-- * Type signatures with argument docs@@ -224,7 +228,8 @@ {-| In a comment string we can refer to identifiers in scope with single quotes like this: 'T', and we can refer to modules by-using double quotes: "Foo".  We can add emphasis /like this/.+using double quotes: "Foo".  We can add emphasis /like this/,+/and/ like /this/.     * This is a bulleted list @@ -271,6 +276,8 @@ -- $aux4 -- -- @ code block on its own in named doc (after newline) @+--+-- with some following text  {- $aux5 a nested, named doc comment @@ -342,7 +349,27 @@ -- > bar --  --- | A data-type using existential\/universal types+-- $aux13+-- This is the code block example from the documentation.  There should+-- be no extra vertical space after the first code block, only a normal+-- paragraph break.+--+-- @+-- f x = x + x+-- @+--+-- >  g x = x * 42++{- $aux14++@+blank++line+@+-}++-- | A data-type using existential/universal types data Ex a    = forall b . C b => Ex1 b   | forall b . Ex2 b
haddock.cabal view
@@ -1,6 +1,5 @@ name: haddock-cabal-version: >=1.1.4-version: 0.8+version: 0.9 license: BSD3 license-file: LICENSE copyright: (c) Simon Marlow@@ -9,11 +8,12 @@ stability: stable homepage: http://www.haskell.org/haddock/ synopsis: Haddock is a documentation-generation tool for Haskell libraries-build-depends: base>=1.0, haskell98>=1.0+category: Development+cabal-version: >= 1.2 data-files: 	html/haddock-DEBUG.css 	html/haddock.css-	html/haddock.js+	html/haddock-util.js 	html/haskell_icon.gif 	html/minus.gif 	html/plus.gif@@ -53,35 +53,46 @@ 	haskell.vim 	src/haddock.sh -executable: haddock-hs-source-dirs: src-main-is: Main.hs-extensions: CPP-other-modules:-	Binary-	BlockTable-	Digraph-	FastMutInt-	HaddockDB-	HaddockDevHelp-	HaddockHH-	HaddockHH2-	HaddockHoogle-	HaddockHtml-	HaddockLex-	HaddockModuleTree-	HaddockParse-	HaddockRename-	HaddockTypes-	HaddockUtil-	HaddockVersion-	HsLexer-	HsParseMonad-	HsParseUtils-	HsParser-	HsSyn-	Html-	Main-	Map-	Set-ghc-options: -O+flag small_base+  description: Choose the new smaller, split-up base package.++executable haddock+  executable: haddock+  hs-source-dirs: src+  main-is: Main.hs++  if flag(small_base)+    build-depends: base >= 2.1, array, containers, directory, pretty, process+  else+    build-depends: base >= 1.0++  build-depends: haskell98 >= 1.0++  extensions: CPP+  other-modules:+        Binary+        BlockTable+        Digraph+        FastMutInt+        HaddockDB+        HaddockDevHelp+        HaddockHH+        HaddockHH2+        HaddockHoogle+        HaddockHtml+        HaddockLex+        HaddockModuleTree+        HaddockParse+        HaddockRename+        HaddockTypes+        HaddockUtil+        HaddockVersion+        HsLexer+        HsParseMonad+        HsParseUtils+        HsParser+        HsSyn+        Html+        Main+        Map+        Set
haddock.spec view
@@ -5,7 +5,7 @@ # If this file is part of a tarball, you can build RPMs directly from # the tarball by using the following command: #-#    rpm -ta haddock-(VERSION)-src.tar.gz+#    rpm -ta haddock-(VERSION).tar.gz # # The resulting package will be placed in the RPMS/(arch) subdirectory # of your RPM build directory (usually /usr/src/redhat or ~/rpm), with@@ -17,7 +17,7 @@ # version label of your release tarball.  %define name    haddock-%define version 0.8+%define version 0.9 %define release 1  Name:           %{name}@@ -26,7 +26,7 @@ License:        BSD-like Group:          Development/Languages/Haskell URL:            http://haskell.org/haddock/-Source:         http://haskell.org/haddock/haddock-%{version}-src.tar.gz+Source:         http://haskell.org/haddock/haddock-%{version}.tar.gz Packager:       Sven Panne <sven.panne@aedion.de> BuildRoot:      %{_tmppath}/%{name}-%{version}-build Prefix:         %{_prefix}@@ -55,7 +55,7 @@ %setup  %build-runhaskell Setup.lhs configure --prefix=%{prefix}+runhaskell Setup.lhs configure --prefix=%{_prefix} --docdir=%{_datadir}/doc/packages/%{name} runhaskell Setup.lhs build cd doc test -f configure || autoreconf
− haddock.spec~
@@ -1,81 +0,0 @@-# This is an RPM spec file that specifies how to package-# haddock for Red Hat Linux and, possibly, similar systems.-# It has been tested on Red Hat Linux 7.2 and SuSE Linux 9.1.-#-# If this file is part of a tarball, you can build RPMs directly from-# the tarball by using the following command:-#-#    rpm -ta haddock-(VERSION)-src.tar.gz-#-# The resulting package will be placed in the RPMS/(arch) subdirectory-# of your RPM build directory (usually /usr/src/redhat or ~/rpm), with-# the name haddock-(VERSION)-(RELEASE).noarch.rpm.  A corresponding-# source RPM package will be in the SRPMS subdirectory.-#-# NOTE TO HADDOCK MAINTAINERS: When you release a new version of-# Haskell mode, update the version definition below to match the-# version label of your release tarball.--%define name    haddock-%define version 0.8-%define release 1--Name:           %{name}-Version:        %{version}-Release:        %{release}-License:        BSD-like-Group:          Development/Languages/Haskell-URL:            http://haskell.org/haddock/-Source:         http://haskell.org/haddock/haddock-%{version}.tar.gz-Packager:       Sven Panne <sven.panne@aedion.de>-BuildRoot:      %{_tmppath}/%{name}-%{version}-build-Prefix:         %{_prefix}-BuildRequires:  ghc, docbook-dtd, docbook-xsl-stylesheets, libxslt, libxml2, fop, xmltex, dvips-Summary:        A documentation tool for annotated Haskell source code--%description-Haddock is a tool for automatically generating documentation from-annotated Haskell source code. It is primary intended for documenting-libraries, but it should be useful for any kind of Haskell code.--Haddock lets you write documentation annotations next to the-definitions of functions and types in the source code, in a syntax-that is easy on the eye when writing the source code (no heavyweight-mark-up). The documentation generated by Haddock is fully hyperlinked--- click on a type name in a type signature to go straight to the-definition, and documentation, for that type.--Haddock can generate documentation in multiple formats; currently HTML-is implemented, and there is partial support for generating DocBook.-The generated HTML uses stylesheets, so you need a fairly up-to-date-browser to view it properly (Mozilla, Konqueror, Opera, and IE 6-should all be ok).--%prep-%setup--%build-runhaskell Setup.lhs configure --prefix=%{prefix}-runhaskell Setup.lhs build-cd doc-test -f configure || autoreconf-./configure-make html--%install-runhaskell Setup.lhs copy --destdir=${RPM_BUILD_ROOT}--%clean-rm -rf ${RPM_BUILD_ROOT}--%files-%defattr(-,root,root)-%doc CHANGES-%doc LICENSE-%doc README-%doc TODO-%doc doc/haddock-%doc examples-%doc haskell.vim-%{prefix}/bin/haddock-%{prefix}/share/haddock-%{version}
+ html/haddock-util.js view
@@ -0,0 +1,133 @@+// Haddock JavaScript utilities+function toggle(button,id)+{+   var n = document.getElementById(id).style;+   if (n.display == "none")+   {+    button.src = "minus.gif";+    n.display = "block";+   }+   else+   {+    button.src = "plus.gif";+    n.display = "none";+   }+}+++var max_results = 75; // 50 is not enough to search for map in the base libraries+var shown_range = null;+var last_search = null;++function quick_search()+{+    perform_search(false);+}++function full_search()+{+    perform_search(true);+}+++function perform_search(full)+{+    var text = document.getElementById("searchbox").value.toLowerCase();+    if (text == last_search && !full) return;+    last_search = text;+    +    var table = document.getElementById("indexlist");+    var status = document.getElementById("searchmsg");+    var children = table.firstChild.childNodes;+    +    // first figure out the first node with the prefix+    var first = bisect(-1);+    var last = (first == -1 ? -1 : bisect(1));++    if (first == -1)+    {+        table.className = "";+        status.innerHTML = "No results found, displaying all";+    }+    else if (first == 0 && last == children.length - 1)+    {+        table.className = "";+        status.innerHTML = "";+    }+    else if (last - first >= max_results && !full)+    {+        table.className = "";+        status.innerHTML = "More than " + max_results + ", press Search to display";+    }+    else+    {+        // decide what you need to clear/show+        if (shown_range)+            setclass(shown_range[0], shown_range[1], "indexrow");+        setclass(first, last, "indexshow");+        shown_range = [first, last];+        table.className = "indexsearch";+        status.innerHTML = "";+    }++    +    function setclass(first, last, status)+    {+        for (var i = first; i <= last; i++)+        {+            children[i].className = status;+        }+    }+    +    +    // do a binary search, treating 0 as ...+    // return either -1 (no 0's found) or location of most far match+    function bisect(dir)+    {+        var first = 0, finish = children.length - 1;+        var mid, success = false;++        while (finish - first > 3)+        {+            mid = Math.floor((finish + first) / 2);++            var i = checkitem(mid);+            if (i == 0) i = dir;+            if (i == -1)+                finish = mid;+            else+                first = mid;+        }+        var a = (dir == 1 ? first : finish);+        var b = (dir == 1 ? finish : first);+        for (var i = b; i != a - dir; i -= dir)+        {+            if (checkitem(i) == 0) return i;+        }+        return -1;+    }    +    +    +    // from an index, decide what the result is+    // 0 = match, -1 is lower, 1 is higher+    function checkitem(i)+    {+        var s = getitem(i).toLowerCase().substr(0, text.length);+        if (s == text) return 0;+        else return (s > text ? -1 : 1);+    }+    +    +    // from an index, get its string+    // this abstracts over alternates+    function getitem(i)+    {+        for ( ; i >= 0; i--)+        {+            var s = children[i].firstChild.firstChild.data;+            if (s.indexOf(' ') == -1)+                return s;+        }+        return ""; // should never be reached+    }+}
html/haddock.css view
@@ -141,6 +141,13 @@   padding-left: 10px } +TABLE.indexsearch TR.indexrow {+  display: none;+}+TABLE.indexsearch TR.indexshow {+  display: table-row;+}+ TD.indexentry {   vertical-align: top;   padding-right: 10px
− html/haddock.js
@@ -1,15 +0,0 @@-// Haddock JavaScript utilities-function toggle(button,id)-{-   var n = document.getElementById(id).style;-   if (n.display == "none")-   {-	button.src = "minus.gif";-	n.display = "block";-   }-   else-   {-	button.src = "plus.gif";-	n.display = "none";-   }-}
src/Binary.hs view
@@ -135,14 +135,6 @@  eofErrorType = EOF -#ifndef SIZEOF_HSINT-#define SIZEOF_HSINT  INT_SIZE_IN_BYTES-#endif--#ifndef SIZEOF_HSWORD-#define SIZEOF_HSWORD WORD_SIZE_IN_BYTES-#endif- #else type BinArray = IOUArray Int Word8 #endif@@ -274,7 +266,7 @@  	     | i <- [ 0 .. sz-1 ] ]    writeFastMutInt sz_r0 sz'    writeIORef arr_r0 arr'-   hPutStrLn stderr ("expanding to size: " ++ show sz')+--   hPutStrLn stderr ("expanding to size: " ++ show sz')    return () expandBin (BinIO _ _ _) _ = return () 	-- no need to expand a file, we'll assume they expand by themselves.@@ -436,20 +428,11 @@ --    getF bh p = case getBitsF bh 8 p of (x,b) -> (toEnum x,b)  instance Binary Int where-#if SIZEOF_HSINT == 4-    put_ bh i = put_ bh (fromIntegral i :: Int32)-    get  bh = do-	x <- get bh-	return $! (fromIntegral (x :: Int32))-#elif SIZEOF_HSINT == 8     put_ bh i = put_ bh (fromIntegral i :: Int64)     get  bh = do-	x <- get bh-	return $! (fromIntegral (x :: Int64))-#else-#error "unsupported sizeof(HsInt)"-#endif---    getF bh   = getBitsF bh 32+        x <- get bh+        return $! (fromIntegral (x :: Int64))+--    getF bh   = getBitsF bh 64  {- instance Binary a => Binary [a] where
src/HaddockHtml.hs view
@@ -146,14 +146,16 @@  srcButton (_, Just src_module_url, _) (Just iface) =   let url = spliceURL (Just $ iface_orig_filename iface)-                      (Just $ iface_module iface) Nothing src_module_url+                      (Just $ iface_module iface) Nothing Nothing+                      src_module_url    in topButBox (anchor ! [href url] << toHtml "Source code")  srcButton _ _ =   Html.emptyTable  -spliceURL :: Maybe FilePath -> Maybe Module -> Maybe HsName -> String -> String-spliceURL maybe_file maybe_mod maybe_name url = run url+spliceURL :: Maybe FilePath -> Maybe Module -> Maybe HsName -> Maybe SrcLoc+          -> String -> String+spliceURL maybe_file maybe_mod maybe_name maybe_loc url = run url  where   file = fromMaybe "" maybe_file   mod = case maybe_mod of@@ -166,20 +168,30 @@       Just (n@(HsTyClsName _)) -> (escapeStr (hsNameStr n), "t")       Just (n@(HsVarName _))   -> (escapeStr (hsNameStr n), "v") +  line = case maybe_loc of+           Nothing -> ""+           Just (SrcLoc l _ _) -> show l+   run "" = ""   run ('%':'M':rest) = mod ++ run rest   run ('%':'F':rest) = file ++ run rest   run ('%':'N':rest) = name ++ run rest   run ('%':'K':rest) = kind ++ run rest+  run ('%':'L':rest) = line ++ run rest+  run ('%':'%':rest) = "%" ++ run rest    run ('%':'{':'M':'O':'D':'U':'L':'E':'}':rest) = mod ++ run rest   run ('%':'{':'F':'I':'L':'E':'}':rest)         = file ++ run rest   run ('%':'{':'N':'A':'M':'E':'}':rest)         = name ++ run rest   run ('%':'{':'K':'I':'N':'D':'}':rest)         = kind ++ run rest+  run ('%':'{':'L':'I':'N':'E':'}':rest)         = line ++ run rest    run ('%':'{':'M':'O':'D':'U':'L':'E':'/':'.':'/':c:'}':rest) =     map (\x -> if x == '.' then c else x) mod ++ run rest +  run ('%':'{':'F':'I':'L':'E':'/':'/':'/':c:'}':rest) =+    map (\x -> if x == '/' then c else x) file ++ run rest+   run (c:rest) = c : run rest    wikiButton :: WikiURLs -> Maybe Module -> HtmlTable@@ -187,7 +199,7 @@   topButBox (anchor ! [href wiki_base_url] << toHtml "User Comments")  wikiButton (_, Just wiki_module_url, _) (Just mod) =-  let url = spliceURL Nothing (Just mod) Nothing wiki_module_url+  let url = spliceURL Nothing (Just mod) Nothing Nothing wiki_module_url    in topButBox (anchor ! [href url] << toHtml "User Comments")  wikiButton _ _ =@@ -397,17 +409,15 @@ ppHtmlIndex odir doctitle maybe_package maybe_html_help_format   maybe_contents_url maybe_source_url maybe_wiki_url ifaces = do   let html = -	header (documentCharacterEncoding +++-		thetitle (toHtml (doctitle ++ " (Index)")) +++-		styleSheet) ++++        header (documentCharacterEncoding ++++                thetitle (toHtml (doctitle ++ " (Index)")) ++++        styleSheet ++++        (script ! [src jsFile, thetype "text/javascript"] $ noHtml)) +++         body << vanillaTable << (-	    simpleHeader doctitle maybe_contents_url Nothing+            simpleHeader doctitle maybe_contents_url Nothing                          maybe_source_url maybe_wiki_url </>-	    index_html-	   )--  when split_indices $-    mapM_ (do_sub_index index) initialChars+        search_box </> index_html+           )    writeFile (pathJoin [odir, indexHtmlFile]) (renderHtml html)   @@ -419,46 +429,31 @@     Just "devhelp" -> return ()     Just format    -> fail ("The "++format++" format is not implemented")  where-  split_indices = length index > 50--  index_html-    | split_indices = -	tda [theclass "section1"] << -	      	toHtml ("Index") </>-	indexInitialLetterLinks-   | otherwise =-	td << table ! [cellpadding 0, cellspacing 5] <<-	  aboves (map indexElt index) - 	-  indexInitialLetterLinks = -	td << table ! [cellpadding 0, cellspacing 5] <<-	    besides [ td << anchor ! [href (subIndexHtmlFile c)] <<-			 toHtml [c]-		    | c <- initialChars-                    , any ((==c) . toUpper . head . fst) index ]+  -- colspan 2, marginheight 5+  search_box :: HtmlTable+  search_box = tda [colspan 2, thestyle "padding-top:5px;"] << search+    where+      search :: Html+      search = form ! [strAttr "onsubmit" "full_search(); return false;", action ""] << (+                    "Search: "+                    +++ input ! [identifier "searchbox", strAttr "onkeyup" "quick_search()"]+                    +++ " " +++ input ! [value "Search", thetype "submit"]+                    +++ " " +++ thespan ! [identifier "searchmsg"] << " ") -  do_sub_index this_ix c-    = unless (null index_part) $-        writeFile (pathJoin [odir, subIndexHtmlFile c]) (renderHtml html)-    where -      html = header (documentCharacterEncoding +++-		thetitle (toHtml (doctitle ++ " (Index)")) +++-		styleSheet) +++-             body << vanillaTable << (-	        simpleHeader doctitle maybe_contents_url Nothing-                             maybe_source_url maybe_wiki_url </>-		indexInitialLetterLinks </>-	        tda [theclass "section1"] << -	      	toHtml ("Index (" ++ c:")") </>-	        td << table ! [cellpadding 0, cellspacing 5] <<-	      	  aboves (map indexElt index_part) -	       )+  index_html = td << setTrClass (table ! [identifier "indexlist", cellpadding 0, cellspacing 5] <<+          aboves (map indexElt index)) -      index_part = [(n,stuff) | (n,stuff) <- this_ix, toUpper (head n) == c]+  setTrClass :: Html -> Html+  setTrClass (Html xs) = Html $ map f xs+      where+          f (HtmlTag name attrs inner)+               | map toUpper name == "TR" = HtmlTag name (theclass "indexrow":attrs) inner+               | otherwise = HtmlTag name attrs (setTrClass inner)+          f x = x    index :: [(String, Map HsQName [(Module,Bool)])]   index = sortBy cmp (Map.toAscList full_index)-    where cmp (n1,_) (n2,_) = n1 `compare` n2+    where cmp (n1,_) (n2,_) = map toUpper n1 `compare` map toUpper n2    -- for each name (a plain string), we have a number of original HsNames that   -- it can refer to, and for each of those we have a list of modules@@ -466,50 +461,48 @@   -- in a visible or invisible way (hence the Bool).   full_index :: Map String (Map HsQName [(Module,Bool)])   full_index = Map.fromListWith (flip (Map.unionWith (++)))-		(concat (map getIfaceIndex ifaces))+                (concat (map getIfaceIndex ifaces))    getIfaceIndex iface =      [ (hsNameStr nm, -	Map.fromList [(orig, [(mdl, not (nm `elem` iface_reexported iface))])])+        Map.fromList [(orig, [(mdl, not (nm `elem` iface_reexported iface))])])     | (nm, orig) <- Map.toAscList (iface_env iface) ]     where mdl = iface_module iface    indexElt :: (String, Map HsQName [(Module,Bool)]) -> HtmlTable   indexElt (str, entities) =       case Map.toAscList entities of-	[(nm,entries)] ->  -	    tda [ theclass "indexentry" ] << toHtml str <-> -			indexLinks (unQual nm) entries-	many_entities ->-	    tda [ theclass "indexentry" ] << toHtml str </> -		aboves (map doAnnotatedEntity (zip [1..] many_entities))+        [(nm,entries)] ->  +            tda [ theclass "indexentry" ] << toHtml str <-> +                        indexLinks (unQual nm) entries+        many_entities ->+            tda [ theclass "indexentry" ] << toHtml str </> +                aboves (map doAnnotatedEntity (zip [1..] many_entities))    unQual (Qual _ nm) = nm   unQual (UnQual nm) = nm    doAnnotatedEntity (j,(qnm,entries))-	= tda [ theclass "indexannot" ] << -		toHtml (show j) <+> parens (ppAnnot nm) <->-		 indexLinks nm entries-	where nm = unQual qnm+        = tda [ theclass "indexannot" ] << +                toHtml (show j) <+> parens (ppAnnot nm) <->+                 indexLinks nm entries+        where nm = unQual qnm    ppAnnot (HsTyClsName n)        = toHtml "Type/Class"   ppAnnot (HsVarName n)        | isUpper c || c == ':'  = toHtml "Data Constructor"-       | otherwise		= toHtml "Function"+       | otherwise                = toHtml "Function"       where c = head (hsIdentifierStr n)    indexLinks nm entries =       tda [ theclass "indexlinks" ] << -	hsep (punctuate comma -	[ if visible then-	     linkId (Module mdl) (Just nm) << toHtml mdl-	  else-	     toHtml mdl-	| (Module mdl, visible) <- entries ])--  initialChars = [ 'A'..'Z' ] ++ ":!#$%&*+./<=>?@\\^|-~"+        hsep (punctuate comma +        [ if visible then+             linkId (Module mdl) (Just nm) << toHtml mdl+          else+             toHtml mdl+        | (Module mdl, visible) <- entries ])  -- --------------------------------------------------------------------------- -- Generate the HTML page for a module@@ -667,7 +660,7 @@      do_decl (HsTypeDecl loc nm args ty doc) 	= ppTypeOrFunSig summary links loc nm ty doc (full, hdr, spaceHtml +++ equals) 	    where hdr = hsep ([keyword "type", ppHsBinder summary nm]-		              ++ map ppHsName args)+		              ++ map ppHsNameAsVar args)                   full = hdr <+> equals <+> ppHsType ty       do_decl (HsNewTypeDecl loc ctx nm args con drv doc)@@ -722,7 +715,7 @@   | summary = declWithDoc summary links loc nm doc (ppShortDataDecl summary links is_newty decl)    | otherwise-        = dataheader </> +        = (if validTable then (</>) else const) dataheader $ 	    tda [theclass "body"] << vanillaTable << ( 		datadoc </>  		constr_bit </>@@ -731,6 +724,8 @@   where 	dataheader = topDeclBox links loc nm (ppHsDataHeader False is_newty nm args) +        validTable = isJust doc || not (null cons) || not (null instances)+ 	constr_table 	 	| any isRecDecl cons  = spacedTable5 	  	| otherwise           = spacedTable1@@ -778,7 +773,7 @@ ppHsConstrHdr :: [HsName] -> HsContext -> Html ppHsConstrHdr tvs ctxt  = (if null tvs then noHtml else keyword "forall" <+> -				 hsep (map ppHsName tvs) <+> +				 hsep (map ppHsNameAsVar tvs) <+>  				 toHtml ". ")    +++    (if null ctxt then noHtml else ppHsContext ctxt <+> toHtml "=> ")@@ -849,7 +844,7 @@ ppHsDataHeader :: Bool -> Bool -> HsName -> [HsName] -> Html ppHsDataHeader summary is_newty nm args =    (if is_newty then keyword "newtype" else keyword "data") <+> -	ppHsBinder summary nm <+> hsep (map ppHsName args)+	ppHsBinder summary nm <+> hsep (map ppHsNameAsVar args)  ppHsBangType :: HsBangType -> Html ppHsBangType (HsBangedTy ty) = char '!' +++ ppHsAType ty@@ -861,11 +856,11 @@ ppClassHdr :: Bool -> HsContext -> HsName -> [HsName] -> [HsFunDep] -> Html ppClassHdr summ [] n tvs fds =    keyword "class"-	<+> ppHsBinder summ n <+> hsep (map ppHsName tvs)+	<+> ppHsBinder summ n <+> hsep (map ppHsNameAsVar tvs) 	<+> ppFds fds ppClassHdr summ ctxt n tvs fds =    keyword "class" <+> ppHsContext ctxt <+> darrow-	<+> ppHsBinder summ n <+> hsep (map ppHsName tvs)+	<+> ppHsBinder summ n <+> hsep (map ppHsNameAsVar tvs) 	<+> ppFds fds  ppFds :: [HsFunDep] -> Html@@ -873,8 +868,8 @@   if null fds then noHtml else  	char '|' <+> hsep (punctuate comma (map fundep fds))   where-	fundep (vars1,vars2) = hsep (map ppHsName vars1) <+> toHtml "->" <+>-			       hsep (map ppHsName vars2)+	fundep (vars1,vars2) = hsep (map ppHsNameAsVar vars1) <+> arrow <+>+			       hsep (map ppHsNameAsVar vars2)  ppShortClassDecl :: Bool -> LinksInfo -> HsDecl -> HtmlTable ppShortClassDecl summary links (HsClassDecl loc ctxt nm tvs fds decls _) = @@ -975,7 +970,7 @@ 	do_args leader (HsForAllType (Just tvs) ctxt ty) 	  = (argBox ( 		leader <+> -		hsep (keyword "forall" : map ppHsName tvs ++ [toHtml "."]) <+>+		hsep (keyword "forall" : map ppHsNameAsVar tvs ++ [toHtml "."]) <+> 		ppHsIPContext ctxt) 	      <-> rdocBox noHtml) </>  	    do_args darrow ty@@ -1007,7 +1002,7 @@  ppHsCtxt :: HsCtxt -> Html ppHsCtxt (HsAssump asst) = ppHsAsst asst-ppHsCtxt (HsIP n t)      = toHtml "?" +++ ppHsName n <+> dcolon <+> ppHsType t+ppHsCtxt (HsIP n t)      = toHtml "?" +++ ppHsNameAsVar n <+> dcolon <+> ppHsType t  ppHsIPContext	      :: HsIPContext -> Html ppHsIPContext []      =  empty@@ -1018,20 +1013,22 @@ ppHsForAll Nothing context =    hsep [ ppHsIPContext context, darrow ] ppHsForAll (Just tvs) [] = -  hsep (keyword "forall" : map ppHsName tvs ++ [toHtml "."])+  hsep (keyword "forall" : map ppHsNameAsVar tvs ++ [toHtml "."]) ppHsForAll (Just tvs) context =-  hsep (keyword "forall" : map ppHsName tvs ++ +  hsep (keyword "forall" : map ppHsNameAsVar tvs ++  	  [toHtml ".", ppHsIPContext context, darrow])  ppHsType :: HsType -> Html ppHsType (HsForAllType maybe_tvs context htype) =   ppHsForAll maybe_tvs context <+> ppHsType htype-ppHsType (HsTyFun a b) = hsep [ppHsBType a, toHtml "->", ppHsType b]-ppHsType (HsTyIP n t)  = toHtml "?" +++ ppHsName n <+> dcolon <+> ppHsType t+ppHsType (HsTyFun a b) = hsep [ppHsBType a, arrow, ppHsType b]+ppHsType (HsTyIP n t)  = toHtml "?" +++ ppHsNameAsVar n <+> dcolon <+> ppHsType t ppHsType t = ppHsBType t  ppHsBType :: HsType -> Html ppHsBType (HsTyDoc ty _) = ppHsBType ty+ppHsBType (HsTyApp (HsTyApp (HsTyVar (HsVarName (HsSymbol sym))) a) b) =+  hsep [ppHsBType a, toHtml sym, ppHsBType b] ppHsBType (HsTyApp (HsTyCon (Qual _ (HsTyClsName (HsSpecial "[]")))) b )   = brackets $ ppHsType b ppHsBType (HsTyApp a b) = ppHsBType a <+> ppHsAType b@@ -1040,7 +1037,7 @@ ppHsAType :: HsType -> Html ppHsAType (HsTyTuple True l)  = parenList . map ppHsType $ l ppHsAType (HsTyTuple False l) = ubxParenList . map ppHsType $ l-ppHsAType (HsTyVar nm) = ppHsName nm+ppHsAType (HsTyVar nm)        = ppHsNameAsVar nm ppHsAType (HsTyCon nm)   | nm == fun_tycon_qname = parens $ ppHsQName nm   | otherwise               = ppHsQName nm@@ -1069,6 +1066,14 @@ ppHsName :: HsName -> Html ppHsName nm = toHtml (hsNameStr nm) +-- For use as a variable, so that symbols must be parenthesized+ppHsNameAsVar :: HsName -> Html+ppHsNameAsVar nm = mbParens nm (toHtml (hsNameStr nm))+ where+   mbParens (HsVarName (HsSymbol _)) = parens+   mbParens _                        = id++ ppHsBinder :: Bool -> HsName -> Html -- The Bool indicates whether we are generating the summary, in which case -- the binder will be a link to the full definition.@@ -1206,7 +1211,7 @@ topDeclBox :: LinksInfo -> SrcLoc -> HsName -> Html -> HtmlTable topDeclBox ((_,_,Nothing), (_,_,Nothing), _) _ _ html = declBox html topDeclBox ((_,_,maybe_source_url), (_,_,maybe_wiki_url), iface)-           (SrcLoc _ _ fname) name html =+           loc@(SrcLoc _ _ fname) name html =   tda [theclass "topdecl"] <<   (        table ! [theclass "declbar"] << 	    ((tda [theclass "declname"] << html)@@ -1217,18 +1222,26 @@           case maybe_source_url of             Nothing  -> Html.emptyTable             Just url -> tda [theclass "declbut"] <<-                          let url' = spliceURL (Just fname) (Just mod)-                                               (Just name) url+                          let url' = spliceURL (Just fname) (Just orig_mod)+                                               (Just name) (Just loc) url                            in anchor ! [href url'] << toHtml "Source"++        mod = iface_module iface++        -- for source links, we want to point to the original module+        -- for the name, because only that will have the source.+        orig_mod = case Map.lookup name (iface_env iface) of+                      Just (Qual m _) -> m+                      _               -> mod+         wikiLink =           case maybe_wiki_url of             Nothing  -> Html.emptyTable             Just url -> tda [theclass "declbut"] <<                           let url' = spliceURL (Just fname) (Just mod)-                                               (Just name) url+                                               (Just name) (Just loc) url                            in anchor ! [href url'] << toHtml "Comments"   -        mod = iface_module iface  -- a box for displaying an 'argument' (some code which has text to the -- right of it).  Wrapping is not allowed in these boxes, whereas it is@@ -1276,10 +1289,17 @@ inst_hdr id =    tda [ theclass "section4" ] << (collapsebutton id +++ toHtml " Instances") +-- Whether to use html entities when available.  Could make this choice a flag.+useEntities = False++stringOrEntity string entity+  | useEntities = Html [ HtmlString entity ]+  | otherwise   = toHtml string+ dcolon, arrow, darrow :: Html dcolon = toHtml "::"-arrow  = toHtml "->"-darrow = toHtml "=>"+arrow  = stringOrEntity "->" "&#8594;"+darrow = stringOrEntity "=>" "&#8658;"  s8, s15 :: HtmlTable s8  = tda [ theclass "s8" ]  << noHtml
− src/HaddockLex.hs
@@ -1,375 +0,0 @@-{-# OPTIONS -fglasgow-exts -cpp #-}-{-# LINE 7 "src/HaddockLex.x" #-}-module HaddockLex ( -	Token(..), -	tokenise - ) where--import Char-import Numeric-import HsSyn-import HsLexer hiding (Token)-import HsParseMonad---import Debug.Trace--#if __GLASGOW_HASKELL__ >= 603-#include "ghcconfig.h"-#else-#include "config.h"-#endif-#if __GLASGOW_HASKELL__ >= 503-import Data.Array-import Data.Char (ord)-import Data.Array.Base (unsafeAt)-#else-import Array-import Char (ord)-#endif-#if __GLASGOW_HASKELL__ >= 503-import GHC.Exts-#else-import GlaExts-#endif-alex_base :: AlexAddr-alex_base = AlexA# "\xf8\xff\xff\xff\xfc\xff\xff\xff\x01\x00\x00\x00\x06\x00\x00\x00\x11\x00\x00\x00\x23\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\xff\xff\xff\x00\x00\x00\x00\xfe\xff\xff\xff\x02\x00\x00\x00\x04\x00\x00\x00\x0f\x00\x00\x00\x0a\x00\x00\x00\x22\x00\x00\x00\x24\x00\x00\x00\x0c\x00\x00\x00\x15\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x00\x00\xf9\x00\x00\x00\x55\x01\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x7d\x00\x00\x00\xa4\x01\x00\x00\xe7\xff\xff\xff\x00\x00\x00\x00\xae\x01\x00\x00\xd4\x01\x00\x00\x00\x00\x00\x00\x04\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--alex_table :: AlexAddr-alex_table = AlexA# "\x00\x00\x09\x00\x07\x00\x09\x00\x09\x00\x09\x00\x13\x00\x13\x00\xff\xff\xff\xff\x28\x00\x2d\x00\xff\xff\x00\x00\xff\xff\x11\x00\x12\x00\x11\x00\x11\x00\x11\x00\xff\xff\x00\x00\xff\xff\x00\x00\x09\x00\xff\xff\x09\x00\x07\x00\x09\x00\x09\x00\x09\x00\xff\xff\x0f\x00\xff\xff\x0b\x00\x15\x00\x1e\x00\x0b\x00\x11\x00\x29\x00\x23\x00\x00\x00\x00\x00\x00\x00\xff\xff\x2d\x00\xff\xff\x1d\x00\x15\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x1d\x00\x0f\x00\x1d\x00\x0b\x00\x16\x00\x19\x00\x0b\x00\x00\x00\x17\x00\x15\x00\x17\x00\x00\x00\x10\x00\x15\x00\x1e\x00\x00\x00\x16\x00\x29\x00\x23\x00\x1b\x00\x00\x00\x16\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x15\x00\x0c\x00\x08\x00\x07\x00\x08\x00\x08\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x2f\x00\x19\x00\x18\x00\x23\x00\x18\x00\x15\x00\x08\x00\x07\x00\x08\x00\x08\x00\x08\x00\x00\x00\x00\x00\x08\x00\x0c\x00\x09\x00\x07\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x25\x00\x30\x00\x00\x00\x00\x00\x23\x00\x09\x00\x11\x00\x12\x00\x11\x00\x11\x00\x11\x00\x00\x00\x0d\x00\x0f\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x0b\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x00\x00\x26\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x22\x00\x0c\x00\x22\x00\x22\x00\x22\x00\x22\x00\x21\x00\x00\x00\x00\x00\x22\x00\x22\x00\x00\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x00\x00\x00\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x00\x00\x22\x00\x00\x00\x22\x00\x22\x00\x20\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x00\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x21\x00\x00\x00\x00\x00\x22\x00\x22\x00\x00\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x00\x00\x00\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x00\x00\x22\x00\x00\x00\x22\x00\x22\x00\x20\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x00\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x00\x00\x00\x00\x22\x00\x22\x00\x00\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x00\x00\x00\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x00\x00\x22\x00\x00\x00\x22\x00\x22\x00\x00\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x22\x00\x00\x00\x22\x00\x00\x00\x22\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x27\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2d\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--alex_check :: AlexAddr-alex_check = AlexA# "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x23\x00\x0a\x00\x0a\x00\xff\xff\x0a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\xff\xff\x0a\x00\xff\xff\x20\x00\x0a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x28\x00\x0a\x00\x2a\x00\x22\x00\x23\x00\x2d\x00\x20\x00\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\x0a\x00\x0a\x00\x0a\x00\x23\x00\x2f\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3e\x00\xff\xff\x23\x00\x28\x00\x23\x00\x2a\x00\x3e\x00\x3c\x00\x2d\x00\xff\xff\x3e\x00\x40\x00\x3e\x00\xff\xff\x3e\x00\x22\x00\x23\x00\xff\xff\x3e\x00\x26\x00\x27\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\x3e\x00\xff\xff\xff\xff\x2f\x00\x5b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x3c\x00\x3e\x00\x60\x00\x3e\x00\x40\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x20\x00\x5b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\xff\xff\xff\xff\x60\x00\x20\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x29\x00\x28\x00\xff\xff\x2a\x00\xff\xff\xff\xff\x2d\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\x21\x00\x5b\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\x21\x00\x7e\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\x7c\x00\xff\xff\x7e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\x26\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\xff\xff\xff\xff\x60\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--alex_deflt :: AlexAddr-alex_deflt = AlexA# "\xff\xff\x14\x00\x2e\x00\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x14\x00\xff\xff\x1a\x00\x1c\x00\x1c\x00\x1a\x00\x1a\x00\x1c\x00\x1c\x00\x1f\x00\x1f\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff"#--alex_accept = listArray (0::Int,48) [[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_9))],[],[(AlexAcc (alex_action_8))],[(AlexAcc (alex_action_5))],[],[],[(AlexAccSkip)],[],[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_1))],[(AlexAcc (alex_action_2))],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_4))],[],[],[(AlexAcc (alex_action_6))],[],[(AlexAcc (alex_action_7))],[(AlexAcc (alex_action_9))],[(AlexAcc (alex_action_9))],[(AlexAcc (alex_action_10))],[(AlexAcc (alex_action_11))],[(AlexAcc (alex_action_11))],[(AlexAcc (alex_action_11))],[(AlexAcc (alex_action_18))],[],[],[],[(AlexAcc (alex_action_13))],[(AlexAcc (alex_action_18))],[],[(AlexAcc (alex_action_14))],[(AlexAcc (alex_action_14))],[],[(AlexAcc (alex_action_18))],[(AlexAcc (alex_action_15))],[(AlexAcc (alex_action_18))],[(AlexAcc (alex_action_16))],[],[],[(AlexAcc (alex_action_18))],[(AlexAcc (alex_action_17))],[],[],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_21))],[(AlexAcc (alex_action_22))]]-{-# LINE 81 "src/HaddockLex.x" #-}-data Token-  = TokPara-  | TokNumber-  | TokBullet-  | TokDefStart-  | TokDefEnd-  | TokSpecial Char-  | TokIdent [HsQName]-  | TokString String-  | TokURL String-  | TokPic String-  | TokAName String-  | TokBirdTrack String-  deriving Show---- -------------------------------------------------------------------------------- Alex support stuff--type StartCode = Int-type Action = String -> StartCode -> (StartCode -> [Token]) -> [Token]--type AlexInput = (Char,String)--alexGetChar (_, [])   = Nothing-alexGetChar (_, c:cs) = Just (c, (c,cs))--alexInputPrevChar (c,_) = c--tokenise :: String -> [Token]-tokenise str = let toks = go ('\n', eofHack str) para in {-trace (show toks)-} toks-  where go inp@(_,str) sc =-	  case alexScan inp sc of-		AlexEOF -> []-		AlexError _ -> error "lexical error"-		AlexSkip  inp' len     -> go inp' sc-		AlexToken inp' len act -> act (take len str) sc (\sc -> go inp' sc)---- NB. we add a final \n to the string, (see comment in the beginning of line--- production above).-eofHack str = str++"\n"--andBegin  :: Action -> StartCode -> Action-andBegin act new_sc = \str sc cont -> act str new_sc cont--token :: Token -> Action-token t = \str sc cont -> t : cont sc--strtoken :: (String -> Token) -> Action-strtoken t = \str sc cont -> t str : cont sc--begin :: StartCode -> Action-begin sc = \str _ cont -> cont sc---- -------------------------------------------------------------------------------- Lex a string as a Haskell identifier--ident :: Action-ident str sc cont = -  case strToHsQNames id of-	Just names -> TokIdent names : cont sc-	Nothing -> TokString str : cont sc- where id = init (tail str)--strToHsQNames :: String -> Maybe [HsQName]-strToHsQNames str0- = case lexer (\t -> returnP t) str0 (SrcLoc 1 1 "") 1 1 "" [] of-	Ok _ (VarId str)-	   -> Just [ UnQual (HsVarName (HsIdent str)) ]-        Ok _ (QVarId (mod0,str))- 	   -> Just [ Qual (Module mod0) (HsVarName (HsIdent str)) ]-	Ok _ (ConId str)-	   -> Just [ UnQual (HsTyClsName (HsIdent str)),-		     UnQual (HsVarName (HsIdent str)) ]-        Ok _ (QConId (mod0,str))-	   -> Just [ Qual (Module mod0) (HsTyClsName (HsIdent str)),-		     Qual (Module mod0) (HsVarName (HsIdent str)) ]-        Ok _ (VarSym str)-	   -> Just [ UnQual (HsVarName (HsSymbol str)) ]-        Ok _ (ConSym str)-	   -> Just [ UnQual (HsTyClsName (HsSymbol str)),-		     UnQual (HsVarName (HsSymbol str)) ]-        Ok _ (QVarSym (mod0,str))-	   -> Just [ Qual (Module mod0) (HsVarName (HsSymbol str)) ]-        Ok _ (QConSym (mod0,str))-	   -> Just [ Qual (Module mod0) (HsTyClsName (HsSymbol str)),-		     Qual (Module mod0) (HsVarName (HsSymbol str)) ]-	_other-	   -> Nothing---birdtrack,def,line,para,string :: Int-birdtrack = 1-def = 2-line = 3-para = 4-string = 5-alex_action_1 = begin birdtrack -alex_action_2 = token TokBullet `andBegin` string -alex_action_3 = token TokDefStart `andBegin` def -alex_action_4 = token TokNumber `andBegin` string -alex_action_5 = begin string -alex_action_6 = begin birdtrack -alex_action_7 = token TokPara `andBegin` para -alex_action_8 = begin string -alex_action_9 = strtoken TokBirdTrack `andBegin` line -alex_action_10 = strtoken $ \s -> TokSpecial (head s) -alex_action_11 = strtoken $ \s -> TokURL (init (tail s)) -alex_action_12 = strtoken $ \s -> TokPic (init $ init $ tail $ tail s) -alex_action_13 = strtoken $ \s -> TokAName (init (tail s)) -alex_action_14 = ident -alex_action_15 = strtoken (TokString . tail) -alex_action_16 = strtoken $ \s -> TokString [chr (read (init (drop 2 s)))] -alex_action_17 = strtoken $ \s -> case readHex (init (drop 3 s)) of [(n,_)] -> TokString [chr n] -alex_action_18 = strtoken TokString -alex_action_19 = strtoken TokString `andBegin` line -alex_action_20 = strtoken TokString -alex_action_21 = token TokDefEnd `andBegin` string -alex_action_22 = strtoken TokString -{-# LINE 1 "GenericTemplate.hs" #-}--- -------------------------------------------------------------------------------- ALEX TEMPLATE------ This code is in the PUBLIC DOMAIN; you may copy it freely and use--- it for any purpose whatsoever.---- -------------------------------------------------------------------------------- INTERNALS and main scanner engine--------------{-# LINE 34 "GenericTemplate.hs" #-}--------------data AlexAddr = AlexA# Addr#--#if __GLASGOW_HASKELL__ < 503-uncheckedShiftL# = shiftL#-#endif--{-# INLINE alexIndexInt16OffAddr #-}-alexIndexInt16OffAddr (AlexA# arr) off =-#ifdef WORDS_BIGENDIAN-  narrow16Int# i-  where-	i    = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)-	high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))-	low  = int2Word# (ord# (indexCharOffAddr# arr off'))-	off' = off *# 2#-#else-  indexInt16OffAddr# arr off-#endif------{-# INLINE alexIndexInt32OffAddr #-}-alexIndexInt32OffAddr (AlexA# arr) off = -#ifdef WORDS_BIGENDIAN-  narrow32Int# i-  where-   i    = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`-		     (b2 `uncheckedShiftL#` 16#) `or#`-		     (b1 `uncheckedShiftL#` 8#) `or#` b0)-   b3   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))-   b2   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))-   b1   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))-   b0   = int2Word# (ord# (indexCharOffAddr# arr off'))-   off' = off *# 4#-#else-  indexInt32OffAddr# arr off-#endif------#if __GLASGOW_HASKELL__ < 503-quickIndex arr i = arr ! i-#else--- GHC >= 503, unsafeAt is available from Data.Array.Base.-quickIndex = unsafeAt-#endif------- -------------------------------------------------------------------------------- Main lexing routines--data AlexReturn a-  = AlexEOF-  | AlexError  !AlexInput-  | AlexSkip   !AlexInput !Int-  | AlexToken  !AlexInput !Int a---- alexScan :: AlexInput -> StartCode -> AlexReturn a-alexScan input (I# (sc))-  = alexScanUser undefined input (I# (sc))--alexScanUser user input (I# (sc))-  = case alex_scan_tkn user input 0# input sc AlexNone of-	(AlexNone, input') ->-		case alexGetChar input of-			Nothing -> ----				   AlexEOF-			Just _ ->----				   AlexError input'--	(AlexLastSkip input len, _) ->----		AlexSkip input len--	(AlexLastAcc k input len, _) ->----		AlexToken input len k----- Push the input through the DFA, remembering the most recent accepting--- state it encountered.--alex_scan_tkn user orig_input len input s last_acc =-  input `seq` -- strict in the input-  let -	new_acc = check_accs (alex_accept `quickIndex` (I# (s)))-  in-  new_acc `seq`-  case alexGetChar input of-     Nothing -> (new_acc, input)-     Just (c, new_input) -> ----	let-		base   = alexIndexInt32OffAddr alex_base s-		(I# (ord_c)) = ord c-		offset = (base +# ord_c)-		check  = alexIndexInt16OffAddr alex_check offset-		-		new_s = if (offset >=# 0#) && (check ==# ord_c)-			  then alexIndexInt16OffAddr alex_table offset-			  else alexIndexInt16OffAddr alex_deflt s-	in-	case new_s of -	    -1# -> (new_acc, input)-		-- on an error, we want to keep the input *before* the-		-- character that failed, not after.-    	    _ -> alex_scan_tkn user orig_input (len +# 1#) -			new_input new_s new_acc--  where-	check_accs [] = last_acc-	check_accs (AlexAcc a : _) = AlexLastAcc a input (I# (len))-	check_accs (AlexAccSkip : _)  = AlexLastSkip  input (I# (len))-	check_accs (AlexAccPred a pred : rest)-	   | pred user orig_input (I# (len)) input-	   = AlexLastAcc a input (I# (len))-	check_accs (AlexAccSkipPred pred : rest)-	   | pred user orig_input (I# (len)) input-	   = AlexLastSkip input (I# (len))-	check_accs (_ : rest) = check_accs rest--data AlexLastAcc a-  = AlexNone-  | AlexLastAcc a !AlexInput !Int-  | AlexLastSkip  !AlexInput !Int--data AlexAcc a user-  = AlexAcc a-  | AlexAccSkip-  | AlexAccPred a (AlexAccPred user)-  | AlexAccSkipPred (AlexAccPred user)--type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool---- -------------------------------------------------------------------------------- Predicates on a rule--alexAndPred p1 p2 user in1 len in2-  = p1 user in1 len in2 && p2 user in1 len in2----alexPrevCharIsPred :: Char -> AlexAccPred _ -alexPrevCharIs c _ input _ _ = c == alexInputPrevChar input----alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _ -alexPrevCharIsOneOf arr _ input _ _ = arr ! alexInputPrevChar input----alexRightContext :: Int -> AlexAccPred _-alexRightContext (I# (sc)) user _ _ input = -     case alex_scan_tkn user input 0# input sc AlexNone of-	  (AlexNone, _) -> False-	  _ -> True-	-- TODO: there's no need to find the longest-	-- match when checking the right context, just-	-- the first match will do.---- used by wrappers-iUnbox (I# (i)) = i
src/HaddockLex.x view
@@ -21,7 +21,7 @@ $ws    = $white # \n $digit = [0-9] $hexdigit = [0-9a-fA-F]-$special =  [\"\@\/]+$special =  [\"\@] $alphanum = [A-Za-z0-9] $ident    = [$alphanum \'\_\.\!\#\$\%\&\*\+\/\<\=\>\?\@\\\\\^\|\-\~] @@ -54,18 +54,19 @@  <string,def> {   $special			{ strtoken $ \s -> TokSpecial (head s) }-  \<.*\>			{ strtoken $ \s -> TokURL (init (tail s)) }   \<\<.*\>\>                    { strtoken $ \s -> TokPic (init $ init $ tail $ tail s) }+  \<.*\>			{ strtoken $ \s -> TokURL (init (tail s)) }   \#.*\#			{ strtoken $ \s -> TokAName (init (tail s)) }+  \/ [^\/]* \/                  { strtoken $ \s -> TokEmphasis (init (tail s)) }   [\'\`] $ident+ [\'\`]		{ ident }   \\ .				{ strtoken (TokString . tail) }   "&#" $digit+ \;		{ strtoken $ \s -> TokString [chr (read (init (drop 2 s)))] }   "&#" [xX] $hexdigit+ \;	{ strtoken $ \s -> case readHex (init (drop 3 s)) of [(n,_)] -> TokString [chr n] }   -- allow special characters through if they don't fit one of the previous   -- patterns.-  [\'\`\<\#\&\\]			{ strtoken TokString }-  [^ $special \< \# \n \'\` \& \\ \]]* \n { strtoken TokString `andBegin` line }-  [^ $special \< \# \n \'\` \& \\ \]]+    { strtoken TokString }+  [\/\'\`\<\#\&\\]			{ strtoken TokString }+  [^ $special \/ \< \# \n \'\` \& \\ \]]* \n { strtoken TokString `andBegin` line }+  [^ $special \/ \< \# \n \'\` \& \\ \]]+    { strtoken TokString } }  <def> {@@ -90,6 +91,7 @@   | TokString String   | TokURL String   | TokPic String+  | TokEmphasis String   | TokAName String   | TokBirdTrack String   deriving Show
− src/HaddockParse.hs
@@ -1,699 +0,0 @@-{-# OPTIONS -fglasgow-exts -cpp #-}-module HaddockParse (parseParas, parseString) where--import HaddockLex-import HsSyn-#if __GLASGOW_HASKELL__ >= 503-import Data.Array-#else-import Array-#endif-#if __GLASGOW_HASKELL__ >= 503-import GHC.Exts-#else-import GlaExts-#endif---- parser produced by Happy Version 1.16--newtype HappyAbsSyn  = HappyAbsSyn (() -> ())-happyIn5 :: (Doc) -> (HappyAbsSyn )-happyIn5 x = unsafeCoerce# x-{-# INLINE happyIn5 #-}-happyOut5 :: (HappyAbsSyn ) -> (Doc)-happyOut5 x = unsafeCoerce# x-{-# INLINE happyOut5 #-}-happyIn6 :: (Doc) -> (HappyAbsSyn )-happyIn6 x = unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn ) -> (Doc)-happyOut6 x = unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (Doc) -> (HappyAbsSyn )-happyIn7 x = unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn ) -> (Doc)-happyOut7 x = unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (Doc) -> (HappyAbsSyn )-happyIn8 x = unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn ) -> (Doc)-happyOut8 x = unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: ((Doc,Doc)) -> (HappyAbsSyn )-happyIn9 x = unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn ) -> ((Doc,Doc))-happyOut9 x = unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: (Doc) -> (HappyAbsSyn )-happyIn10 x = unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn ) -> (Doc)-happyOut10 x = unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: (Doc) -> (HappyAbsSyn )-happyIn11 x = unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn ) -> (Doc)-happyOut11 x = unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: (Doc) -> (HappyAbsSyn )-happyIn12 x = unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn ) -> (Doc)-happyOut12 x = unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (Doc) -> (HappyAbsSyn )-happyIn13 x = unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn ) -> (Doc)-happyOut13 x = unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: (Doc) -> (HappyAbsSyn )-happyIn14 x = unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> (Doc)-happyOut14 x = unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: (Doc) -> (HappyAbsSyn )-happyIn15 x = unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> (Doc)-happyOut15 x = unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: (String) -> (HappyAbsSyn )-happyIn16 x = unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> (String)-happyOut16 x = unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyInTok :: Token -> (HappyAbsSyn )-happyInTok x = unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> Token-happyOutTok x = unsafeCoerce# x-{-# INLINE happyOutTok #-}--happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x01\x00\x2b\x00\x0f\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x4a\x00\x35\x00\x2b\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1d\x00\x42\x00\x00\x00\x00\x00\x2f\x00\x2f\x00\x28\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x33\x00\x1c\x00\x30\x00\x24\x00\x35\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x5a\x00\x7c\x00\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x00\x00\x00\x11\x00\x25\x00\x74\x00\x08\x00\x00\x00\x00\x00\x00\x00\x70\x00\x6a\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xff\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\xfa\xff\x00\x00\x00\x00\x00\x00\xf9\xff\xf8\xff\xf7\xff\xf6\xff\xf1\xff\xf2\xff\xed\xff\xec\xff\x00\x00\x00\x00\x00\x00\x00\x00\xe6\xff\xe5\xff\xe4\xff\x00\x00\x00\x00\xef\xff\xe3\xff\xe8\xff\x00\x00\x00\x00\xfb\xff\xfa\xff\xfc\xff\xfa\xff\xf0\xff\xf4\xff\xf5\xff\x00\x00\xe1\xff\x00\x00\x00\x00\xe9\xff\x00\x00\xee\xff\xe7\xff\xea\xff\xeb\xff\x00\x00\xe0\xff\xe2\xff\xfd\xff\xf3\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x0b\x00\x01\x00\x02\x00\x03\x00\x06\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x01\x00\x02\x00\x03\x00\x0b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0b\x00\x0e\x00\x01\x00\x02\x00\x09\x00\x0a\x00\x05\x00\x06\x00\x07\x00\x08\x00\x02\x00\x01\x00\x0b\x00\x0c\x00\x0e\x00\x0e\x00\x01\x00\x02\x00\x09\x00\x0a\x00\x05\x00\x06\x00\x07\x00\x08\x00\x04\x00\x0d\x00\x01\x00\x0c\x00\x05\x00\x0e\x00\x05\x00\x06\x00\x07\x00\x08\x00\x0f\x00\x07\x00\x08\x00\x0c\x00\x0a\x00\x0e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x0b\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x0e\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x0d\x00\x0a\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x07\x00\x08\x00\xff\xff\x0a\x00\x07\x00\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x2c\x00\x0d\x00\x0e\x00\x0f\x00\x1e\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x1c\x00\x18\x00\x0d\x00\x0e\x00\x0f\x00\x21\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x26\x00\x18\x00\x0d\x00\x0e\x00\x29\x00\x25\x00\x10\x00\x11\x00\x12\x00\x13\x00\x2b\x00\x29\x00\x16\x00\x17\x00\x23\x00\x18\x00\x0d\x00\x0e\x00\x24\x00\x25\x00\x10\x00\x11\x00\x12\x00\x13\x00\x2c\x00\x1e\x00\x0d\x00\x17\x00\x2e\x00\x18\x00\x10\x00\x11\x00\x12\x00\x13\x00\xff\xff\x2f\x00\x0a\x00\x17\x00\x0b\x00\x18\x00\x2e\x00\x1a\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x16\x00\x0b\x00\x1c\x00\x1a\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x23\x00\x0b\x00\x19\x00\x1a\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x1e\x00\x0b\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x0b\x00\x1f\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x0b\x00\x20\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x0b\x00\x23\x00\x0a\x00\x00\x00\x0b\x00\x27\x00\x0a\x00\x00\x00\x0b\x00\x18\x00\x0a\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = array (2, 31) [-	(2 , happyReduce_2),-	(3 , happyReduce_3),-	(4 , happyReduce_4),-	(5 , happyReduce_5),-	(6 , happyReduce_6),-	(7 , happyReduce_7),-	(8 , happyReduce_8),-	(9 , happyReduce_9),-	(10 , happyReduce_10),-	(11 , happyReduce_11),-	(12 , happyReduce_12),-	(13 , happyReduce_13),-	(14 , happyReduce_14),-	(15 , happyReduce_15),-	(16 , happyReduce_16),-	(17 , happyReduce_17),-	(18 , happyReduce_18),-	(19 , happyReduce_19),-	(20 , happyReduce_20),-	(21 , happyReduce_21),-	(22 , happyReduce_22),-	(23 , happyReduce_23),-	(24 , happyReduce_24),-	(25 , happyReduce_25),-	(26 , happyReduce_26),-	(27 , happyReduce_27),-	(28 , happyReduce_28),-	(29 , happyReduce_29),-	(30 , happyReduce_30),-	(31 , happyReduce_31)-	]--happy_n_terms = 16 :: Int-happy_n_nonterms = 12 :: Int--happyReduce_2 = happySpecReduce_3  0# happyReduction_2-happyReduction_2 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut6 happy_x_1 of { happy_var_1 -> -	case happyOut5 happy_x_3 of { happy_var_3 -> -	happyIn5-		 (docAppend happy_var_1 happy_var_3-	)}}--happyReduce_3 = happySpecReduce_2  0# happyReduction_3-happyReduction_3 happy_x_2-	happy_x_1-	 =  case happyOut5 happy_x_2 of { happy_var_2 -> -	happyIn5-		 (happy_var_2-	)}--happyReduce_4 = happySpecReduce_1  0# happyReduction_4-happyReduction_4 happy_x_1-	 =  case happyOut6 happy_x_1 of { happy_var_1 -> -	happyIn5-		 (happy_var_1-	)}--happyReduce_5 = happySpecReduce_0  0# happyReduction_5-happyReduction_5  =  happyIn5-		 (DocEmpty-	)--happyReduce_6 = happySpecReduce_1  1# happyReduction_6-happyReduction_6 happy_x_1-	 =  case happyOut7 happy_x_1 of { happy_var_1 -> -	happyIn6-		 (DocUnorderedList [happy_var_1]-	)}--happyReduce_7 = happySpecReduce_1  1# happyReduction_7-happyReduction_7 happy_x_1-	 =  case happyOut8 happy_x_1 of { happy_var_1 -> -	happyIn6-		 (DocOrderedList [happy_var_1]-	)}--happyReduce_8 = happySpecReduce_1  1# happyReduction_8-happyReduction_8 happy_x_1-	 =  case happyOut9 happy_x_1 of { happy_var_1 -> -	happyIn6-		 (DocDefList [happy_var_1]-	)}--happyReduce_9 = happySpecReduce_1  1# happyReduction_9-happyReduction_9 happy_x_1-	 =  case happyOut10 happy_x_1 of { happy_var_1 -> -	happyIn6-		 (happy_var_1-	)}--happyReduce_10 = happySpecReduce_2  2# happyReduction_10-happyReduction_10 happy_x_2-	happy_x_1-	 =  case happyOut10 happy_x_2 of { happy_var_2 -> -	happyIn7-		 (happy_var_2-	)}--happyReduce_11 = happySpecReduce_2  3# happyReduction_11-happyReduction_11 happy_x_2-	happy_x_1-	 =  case happyOut10 happy_x_2 of { happy_var_2 -> -	happyIn8-		 (happy_var_2-	)}--happyReduce_12 = happyReduce 4# 4# happyReduction_12-happyReduction_12 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut12 happy_x_2 of { happy_var_2 -> -	case happyOut12 happy_x_4 of { happy_var_4 -> -	happyIn9-		 ((happy_var_2, happy_var_4)-	) `HappyStk` happyRest}}--happyReduce_13 = happySpecReduce_1  5# happyReduction_13-happyReduction_13 happy_x_1-	 =  case happyOut12 happy_x_1 of { happy_var_1 -> -	happyIn10-		 (docParagraph happy_var_1-	)}--happyReduce_14 = happySpecReduce_1  5# happyReduction_14-happyReduction_14 happy_x_1-	 =  case happyOut11 happy_x_1 of { happy_var_1 -> -	happyIn10-		 (DocCodeBlock happy_var_1-	)}--happyReduce_15 = happySpecReduce_2  6# happyReduction_15-happyReduction_15 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokBirdTrack happy_var_1) -> -	case happyOut11 happy_x_2 of { happy_var_2 -> -	happyIn11-		 (docAppend (DocString happy_var_1) happy_var_2-	)}}--happyReduce_16 = happySpecReduce_1  6# happyReduction_16-happyReduction_16 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokBirdTrack happy_var_1) -> -	happyIn11-		 (DocString happy_var_1-	)}--happyReduce_17 = happySpecReduce_2  7# happyReduction_17-happyReduction_17 happy_x_2-	happy_x_1-	 =  case happyOut13 happy_x_1 of { happy_var_1 -> -	case happyOut12 happy_x_2 of { happy_var_2 -> -	happyIn12-		 (docAppend happy_var_1 happy_var_2-	)}}--happyReduce_18 = happySpecReduce_1  7# happyReduction_18-happyReduction_18 happy_x_1-	 =  case happyOut13 happy_x_1 of { happy_var_1 -> -	happyIn12-		 (happy_var_1-	)}--happyReduce_19 = happySpecReduce_1  8# happyReduction_19-happyReduction_19 happy_x_1-	 =  case happyOut15 happy_x_1 of { happy_var_1 -> -	happyIn13-		 (happy_var_1-	)}--happyReduce_20 = happySpecReduce_3  8# happyReduction_20-happyReduction_20 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut14 happy_x_2 of { happy_var_2 -> -	happyIn13-		 (DocMonospaced happy_var_2-	)}--happyReduce_21 = happySpecReduce_2  9# happyReduction_21-happyReduction_21 happy_x_2-	happy_x_1-	 =  case happyOut15 happy_x_1 of { happy_var_1 -> -	case happyOut14 happy_x_2 of { happy_var_2 -> -	happyIn14-		 (docAppend happy_var_1 happy_var_2-	)}}--happyReduce_22 = happySpecReduce_1  9# happyReduction_22-happyReduction_22 happy_x_1-	 =  case happyOut15 happy_x_1 of { happy_var_1 -> -	happyIn14-		 (happy_var_1-	)}--happyReduce_23 = happySpecReduce_1  10# happyReduction_23-happyReduction_23 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokString happy_var_1) -> -	happyIn15-		 (DocString happy_var_1-	)}--happyReduce_24 = happySpecReduce_3  10# happyReduction_24-happyReduction_24 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut16 happy_x_2 of { happy_var_2 -> -	happyIn15-		 (DocEmphasis (DocString happy_var_2)-	)}--happyReduce_25 = happySpecReduce_1  10# happyReduction_25-happyReduction_25 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokURL happy_var_1) -> -	happyIn15-		 (DocURL happy_var_1-	)}--happyReduce_26 = happySpecReduce_1  10# happyReduction_26-happyReduction_26 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokPic happy_var_1) -> -	happyIn15-		 (DocPic happy_var_1-	)}--happyReduce_27 = happySpecReduce_1  10# happyReduction_27-happyReduction_27 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokAName happy_var_1) -> -	happyIn15-		 (DocAName happy_var_1-	)}--happyReduce_28 = happySpecReduce_1  10# happyReduction_28-happyReduction_28 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokIdent happy_var_1) -> -	happyIn15-		 (DocIdentifier happy_var_1-	)}--happyReduce_29 = happySpecReduce_3  10# happyReduction_29-happyReduction_29 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut16 happy_x_2 of { happy_var_2 -> -	happyIn15-		 (DocModule happy_var_2-	)}--happyReduce_30 = happySpecReduce_1  11# happyReduction_30-happyReduction_30 happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokString happy_var_1) -> -	happyIn16-		 (happy_var_1-	)}--happyReduce_31 = happySpecReduce_2  11# happyReduction_31-happyReduction_31 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (TokString happy_var_1) -> -	case happyOut16 happy_x_2 of { happy_var_2 -> -	happyIn16-		 (happy_var_1 ++ happy_var_2-	)}}--happyNewToken action sts stk [] =-	happyDoAction 15#  (error "EOF token") action sts stk []--happyNewToken action sts stk (tk:tks) =-	let cont i = happyDoAction i tk action sts stk tks in-	case tk of {-	TokSpecial '/' -> cont 1#;-	TokSpecial '@' -> cont 2#;-	TokDefStart -> cont 3#;-	TokDefEnd -> cont 4#;-	TokSpecial '\"' -> cont 5#;-	TokURL happy_dollar_dollar -> cont 6#;-	TokPic happy_dollar_dollar -> cont 7#;-	TokAName happy_dollar_dollar -> cont 8#;-	TokBullet -> cont 9#;-	TokNumber -> cont 10#;-	TokBirdTrack happy_dollar_dollar -> cont 11#;-	TokIdent happy_dollar_dollar -> cont 12#;-	TokPara -> cont 13#;-	TokString happy_dollar_dollar -> cont 14#;-	_ -> happyError' (tk:tks)-	}--happyError_ tk tks = happyError' (tk:tks)--happyThen :: () => Either String a -> (a -> Either String b) -> Either String b-happyThen = (>>=)-happyReturn :: () => a -> Either String a-happyReturn = (return)-happyThen1 m k tks = (>>=) m (\a -> k a tks)-happyReturn1 :: () => a -> b -> Either String a-happyReturn1 = \a tks -> (return) a-happyError' :: () => [Token] -> Either String a-happyError' = happyError--parseParas tks = happySomeParser where-  happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (happyOut5 x))--parseString tks = happySomeParser where-  happySomeParser = happyThen (happyParse 1# tks) (\x -> happyReturn (happyOut12 x))--happySeq = happyDontSeq--happyError :: [Token] -> Either String a-happyError toks = -  Left ("parse error in doc string: "  ++ show (take 3 toks))---- Either monad (we can't use MonadError because GHC < 5.00 has--- an older incompatible version).-instance Monad (Either String) where-	return        = Right-	Left  l >>= _ = Left l-	Right r >>= k = k r-	fail msg      = Left msg-{-# LINE 1 "GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command line>" #-}-{-# LINE 1 "GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp --{-# LINE 28 "GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Int# Happy_IntList------{-# LINE 49 "GenericTemplate.hs" #-}--{-# LINE 59 "GenericTemplate.hs" #-}--{-# LINE 68 "GenericTemplate.hs" #-}--infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser).  We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =-	happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) = -	(happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st-	= {- nothing -}---	  case action of-		0#		  -> {- nothing -}-				     happyFail i tk st-		-1# 	  -> {- nothing -}-				     happyAccept i tk st-		n | (n <# (0# :: Int#)) -> {- nothing -}--				     (happyReduceArr ! rule) i tk st-				     where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))-		n		  -> {- nothing -}---				     happyShift new_state i tk st-				     where new_state = (n -# (1# :: Int#))-   where off    = indexShortOffAddr happyActOffsets st-	 off_i  = (off +# i)-	 check  = if (off_i >=# (0# :: Int#))-			then (indexShortOffAddr happyCheck off_i ==#  i)-			else False- 	 action | check     = indexShortOffAddr happyTable off_i-		| otherwise = indexShortOffAddr happyDefActions st--{-# LINE 127 "GenericTemplate.hs" #-}---indexShortOffAddr (HappyA# arr) off =-#if __GLASGOW_HASKELL__ > 500-	narrow16Int# i-#elif __GLASGOW_HASKELL__ == 500-	intToInt16# i-#else-	(i `iShiftL#` 16#) `iShiftRA#` 16#-#endif-  where-#if __GLASGOW_HASKELL__ >= 503-	i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)-#else-	i = word2Int# ((high `shiftL#` 8#) `or#` low)-#endif-	high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))-	low  = int2Word# (ord# (indexCharOffAddr# arr off'))-	off' = off *# 2#------data HappyAddr = HappyA# Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)--{-# LINE 170 "GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =-     let i = (case unsafeCoerce# x of { (I# (i)) -> i }) in---     trace "shifting the error token" $-     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =-     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk-     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')-     = let r = fn v1 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')-     = let r = fn v1 v2 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')-     = let r = fn v1 v2 v3 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk-     = case happyDrop (k -# (1# :: Int#)) sts of-	 sts1@((HappyCons (st1@(action)) (_))) ->-        	let r = fn stk in  -- it doesn't hurt to always seq here...-       		happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =-        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))-             drop_stk = happyDropStk k stk--happyMonad2Reduce k nt fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =-       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))-             drop_stk = happyDropStk k stk--             off    = indexShortOffAddr happyGotoOffsets st1-             off_i  = (off +# nt)-             new_state = indexShortOffAddr happyTable off_i-----happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st = -   {- nothing -}-   happyDoAction j tk new_state-   where off    = indexShortOffAddr happyGotoOffsets st-	 off_i  = (off +# nt)- 	 new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail  0# tk old_st _ stk =---	trace "failing" $ -    	happyError_ tk--{-  We don't need state discarding for our restricted implementation of-    "error".  In fact, it can cause some bogus parses, so I've disabled it-    for now --SDM---- discard a state-happyFail  0# tk old_st (HappyCons ((action)) (sts)) -						(saved_tok `HappyStk` _ `HappyStk` stk) =---	trace ("discarding state, depth " ++ show (length stk))  $-	happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,---                       save the old token and carry on.-happyFail  i tk (action) sts stk =---      trace "entering error recovery" $-	happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing.  If the --strict flag is given, then Happy emits ---	happySeq = happyDoSeq--- otherwise it emits--- 	happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq   a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template.  GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.
src/HaddockParse.y view
@@ -15,6 +15,7 @@ 	URL	{ TokURL $$ }         PIC     { TokPic $$ } 	ANAME	{ TokAName $$ }+        '/../'  { TokEmphasis $$ } 	'-'	{ TokBullet } 	'(n)'	{ TokNumber } 	'>..'	{ TokBirdTrack $$ }@@ -67,12 +68,13 @@ 	| '@' seq1 '@'		{ DocMonospaced $2 }  seq1	:: { Doc }-	: elem1 seq1		{ docAppend $1 $2 }+        : PARA seq1		{ docAppend (DocString "\n") $2 }+	| elem1 seq1		{ docAppend $1 $2 } 	| elem1			{ $1 }  elem1	:: { Doc } 	: STRING		{ DocString $1 }-	| '/' strings '/'	{ DocEmphasis (DocString $2) }+	| '/../'                { DocEmphasis (DocString $1) } 	| URL			{ DocURL $1 }         | PIC                   { DocPic $1 } 	| ANAME			{ DocAName $1 }
src/HaddockUtil.hs view
@@ -417,7 +417,7 @@ cssFile, iconFile, jsFile, plusFile,minusFile :: String cssFile   = "haddock.css" iconFile  = "haskell_icon.gif"-jsFile    = "haddock.js"+jsFile    = "haddock-util.js" plusFile  = "plus.gif" minusFile = "minus.gif" 
src/HsParseMonad.lhs view
@@ -14,7 +14,7 @@ \end{code}  \begin{code}-data ParseResult a = Ok ParseState a | Failed String+data ParseResult a = Ok ParseState a | Failed SrcLoc String 	deriving Show  data LexContext = NoLayout | Layout Int@@ -34,7 +34,7 @@ thenP :: P a -> (a -> P b) -> P b m `thenP` k = \i l n c f s0 ->  	case m i l n c f s0 of -	    Failed s -> Failed s+	    Failed l s -> Failed l s 	    Ok s' a -> case k a of k' -> k' i l n c f s'  thenP_ :: P a -> P b -> P b@@ -51,7 +51,7 @@ returnP a = \_ _ _ _ _ s -> Ok s a  failP :: String -> P a-failP err = \_ _ _ _ _ _ -> Failed err+failP err = \_ l _ _ _ _ -> Failed l err  getSrcLoc :: P SrcLoc getSrcLoc = \_ l _ _ _ s -> Ok s l
src/HsParseUtils.lhs view
@@ -43,8 +43,7 @@  \begin{code} parseError :: String -> P a-parseError s = \r (SrcLoc y x f) -> -    failP (show f ++ ": " ++ show y ++ ":" ++ show x ++ ": " ++ s) r (SrcLoc y x f)+parseError = failP  splitTyConApp :: HsType -> P (HsName,[HsType]) splitTyConApp t0 = split t0 []
− src/HsParser.hs
@@ -1,4955 +0,0 @@-{-# OPTIONS -fglasgow-exts -cpp #-}-module HsParser (parse) where--import Monad-import HsSyn-import HsParseMonad-import HsLexer-import HsParseUtils-import HaddockLex 	hiding (Token)-import HaddockParse-import HaddockUtil 	hiding (splitTyConApp)-import Char 		( isSpace )-#if __GLASGOW_HASKELL__ >= 503-import Data.Array-#else-import Array-#endif-#if __GLASGOW_HASKELL__ >= 503-import GHC.Exts-#else-import GlaExts-#endif---- parser produced by Happy Version 1.16--newtype HappyAbsSyn  = HappyAbsSyn (() -> ())-happyIn4 :: (HsModule) -> (HappyAbsSyn )-happyIn4 x = unsafeCoerce# x-{-# INLINE happyIn4 #-}-happyOut4 :: (HappyAbsSyn ) -> (HsModule)-happyOut4 x = unsafeCoerce# x-{-# INLINE happyOut4 #-}-happyIn5 :: ((Maybe String,ModuleInfo,Maybe Doc)) -> (HappyAbsSyn )-happyIn5 x = unsafeCoerce# x-{-# INLINE happyIn5 #-}-happyOut5 :: (HappyAbsSyn ) -> ((Maybe String,ModuleInfo,Maybe Doc))-happyOut5 x = unsafeCoerce# x-{-# INLINE happyOut5 #-}-happyIn6 :: (([HsImportDecl],[HsDecl])) -> (HappyAbsSyn )-happyIn6 x = unsafeCoerce# x-{-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn ) -> (([HsImportDecl],[HsDecl]))-happyOut6 x = unsafeCoerce# x-{-# INLINE happyOut6 #-}-happyIn7 :: (([HsImportDecl],[HsDecl])) -> (HappyAbsSyn )-happyIn7 x = unsafeCoerce# x-{-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn ) -> (([HsImportDecl],[HsDecl]))-happyOut7 x = unsafeCoerce# x-{-# INLINE happyOut7 #-}-happyIn8 :: (()) -> (HappyAbsSyn )-happyIn8 x = unsafeCoerce# x-{-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn ) -> (())-happyOut8 x = unsafeCoerce# x-{-# INLINE happyOut8 #-}-happyIn9 :: (Maybe [HsExportSpec]) -> (HappyAbsSyn )-happyIn9 x = unsafeCoerce# x-{-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn ) -> (Maybe [HsExportSpec])-happyOut9 x = unsafeCoerce# x-{-# INLINE happyOut9 #-}-happyIn10 :: ([HsExportSpec]) -> (HappyAbsSyn )-happyIn10 x = unsafeCoerce# x-{-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn ) -> ([HsExportSpec])-happyOut10 x = unsafeCoerce# x-{-# INLINE happyOut10 #-}-happyIn11 :: ([HsExportSpec]) -> (HappyAbsSyn )-happyIn11 x = unsafeCoerce# x-{-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn ) -> ([HsExportSpec])-happyOut11 x = unsafeCoerce# x-{-# INLINE happyOut11 #-}-happyIn12 :: ([HsExportSpec]) -> (HappyAbsSyn )-happyIn12 x = unsafeCoerce# x-{-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn ) -> ([HsExportSpec])-happyOut12 x = unsafeCoerce# x-{-# INLINE happyOut12 #-}-happyIn13 :: (HsExportSpec) -> (HappyAbsSyn )-happyIn13 x = unsafeCoerce# x-{-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn ) -> (HsExportSpec)-happyOut13 x = unsafeCoerce# x-{-# INLINE happyOut13 #-}-happyIn14 :: (HsExportSpec) -> (HappyAbsSyn )-happyIn14 x = unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> (HsExportSpec)-happyOut14 x = unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: ([HsQName]) -> (HappyAbsSyn )-happyIn15 x = unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> ([HsQName])-happyOut15 x = unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: (HsQName) -> (HappyAbsSyn )-happyIn16 x = unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> (HsQName)-happyOut16 x = unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: ([HsImportDecl]) -> (HappyAbsSyn )-happyIn17 x = unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> ([HsImportDecl])-happyOut17 x = unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: (HsImportDecl) -> (HappyAbsSyn )-happyIn18 x = unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> (HsImportDecl)-happyOut18 x = unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (Bool) -> (HappyAbsSyn )-happyIn19 x = unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> (Bool)-happyOut19 x = unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (Maybe Module) -> (HappyAbsSyn )-happyIn20 x = unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (Maybe Module)-happyOut20 x = unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (Maybe (Bool, [HsImportSpec])) -> (HappyAbsSyn )-happyIn21 x = unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> (Maybe (Bool, [HsImportSpec]))-happyOut21 x = unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: ((Bool, [HsImportSpec])) -> (HappyAbsSyn )-happyIn22 x = unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> ((Bool, [HsImportSpec]))-happyOut22 x = unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: ([HsImportSpec]) -> (HappyAbsSyn )-happyIn23 x = unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> ([HsImportSpec])-happyOut23 x = unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (HsImportSpec) -> (HappyAbsSyn )-happyIn24 x = unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> (HsImportSpec)-happyOut24 x = unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: (HsName) -> (HappyAbsSyn )-happyIn25 x = unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> (HsName)-happyOut25 x = unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: ([HsName]) -> (HappyAbsSyn )-happyIn26 x = unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> ([HsName])-happyOut26 x = unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: (HsName) -> (HappyAbsSyn )-happyIn27 x = unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> (HsName)-happyOut27 x = unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: (HsDecl) -> (HappyAbsSyn )-happyIn28 x = unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> (HsDecl)-happyOut28 x = unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Int) -> (HappyAbsSyn )-happyIn29 x = unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (Int)-happyOut29 x = unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (HsAssoc) -> (HappyAbsSyn )-happyIn30 x = unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (HsAssoc)-happyOut30 x = unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: ([HsName]) -> (HappyAbsSyn )-happyIn31 x = unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> ([HsName])-happyOut31 x = unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: ([HsDecl]) -> (HappyAbsSyn )-happyIn32 x = unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> ([HsDecl])-happyOut32 x = unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (HsDecl) -> (HappyAbsSyn )-happyIn33 x = unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> (HsDecl)-happyOut33 x = unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: ([HsType]) -> (HappyAbsSyn )-happyIn34 x = unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> ([HsType])-happyOut34 x = unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: ([HsDecl]) -> (HappyAbsSyn )-happyIn35 x = unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> ([HsDecl])-happyOut35 x = unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: (HsDecl) -> (HappyAbsSyn )-happyIn36 x = unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> (HsDecl)-happyOut36 x = unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: (HsDecl) -> (HappyAbsSyn )-happyIn37 x = unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> (HsDecl)-happyOut37 x = unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: ([HsDecl]) -> (HappyAbsSyn )-happyIn38 x = unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> ([HsDecl])-happyOut38 x = unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: (HsDecl) -> (HappyAbsSyn )-happyIn39 x = unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> (HsDecl)-happyOut39 x = unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: ([HsName]) -> (HappyAbsSyn )-happyIn40 x = unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> ([HsName])-happyOut40 x = unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: (HsDecl) -> (HappyAbsSyn )-happyIn41 x = unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> (HsDecl)-happyOut41 x = unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: (HsCallConv) -> (HappyAbsSyn )-happyIn42 x = unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> (HsCallConv)-happyOut42 x = unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: (HsFISafety) -> (HappyAbsSyn )-happyIn43 x = unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> (HsFISafety)-happyOut43 x = unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: ((String, HsName, HsType)) -> (HappyAbsSyn )-happyIn44 x = unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> ((String, HsName, HsType))-happyOut44 x = unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (HsType) -> (HappyAbsSyn )-happyIn45 x = unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> (HsType)-happyOut45 x = unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: (HsType) -> (HappyAbsSyn )-happyIn46 x = unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> (HsType)-happyOut46 x = unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (HsType) -> (HappyAbsSyn )-happyIn47 x = unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (HsType)-happyOut47 x = unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (HsType) -> (HappyAbsSyn )-happyIn48 x = unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> (HsType)-happyOut48 x = unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (HsType) -> (HappyAbsSyn )-happyIn49 x = unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> (HsType)-happyOut49 x = unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (HsType) -> (HappyAbsSyn )-happyIn50 x = unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> (HsType)-happyOut50 x = unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (HsQName) -> (HappyAbsSyn )-happyIn51 x = unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> (HsQName)-happyOut51 x = unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: (HsType) -> (HappyAbsSyn )-happyIn52 x = unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> (HsType)-happyOut52 x = unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (HsType) -> (HappyAbsSyn )-happyIn53 x = unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> (HsType)-happyOut53 x = unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (HsIPContext) -> (HappyAbsSyn )-happyIn54 x = unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn ) -> (HsIPContext)-happyOut54 x = unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: ([HsType]) -> (HappyAbsSyn )-happyIn55 x = unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn ) -> ([HsType])-happyOut55 x = unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: ((HsName, [HsName])) -> (HappyAbsSyn )-happyIn56 x = unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn ) -> ((HsName, [HsName]))-happyOut56 x = unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: ([HsName]) -> (HappyAbsSyn )-happyIn57 x = unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn ) -> ([HsName])-happyOut57 x = unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: ([HsConDecl]) -> (HappyAbsSyn )-happyIn58 x = unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn ) -> ([HsConDecl])-happyOut58 x = unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: ([HsConDecl]) -> (HappyAbsSyn )-happyIn59 x = unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn ) -> ([HsConDecl])-happyOut59 x = unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: (HsConDecl) -> (HappyAbsSyn )-happyIn60 x = unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn ) -> (HsConDecl)-happyOut60 x = unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: ([HsName]) -> (HappyAbsSyn )-happyIn61 x = unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn ) -> ([HsName])-happyOut61 x = unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: ((HsName, [HsBangType])) -> (HappyAbsSyn )-happyIn62 x = unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn ) -> ((HsName, [HsBangType]))-happyOut62 x = unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: ((HsName, [HsBangType])) -> (HappyAbsSyn )-happyIn63 x = unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn ) -> ((HsName, [HsBangType]))-happyOut63 x = unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: ((HsName, [HsBangType])) -> (HappyAbsSyn )-happyIn64 x = unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn ) -> ((HsName, [HsBangType]))-happyOut64 x = unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: (HsBangType) -> (HappyAbsSyn )-happyIn65 x = unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn ) -> (HsBangType)-happyOut65 x = unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: (HsBangType) -> (HappyAbsSyn )-happyIn66 x = unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn ) -> (HsBangType)-happyOut66 x = unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: ([HsFieldDecl]) -> (HappyAbsSyn )-happyIn67 x = unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn ) -> ([HsFieldDecl])-happyOut67 x = unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (HsFieldDecl) -> (HappyAbsSyn )-happyIn68 x = unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn ) -> (HsFieldDecl)-happyOut68 x = unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: (HsBangType) -> (HappyAbsSyn )-happyIn69 x = unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn ) -> (HsBangType)-happyOut69 x = unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: ([HsQName]) -> (HappyAbsSyn )-happyIn70 x = unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn ) -> ([HsQName])-happyOut70 x = unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: ([HsQName]) -> (HappyAbsSyn )-happyIn71 x = unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn ) -> ([HsQName])-happyOut71 x = unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: ([HsFunDep]) -> (HappyAbsSyn )-happyIn72 x = unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn ) -> ([HsFunDep])-happyOut72 x = unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: ([HsFunDep]) -> (HappyAbsSyn )-happyIn73 x = unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn ) -> ([HsFunDep])-happyOut73 x = unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (HsFunDep) -> (HappyAbsSyn )-happyIn74 x = unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn ) -> (HsFunDep)-happyOut74 x = unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: ([HsName]) -> (HappyAbsSyn )-happyIn75 x = unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn ) -> ([HsName])-happyOut75 x = unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: ([HsDecl]) -> (HappyAbsSyn )-happyIn76 x = unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn ) -> ([HsDecl])-happyOut76 x = unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: ([HsDecl]) -> (HappyAbsSyn )-happyIn77 x = unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn ) -> ([HsDecl])-happyOut77 x = unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (HsDecl) -> (HappyAbsSyn )-happyIn78 x = unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn ) -> (HsDecl)-happyOut78 x = unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyIn79 :: ([HsDecl]) -> (HappyAbsSyn )-happyIn79 x = unsafeCoerce# x-{-# INLINE happyIn79 #-}-happyOut79 :: (HappyAbsSyn ) -> ([HsDecl])-happyOut79 x = unsafeCoerce# x-{-# INLINE happyOut79 #-}-happyIn80 :: ([HsDecl]) -> (HappyAbsSyn )-happyIn80 x = unsafeCoerce# x-{-# INLINE happyIn80 #-}-happyOut80 :: (HappyAbsSyn ) -> ([HsDecl])-happyOut80 x = unsafeCoerce# x-{-# INLINE happyOut80 #-}-happyIn81 :: ([HsDecl]) -> (HappyAbsSyn )-happyIn81 x = unsafeCoerce# x-{-# INLINE happyIn81 #-}-happyOut81 :: (HappyAbsSyn ) -> ([HsDecl])-happyOut81 x = unsafeCoerce# x-{-# INLINE happyOut81 #-}-happyIn82 :: ([HsDecl]) -> (HappyAbsSyn )-happyIn82 x = unsafeCoerce# x-{-# INLINE happyIn82 #-}-happyOut82 :: (HappyAbsSyn ) -> ([HsDecl])-happyOut82 x = unsafeCoerce# x-{-# INLINE happyOut82 #-}-happyIn83 :: (HsDecl) -> (HappyAbsSyn )-happyIn83 x = unsafeCoerce# x-{-# INLINE happyIn83 #-}-happyOut83 :: (HappyAbsSyn ) -> (HsDecl)-happyOut83 x = unsafeCoerce# x-{-# INLINE happyOut83 #-}-happyIn84 :: (HsRhs) -> (HappyAbsSyn )-happyIn84 x = unsafeCoerce# x-{-# INLINE happyIn84 #-}-happyOut84 :: (HappyAbsSyn ) -> (HsRhs)-happyOut84 x = unsafeCoerce# x-{-# INLINE happyOut84 #-}-happyIn85 :: ([HsGuardedRhs]) -> (HappyAbsSyn )-happyIn85 x = unsafeCoerce# x-{-# INLINE happyIn85 #-}-happyOut85 :: (HappyAbsSyn ) -> ([HsGuardedRhs])-happyOut85 x = unsafeCoerce# x-{-# INLINE happyOut85 #-}-happyIn86 :: (HsGuardedRhs) -> (HappyAbsSyn )-happyIn86 x = unsafeCoerce# x-{-# INLINE happyIn86 #-}-happyOut86 :: (HappyAbsSyn ) -> (HsGuardedRhs)-happyOut86 x = unsafeCoerce# x-{-# INLINE happyOut86 #-}-happyIn87 :: (HsExp) -> (HappyAbsSyn )-happyIn87 x = unsafeCoerce# x-{-# INLINE happyIn87 #-}-happyOut87 :: (HappyAbsSyn ) -> (HsExp)-happyOut87 x = unsafeCoerce# x-{-# INLINE happyOut87 #-}-happyIn88 :: (HsExp) -> (HappyAbsSyn )-happyIn88 x = unsafeCoerce# x-{-# INLINE happyIn88 #-}-happyOut88 :: (HappyAbsSyn ) -> (HsExp)-happyOut88 x = unsafeCoerce# x-{-# INLINE happyOut88 #-}-happyIn89 :: (HsExp) -> (HappyAbsSyn )-happyIn89 x = unsafeCoerce# x-{-# INLINE happyIn89 #-}-happyOut89 :: (HappyAbsSyn ) -> (HsExp)-happyOut89 x = unsafeCoerce# x-{-# INLINE happyOut89 #-}-happyIn90 :: (HsExp) -> (HappyAbsSyn )-happyIn90 x = unsafeCoerce# x-{-# INLINE happyIn90 #-}-happyOut90 :: (HappyAbsSyn ) -> (HsExp)-happyOut90 x = unsafeCoerce# x-{-# INLINE happyOut90 #-}-happyIn91 :: (HsExp) -> (HappyAbsSyn )-happyIn91 x = unsafeCoerce# x-{-# INLINE happyIn91 #-}-happyOut91 :: (HappyAbsSyn ) -> (HsExp)-happyOut91 x = unsafeCoerce# x-{-# INLINE happyOut91 #-}-happyIn92 :: (HsExp) -> (HappyAbsSyn )-happyIn92 x = unsafeCoerce# x-{-# INLINE happyIn92 #-}-happyOut92 :: (HappyAbsSyn ) -> (HsExp)-happyOut92 x = unsafeCoerce# x-{-# INLINE happyOut92 #-}-happyIn93 :: (HsExp) -> (HappyAbsSyn )-happyIn93 x = unsafeCoerce# x-{-# INLINE happyIn93 #-}-happyOut93 :: (HappyAbsSyn ) -> (HsExp)-happyOut93 x = unsafeCoerce# x-{-# INLINE happyOut93 #-}-happyIn94 :: ([HsExp]) -> (HappyAbsSyn )-happyIn94 x = unsafeCoerce# x-{-# INLINE happyIn94 #-}-happyOut94 :: (HappyAbsSyn ) -> ([HsExp])-happyOut94 x = unsafeCoerce# x-{-# INLINE happyOut94 #-}-happyIn95 :: (HsExp) -> (HappyAbsSyn )-happyIn95 x = unsafeCoerce# x-{-# INLINE happyIn95 #-}-happyOut95 :: (HappyAbsSyn ) -> (HsExp)-happyOut95 x = unsafeCoerce# x-{-# INLINE happyOut95 #-}-happyIn96 :: (HsExp) -> (HappyAbsSyn )-happyIn96 x = unsafeCoerce# x-{-# INLINE happyIn96 #-}-happyOut96 :: (HappyAbsSyn ) -> (HsExp)-happyOut96 x = unsafeCoerce# x-{-# INLINE happyOut96 #-}-happyIn97 :: (Int) -> (HappyAbsSyn )-happyIn97 x = unsafeCoerce# x-{-# INLINE happyIn97 #-}-happyOut97 :: (HappyAbsSyn ) -> (Int)-happyOut97 x = unsafeCoerce# x-{-# INLINE happyOut97 #-}-happyIn98 :: ([HsExp]) -> (HappyAbsSyn )-happyIn98 x = unsafeCoerce# x-{-# INLINE happyIn98 #-}-happyOut98 :: (HappyAbsSyn ) -> ([HsExp])-happyOut98 x = unsafeCoerce# x-{-# INLINE happyOut98 #-}-happyIn99 :: (HsExp) -> (HappyAbsSyn )-happyIn99 x = unsafeCoerce# x-{-# INLINE happyIn99 #-}-happyOut99 :: (HappyAbsSyn ) -> (HsExp)-happyOut99 x = unsafeCoerce# x-{-# INLINE happyOut99 #-}-happyIn100 :: ([HsExp]) -> (HappyAbsSyn )-happyIn100 x = unsafeCoerce# x-{-# INLINE happyIn100 #-}-happyOut100 :: (HappyAbsSyn ) -> ([HsExp])-happyOut100 x = unsafeCoerce# x-{-# INLINE happyOut100 #-}-happyIn101 :: ([HsStmt]) -> (HappyAbsSyn )-happyIn101 x = unsafeCoerce# x-{-# INLINE happyIn101 #-}-happyOut101 :: (HappyAbsSyn ) -> ([HsStmt])-happyOut101 x = unsafeCoerce# x-{-# INLINE happyOut101 #-}-happyIn102 :: ([[HsStmt]]) -> (HappyAbsSyn )-happyIn102 x = unsafeCoerce# x-{-# INLINE happyIn102 #-}-happyOut102 :: (HappyAbsSyn ) -> ([[HsStmt]])-happyOut102 x = unsafeCoerce# x-{-# INLINE happyOut102 #-}-happyIn103 :: ([HsStmt]) -> (HappyAbsSyn )-happyIn103 x = unsafeCoerce# x-{-# INLINE happyIn103 #-}-happyOut103 :: (HappyAbsSyn ) -> ([HsStmt])-happyOut103 x = unsafeCoerce# x-{-# INLINE happyOut103 #-}-happyIn104 :: (HsStmt) -> (HappyAbsSyn )-happyIn104 x = unsafeCoerce# x-{-# INLINE happyIn104 #-}-happyOut104 :: (HappyAbsSyn ) -> (HsStmt)-happyOut104 x = unsafeCoerce# x-{-# INLINE happyOut104 #-}-happyIn105 :: ([HsAlt]) -> (HappyAbsSyn )-happyIn105 x = unsafeCoerce# x-{-# INLINE happyIn105 #-}-happyOut105 :: (HappyAbsSyn ) -> ([HsAlt])-happyOut105 x = unsafeCoerce# x-{-# INLINE happyOut105 #-}-happyIn106 :: ([HsAlt]) -> (HappyAbsSyn )-happyIn106 x = unsafeCoerce# x-{-# INLINE happyIn106 #-}-happyOut106 :: (HappyAbsSyn ) -> ([HsAlt])-happyOut106 x = unsafeCoerce# x-{-# INLINE happyOut106 #-}-happyIn107 :: (HsAlt) -> (HappyAbsSyn )-happyIn107 x = unsafeCoerce# x-{-# INLINE happyIn107 #-}-happyOut107 :: (HappyAbsSyn ) -> (HsAlt)-happyOut107 x = unsafeCoerce# x-{-# INLINE happyOut107 #-}-happyIn108 :: (HsGuardedAlts) -> (HappyAbsSyn )-happyIn108 x = unsafeCoerce# x-{-# INLINE happyIn108 #-}-happyOut108 :: (HappyAbsSyn ) -> (HsGuardedAlts)-happyOut108 x = unsafeCoerce# x-{-# INLINE happyOut108 #-}-happyIn109 :: ([HsGuardedAlt]) -> (HappyAbsSyn )-happyIn109 x = unsafeCoerce# x-{-# INLINE happyIn109 #-}-happyOut109 :: (HappyAbsSyn ) -> ([HsGuardedAlt])-happyOut109 x = unsafeCoerce# x-{-# INLINE happyOut109 #-}-happyIn110 :: (HsGuardedAlt) -> (HappyAbsSyn )-happyIn110 x = unsafeCoerce# x-{-# INLINE happyIn110 #-}-happyOut110 :: (HappyAbsSyn ) -> (HsGuardedAlt)-happyOut110 x = unsafeCoerce# x-{-# INLINE happyOut110 #-}-happyIn111 :: (HsPat) -> (HappyAbsSyn )-happyIn111 x = unsafeCoerce# x-{-# INLINE happyIn111 #-}-happyOut111 :: (HappyAbsSyn ) -> (HsPat)-happyOut111 x = unsafeCoerce# x-{-# INLINE happyOut111 #-}-happyIn112 :: ([HsStmt]) -> (HappyAbsSyn )-happyIn112 x = unsafeCoerce# x-{-# INLINE happyIn112 #-}-happyOut112 :: (HappyAbsSyn ) -> ([HsStmt])-happyOut112 x = unsafeCoerce# x-{-# INLINE happyOut112 #-}-happyIn113 :: ([HsStmt]) -> (HappyAbsSyn )-happyIn113 x = unsafeCoerce# x-{-# INLINE happyIn113 #-}-happyOut113 :: (HappyAbsSyn ) -> ([HsStmt])-happyOut113 x = unsafeCoerce# x-{-# INLINE happyOut113 #-}-happyIn114 :: ([HsStmt]) -> (HappyAbsSyn )-happyIn114 x = unsafeCoerce# x-{-# INLINE happyIn114 #-}-happyOut114 :: (HappyAbsSyn ) -> ([HsStmt])-happyOut114 x = unsafeCoerce# x-{-# INLINE happyOut114 #-}-happyIn115 :: ([HsFieldUpdate]) -> (HappyAbsSyn )-happyIn115 x = unsafeCoerce# x-{-# INLINE happyIn115 #-}-happyOut115 :: (HappyAbsSyn ) -> ([HsFieldUpdate])-happyOut115 x = unsafeCoerce# x-{-# INLINE happyOut115 #-}-happyIn116 :: (HsFieldUpdate) -> (HappyAbsSyn )-happyIn116 x = unsafeCoerce# x-{-# INLINE happyIn116 #-}-happyOut116 :: (HappyAbsSyn ) -> (HsFieldUpdate)-happyOut116 x = unsafeCoerce# x-{-# INLINE happyOut116 #-}-happyIn117 :: (HsQName) -> (HappyAbsSyn )-happyIn117 x = unsafeCoerce# x-{-# INLINE happyIn117 #-}-happyOut117 :: (HappyAbsSyn ) -> (HsQName)-happyOut117 x = unsafeCoerce# x-{-# INLINE happyOut117 #-}-happyIn118 :: (HsName) -> (HappyAbsSyn )-happyIn118 x = unsafeCoerce# x-{-# INLINE happyIn118 #-}-happyOut118 :: (HappyAbsSyn ) -> (HsName)-happyOut118 x = unsafeCoerce# x-{-# INLINE happyOut118 #-}-happyIn119 :: (HsQName) -> (HappyAbsSyn )-happyIn119 x = unsafeCoerce# x-{-# INLINE happyIn119 #-}-happyOut119 :: (HappyAbsSyn ) -> (HsQName)-happyOut119 x = unsafeCoerce# x-{-# INLINE happyOut119 #-}-happyIn120 :: (HsName) -> (HappyAbsSyn )-happyIn120 x = unsafeCoerce# x-{-# INLINE happyIn120 #-}-happyOut120 :: (HappyAbsSyn ) -> (HsName)-happyOut120 x = unsafeCoerce# x-{-# INLINE happyOut120 #-}-happyIn121 :: (HsName) -> (HappyAbsSyn )-happyIn121 x = unsafeCoerce# x-{-# INLINE happyIn121 #-}-happyOut121 :: (HappyAbsSyn ) -> (HsName)-happyOut121 x = unsafeCoerce# x-{-# INLINE happyOut121 #-}-happyIn122 :: (HsQName) -> (HappyAbsSyn )-happyIn122 x = unsafeCoerce# x-{-# INLINE happyIn122 #-}-happyOut122 :: (HappyAbsSyn ) -> (HsQName)-happyOut122 x = unsafeCoerce# x-{-# INLINE happyOut122 #-}-happyIn123 :: (HsName) -> (HappyAbsSyn )-happyIn123 x = unsafeCoerce# x-{-# INLINE happyIn123 #-}-happyOut123 :: (HappyAbsSyn ) -> (HsName)-happyOut123 x = unsafeCoerce# x-{-# INLINE happyOut123 #-}-happyIn124 :: (HsQName) -> (HappyAbsSyn )-happyIn124 x = unsafeCoerce# x-{-# INLINE happyIn124 #-}-happyOut124 :: (HappyAbsSyn ) -> (HsQName)-happyOut124 x = unsafeCoerce# x-{-# INLINE happyOut124 #-}-happyIn125 :: (HsQName) -> (HappyAbsSyn )-happyIn125 x = unsafeCoerce# x-{-# INLINE happyIn125 #-}-happyOut125 :: (HappyAbsSyn ) -> (HsQName)-happyOut125 x = unsafeCoerce# x-{-# INLINE happyOut125 #-}-happyIn126 :: (HsName) -> (HappyAbsSyn )-happyIn126 x = unsafeCoerce# x-{-# INLINE happyIn126 #-}-happyOut126 :: (HappyAbsSyn ) -> (HsName)-happyOut126 x = unsafeCoerce# x-{-# INLINE happyOut126 #-}-happyIn127 :: (HsQName) -> (HappyAbsSyn )-happyIn127 x = unsafeCoerce# x-{-# INLINE happyIn127 #-}-happyOut127 :: (HappyAbsSyn ) -> (HsQName)-happyOut127 x = unsafeCoerce# x-{-# INLINE happyOut127 #-}-happyIn128 :: (HsName) -> (HappyAbsSyn )-happyIn128 x = unsafeCoerce# x-{-# INLINE happyIn128 #-}-happyOut128 :: (HappyAbsSyn ) -> (HsName)-happyOut128 x = unsafeCoerce# x-{-# INLINE happyOut128 #-}-happyIn129 :: (HsExp) -> (HappyAbsSyn )-happyIn129 x = unsafeCoerce# x-{-# INLINE happyIn129 #-}-happyOut129 :: (HappyAbsSyn ) -> (HsExp)-happyOut129 x = unsafeCoerce# x-{-# INLINE happyOut129 #-}-happyIn130 :: (HsExp) -> (HappyAbsSyn )-happyIn130 x = unsafeCoerce# x-{-# INLINE happyIn130 #-}-happyOut130 :: (HappyAbsSyn ) -> (HsExp)-happyOut130 x = unsafeCoerce# x-{-# INLINE happyOut130 #-}-happyIn131 :: (HsQName) -> (HappyAbsSyn )-happyIn131 x = unsafeCoerce# x-{-# INLINE happyIn131 #-}-happyOut131 :: (HappyAbsSyn ) -> (HsQName)-happyOut131 x = unsafeCoerce# x-{-# INLINE happyOut131 #-}-happyIn132 :: (HsName) -> (HappyAbsSyn )-happyIn132 x = unsafeCoerce# x-{-# INLINE happyIn132 #-}-happyOut132 :: (HappyAbsSyn ) -> (HsName)-happyOut132 x = unsafeCoerce# x-{-# INLINE happyOut132 #-}-happyIn133 :: (HsName) -> (HappyAbsSyn )-happyIn133 x = unsafeCoerce# x-{-# INLINE happyIn133 #-}-happyOut133 :: (HappyAbsSyn ) -> (HsName)-happyOut133 x = unsafeCoerce# x-{-# INLINE happyOut133 #-}-happyIn134 :: (HsQName) -> (HappyAbsSyn )-happyIn134 x = unsafeCoerce# x-{-# INLINE happyIn134 #-}-happyOut134 :: (HappyAbsSyn ) -> (HsQName)-happyOut134 x = unsafeCoerce# x-{-# INLINE happyOut134 #-}-happyIn135 :: (HsName) -> (HappyAbsSyn )-happyIn135 x = unsafeCoerce# x-{-# INLINE happyIn135 #-}-happyOut135 :: (HappyAbsSyn ) -> (HsName)-happyOut135 x = unsafeCoerce# x-{-# INLINE happyOut135 #-}-happyIn136 :: (HsQName) -> (HappyAbsSyn )-happyIn136 x = unsafeCoerce# x-{-# INLINE happyIn136 #-}-happyOut136 :: (HappyAbsSyn ) -> (HsQName)-happyOut136 x = unsafeCoerce# x-{-# INLINE happyOut136 #-}-happyIn137 :: (HsName) -> (HappyAbsSyn )-happyIn137 x = unsafeCoerce# x-{-# INLINE happyIn137 #-}-happyOut137 :: (HappyAbsSyn ) -> (HsName)-happyOut137 x = unsafeCoerce# x-{-# INLINE happyOut137 #-}-happyIn138 :: (HsQName) -> (HappyAbsSyn )-happyIn138 x = unsafeCoerce# x-{-# INLINE happyIn138 #-}-happyOut138 :: (HappyAbsSyn ) -> (HsQName)-happyOut138 x = unsafeCoerce# x-{-# INLINE happyOut138 #-}-happyIn139 :: (HsQName) -> (HappyAbsSyn )-happyIn139 x = unsafeCoerce# x-{-# INLINE happyIn139 #-}-happyOut139 :: (HappyAbsSyn ) -> (HsQName)-happyOut139 x = unsafeCoerce# x-{-# INLINE happyOut139 #-}-happyIn140 :: (HsName) -> (HappyAbsSyn )-happyIn140 x = unsafeCoerce# x-{-# INLINE happyIn140 #-}-happyOut140 :: (HappyAbsSyn ) -> (HsName)-happyOut140 x = unsafeCoerce# x-{-# INLINE happyOut140 #-}-happyIn141 :: (HsName) -> (HappyAbsSyn )-happyIn141 x = unsafeCoerce# x-{-# INLINE happyIn141 #-}-happyOut141 :: (HappyAbsSyn ) -> (HsName)-happyOut141 x = unsafeCoerce# x-{-# INLINE happyOut141 #-}-happyIn142 :: (HsQName) -> (HappyAbsSyn )-happyIn142 x = unsafeCoerce# x-{-# INLINE happyIn142 #-}-happyOut142 :: (HappyAbsSyn ) -> (HsQName)-happyOut142 x = unsafeCoerce# x-{-# INLINE happyOut142 #-}-happyIn143 :: (HsExp) -> (HappyAbsSyn )-happyIn143 x = unsafeCoerce# x-{-# INLINE happyIn143 #-}-happyOut143 :: (HappyAbsSyn ) -> (HsExp)-happyOut143 x = unsafeCoerce# x-{-# INLINE happyOut143 #-}-happyIn144 :: (SrcLoc) -> (HappyAbsSyn )-happyIn144 x = unsafeCoerce# x-{-# INLINE happyIn144 #-}-happyOut144 :: (HappyAbsSyn ) -> (SrcLoc)-happyOut144 x = unsafeCoerce# x-{-# INLINE happyOut144 #-}-happyIn145 :: (()) -> (HappyAbsSyn )-happyIn145 x = unsafeCoerce# x-{-# INLINE happyIn145 #-}-happyOut145 :: (HappyAbsSyn ) -> (())-happyOut145 x = unsafeCoerce# x-{-# INLINE happyOut145 #-}-happyIn146 :: (()) -> (HappyAbsSyn )-happyIn146 x = unsafeCoerce# x-{-# INLINE happyIn146 #-}-happyOut146 :: (HappyAbsSyn ) -> (())-happyOut146 x = unsafeCoerce# x-{-# INLINE happyOut146 #-}-happyIn147 :: (Module) -> (HappyAbsSyn )-happyIn147 x = unsafeCoerce# x-{-# INLINE happyIn147 #-}-happyOut147 :: (HappyAbsSyn ) -> (Module)-happyOut147 x = unsafeCoerce# x-{-# INLINE happyOut147 #-}-happyIn148 :: (HsName) -> (HappyAbsSyn )-happyIn148 x = unsafeCoerce# x-{-# INLINE happyIn148 #-}-happyOut148 :: (HappyAbsSyn ) -> (HsName)-happyOut148 x = unsafeCoerce# x-{-# INLINE happyOut148 #-}-happyIn149 :: (HsName) -> (HappyAbsSyn )-happyIn149 x = unsafeCoerce# x-{-# INLINE happyIn149 #-}-happyOut149 :: (HappyAbsSyn ) -> (HsName)-happyOut149 x = unsafeCoerce# x-{-# INLINE happyOut149 #-}-happyIn150 :: (HsQName) -> (HappyAbsSyn )-happyIn150 x = unsafeCoerce# x-{-# INLINE happyIn150 #-}-happyOut150 :: (HappyAbsSyn ) -> (HsQName)-happyOut150 x = unsafeCoerce# x-{-# INLINE happyOut150 #-}-happyIn151 :: (HsName) -> (HappyAbsSyn )-happyIn151 x = unsafeCoerce# x-{-# INLINE happyIn151 #-}-happyOut151 :: (HappyAbsSyn ) -> (HsName)-happyOut151 x = unsafeCoerce# x-{-# INLINE happyOut151 #-}-happyIn152 :: (Doc) -> (HappyAbsSyn )-happyIn152 x = unsafeCoerce# x-{-# INLINE happyIn152 #-}-happyOut152 :: (HappyAbsSyn ) -> (Doc)-happyOut152 x = unsafeCoerce# x-{-# INLINE happyOut152 #-}-happyIn153 :: (Doc) -> (HappyAbsSyn )-happyIn153 x = unsafeCoerce# x-{-# INLINE happyIn153 #-}-happyOut153 :: (HappyAbsSyn ) -> (Doc)-happyOut153 x = unsafeCoerce# x-{-# INLINE happyOut153 #-}-happyIn154 :: ((String,Doc)) -> (HappyAbsSyn )-happyIn154 x = unsafeCoerce# x-{-# INLINE happyIn154 #-}-happyOut154 :: (HappyAbsSyn ) -> ((String,Doc))-happyOut154 x = unsafeCoerce# x-{-# INLINE happyOut154 #-}-happyIn155 :: ((Int,Doc)) -> (HappyAbsSyn )-happyIn155 x = unsafeCoerce# x-{-# INLINE happyIn155 #-}-happyOut155 :: (HappyAbsSyn ) -> ((Int,Doc))-happyOut155 x = unsafeCoerce# x-{-# INLINE happyOut155 #-}-happyIn156 :: (Maybe Doc) -> (HappyAbsSyn )-happyIn156 x = unsafeCoerce# x-{-# INLINE happyIn156 #-}-happyOut156 :: (HappyAbsSyn ) -> (Maybe Doc)-happyOut156 x = unsafeCoerce# x-{-# INLINE happyOut156 #-}-happyIn157 :: (Maybe Doc) -> (HappyAbsSyn )-happyIn157 x = unsafeCoerce# x-{-# INLINE happyIn157 #-}-happyOut157 :: (HappyAbsSyn ) -> (Maybe Doc)-happyOut157 x = unsafeCoerce# x-{-# INLINE happyOut157 #-}-happyIn158 :: ((ModuleInfo,Maybe Doc)) -> (HappyAbsSyn )-happyIn158 x = unsafeCoerce# x-{-# INLINE happyIn158 #-}-happyOut158 :: (HappyAbsSyn ) -> ((ModuleInfo,Maybe Doc))-happyOut158 x = unsafeCoerce# x-{-# INLINE happyOut158 #-}-happyInTok :: Token -> (HappyAbsSyn )-happyInTok x = unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> Token-happyOutTok x = unsafeCoerce# x-{-# INLINE happyOutTok #-}--happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x1b\x00\x79\x01\x65\x04\x93\x04\x00\x00\x95\x04\x54\x04\x00\x00\x1c\x05\x12\x06\x86\x04\x87\x04\x00\x00\x00\x00\x00\x00\x85\x04\x00\x00\x6e\x05\x00\x00\x7d\x04\x00\x00\x62\x04\x00\x00\x7a\x0c\x7f\x04\x00\x00\x00\x00\x53\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x05\x32\x0b\x6e\x05\xac\x07\x00\x00\x7a\x0c\x7a\x0c\x00\x00\x32\x0b\x00\x00\x00\x00\xbc\x0e\x00\x00\x78\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x0e\x00\x00\x00\x00\x00\x00\x8d\x04\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x12\x00\x00\x00\x00\x00\x00\x9f\x0e\x00\x00\x00\x00\x00\x00\x4e\x04\x69\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x0d\xd7\x10\x77\x0e\x5e\x12\x38\x0e\x3d\x04\x00\x00\x06\x02\x00\x00\x5a\x07\x5a\x07\x63\x04\x00\x00\x38\x0e\x2e\x04\x00\x00\x00\x00\x24\x11\x00\x00\x4d\x04\x7a\x0c\x32\x0b\x51\x04\x7a\x0c\x00\x00\x13\x02\x4b\x04\x42\x04\x00\x00\x00\x00\x39\x01\x44\x04\x09\x02\x24\x11\xf8\x01\x4a\x04\x00\x00\x00\x00\x32\x0b\x49\x04\x00\x00\x47\x04\x00\x00\x00\x00\x00\x00\x43\x04\x3b\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x11\x32\x04\x7a\x0c\x31\x04\x3e\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x0c\xa3\x11\x2a\x04\x00\x00\x00\x00\xd6\x0b\x00\x00\x00\x00\x00\x00\x3c\x02\x00\x00\x88\x11\x00\x00\x00\x00\x00\x00\x1f\x04\x3b\x12\x00\x00\x6e\x05\x1c\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x01\xb1\x10\x17\x04\x11\x04\x00\x00\xf1\xff\x00\x00\x32\x0b\x00\x00\x00\x00\x91\x01\x00\x00\x1c\x04\xe0\x03\x00\x00\x12\x04\xd1\x01\x00\x00\x0d\x04\x00\x00\x00\x00\x0f\x04\x62\x04\x00\x00\x00\x00\x00\x00\x08\x07\x00\x00\x00\x00\x32\x0b\x00\x00\x00\x00\x32\x0b\x00\x00\x00\x00\xfd\x03\x32\x0b\x32\x0b\xe0\x0a\x00\x00\xdb\x03\x64\x06\x84\x0b\xd7\x03\x28\x0c\xf8\x03\x8e\x0a\xdc\x03\xea\x03\xaa\x00\x94\x10\x00\x00\x34\x18\xf2\x03\xcc\x03\xda\x03\xb6\x06\xd9\x03\x4e\x00\xb9\x00\xb9\x00\xde\x02\x00\x00\xa3\x03\xd0\x03\x5e\x12\xd2\x03\x71\x10\x00\x00\xa9\x00\xcf\x03\xc7\x03\xce\x03\xca\x03\xf7\x01\x00\x00\xb9\x03\x38\x11\x54\x10\xb6\x03\x00\x00\x38\x11\x00\x00\xb3\x03\xb1\x03\x00\x00\x00\x00\x75\x03\x00\x00\xe2\x0c\x2e\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x10\x00\x00\x00\x00\x00\x00\x00\x00\x38\x0e\x00\x00\xa7\x03\x8b\x03\x18\x12\x00\x00\x00\x00\x00\x00\xfb\x11\x00\x00\x78\x03\x00\x00\x00\x00\x8e\x0a\x00\x00\xb6\x06\xa0\x03\x95\x03\x00\x00\x89\x03\x00\x00\x8e\x03\x67\x03\x00\x00\x00\x00\xd6\x0b\xd6\x0b\x00\x00\x98\x03\x8e\x0a\x8e\x0a\x96\x03\x91\x03\x64\x06\xd6\x01\x00\x00\x7f\x03\x64\x06\x4e\x00\x2f\x01\x8e\x0a\x8a\x03\x00\x00\x00\x00\x84\x03\x3c\x0a\x00\x00\x87\x03\x00\x00\x38\x0e\x00\x00\x00\x00\x00\x00\x86\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x0c\xea\x09\x00\x00\xe0\x11\x98\x09\x53\x03\x00\x00\x00\x00\x85\x03\x00\x00\x00\x00\x00\x00\x74\x03\x10\x0e\x00\x00\x6e\x03\x5e\x12\x82\x03\x00\x00\x65\x03\x38\x11\x00\x00\x38\x11\x00\x00\x00\x00\xc0\x01\x00\x00\x00\x00\x70\x03\x6d\x03\xd1\x01\x00\x00\x63\x03\x46\x09\xf4\x08\x00\x00\x00\x00\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x00\x00\x49\x03\x00\x00\x62\x04\x66\x03\x00\x00\x00\x00\x66\x03\x5c\x03\x00\x00\x50\x12\x00\x00\x5a\x03\x00\x00\x00\x00\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x03\xa8\x04\x5f\x0c\x00\x00\x4f\x03\x4e\x03\x47\x03\x12\x00\xde\x02\xd6\x0b\xd6\x0b\x00\x00\x43\x03\x00\x00\x35\x03\x50\x03\x00\x00\x48\x03\xe2\x0c\x83\x01\x46\x03\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x0d\x3c\x03\xde\x02\x38\x03\x00\x00\x00\x00\xe6\x0d\x00\x00\x83\x01\xe2\x0c\x00\x00\x00\x00\x1b\x03\x00\x00\x16\x01\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x5d\x11\x3a\x03\x00\x00\x1f\x03\xd2\x0f\x00\x00\xe0\x00\x00\x00\x3c\x00\x00\x00\x64\x06\x84\x0b\x00\x00\x00\x00\x00\x00\x4e\x00\xd6\x0b\x71\x01\x27\x03\xa2\x08\x00\x00\xa2\x08\x00\x00\x23\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x08\x00\x00\xac\x0f\x00\x00\x82\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf3\x02\x19\x03\x00\x00\x00\x00\xa2\x08\x00\x00\x00\x00\x00\x00\x5e\x12\x15\x03\xc3\x01\x00\x00\x00\x00\x00\x00\x82\x0f\x5d\x11\xa9\x01\x00\x00\x24\x03\x00\x00\x00\x00\x00\x00\xe0\x04\x18\x03\x00\x00\xd6\x0b\x00\x00\x5c\x0f\x5e\x12\x00\x00\x00\x00\x11\x01\x00\x00\x00\x00\x00\x00\x3d\x02\x00\x00\x17\x03\x1e\x03\x00\x00\x1d\x03\x00\x00\x62\x0e\x04\x03\x47\x0d\x00\x03\x12\x03\x00\x00\x32\x0f\x2c\x00\x07\x03\x00\x00\x05\x03\xa2\x0c\x38\x11\x00\x00\x00\x00\xf8\x00\x00\x00\x08\x03\x1d\x11\x00\x00\x5d\x11\xed\x00\x00\x00\x00\x00\x97\x02\x0a\x03\x00\x00\x50\x08\x00\x00\x00\x00\xea\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x00\x00\x00\x00\x00\x00\xbc\x03\x00\x00\x01\x03\x00\x00\x00\x00\x00\x00\xfa\x02\x16\x02\x0c\x0f\x0b\x03\x00\x00\x00\x00\xf4\x10\x00\x00\xe2\x0e\xf4\x10\x00\x00\x00\x00\x00\x00\xa9\x0d\xf8\x02\xe7\x02\x00\x00\xf4\x10\x00\x00\xe2\x02\x31\x01\xe0\x11\x16\x02\x00\x00\x00\x00\x00\x00\x0d\x0c\x00\x00\xfe\x07\x00\x00\x00\x00\x00\x00\xc5\x01\x00\x00\xdb\x02\xe3\x02\x16\x02\x00\x00\xd2\x02\x00\x00\xd1\x02\x83\x0d\x00\x00\xd1\x02\xf4\x10\x16\x02\xd1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x01\x00\x03\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x5e\x02\xe7\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x02\x00\x00\x5b\x02\x00\x00\x77\x0b\x00\x00\x1f\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\x12\x02\x15\xf2\x01\xbd\x14\x00\x00\x87\x12\xe3\x0c\x00\x00\x35\x17\x00\x00\x53\x02\x2b\x04\x4f\x02\xc5\xff\x00\x00\x00\x00\x00\x00\xe9\xff\x00\x00\x4b\x02\x48\x02\x21\x04\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x00\x00\x00\x2d\x02\x00\x00\x00\x00\x00\x00\x44\x02\x39\x02\x00\x00\x00\x00\x00\x00\x41\x02\xa5\x00\x00\x00\x00\x00\x00\x00\x5c\x04\x00\x00\x00\x00\x35\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x03\x56\x04\x6c\x04\x9e\x00\x13\x04\xa3\x02\x00\x00\x00\x00\x00\x00\x5b\x14\x2a\x14\x00\x00\x1f\x02\xec\x03\x00\x00\x00\x00\x00\x00\xb9\x05\x00\x00\x00\x00\x45\x0d\x22\x17\x1a\x00\x1f\x11\x00\x00\x15\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x05\x00\x00\x00\x00\x00\x00\x00\x00\x66\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x02\x00\x00\xe3\x0c\x00\x00\x8f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x0f\xf9\x02\x00\x00\x00\x00\x00\x00\x80\x0f\x00\x00\x00\x00\x00\x00\xdc\x02\x00\x00\xf9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\xb0\x01\x29\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x02\xee\x02\x00\x00\x00\x00\x00\x00\x94\x01\x00\x00\xf1\x16\x18\x02\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x01\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x04\x00\x00\x00\x00\x00\x00\xd3\x17\x05\x02\x00\x00\xd1\x14\x00\x00\x00\x00\xde\x16\x00\x00\x00\x00\x00\x00\xad\x16\x9a\x16\xf9\x13\x00\x00\x00\x00\x6e\x01\x08\x01\x00\x00\xce\x0e\x00\x00\xd3\x17\xc4\xff\x40\x02\xe0\xff\xf9\xff\x00\x00\xc3\x04\x20\x02\x00\x00\x00\x00\xc8\x13\xee\xff\xfc\x01\x4a\x02\x37\x02\xba\x01\x00\x00\xf3\x01\x00\x00\x81\x00\x00\x00\x5c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x02\x0b\x04\x00\x00\x00\x00\x59\x02\x00\x00\x00\x00\x65\x02\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\xaf\x02\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x04\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x03\x00\x00\xa8\x01\x14\x02\xa7\x01\x00\x00\x00\x00\x00\x00\xf2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x69\x16\x00\x00\x97\x13\x00\x00\x00\x00\x00\x00\xdc\x01\x00\x00\x00\x00\xcc\x01\xb3\x02\x00\x00\x9e\x17\x6d\x17\x00\x00\x00\x00\x56\x16\x25\x16\x00\x00\x00\x00\x6f\x03\x00\x00\x00\x00\x00\x00\x30\x03\x80\x01\x73\x01\x12\x16\x00\x00\x00\x00\x00\x00\x00\x00\x66\x13\x00\x00\x00\x00\x00\x00\xd4\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x01\xe1\x15\x00\x00\xef\x00\x35\x13\x86\x01\x00\x00\x00\x00\xea\xff\x00\x00\x00\x00\x00\x00\x00\x00\x72\x01\x00\x00\x00\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x2d\x03\x00\x00\xce\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\xff\x00\x00\x00\x00\xce\x15\x8c\x14\x00\x00\x00\x00\xd5\xff\x00\x00\x00\x00\x37\x01\x00\x00\x00\x00\xf1\x02\x00\x00\x00\x00\x00\x00\xa8\x03\xa3\x01\x00\x00\xe8\x00\x69\x01\x00\x00\x00\x00\xaa\xff\x00\x00\x1e\x00\xaf\x00\x00\x00\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x01\xeb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x36\x01\xad\x00\x6c\x12\x59\x12\x00\x00\x00\x00\x00\x00\xd7\x00\x6a\x01\x00\x00\x00\x00\x08\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\xff\x00\x00\x54\x00\x0b\x00\x00\x00\x00\x00\x56\x00\x00\x00\x0c\x00\xfe\xff\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x70\x02\x00\x00\xf3\xff\x00\x00\x1d\x01\x00\x00\xb2\x02\x73\x02\x00\x00\x5a\x00\xb0\x00\xf7\xff\xa5\x17\x85\x02\x00\x00\x9d\x15\x00\x00\x8a\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x15\x00\x00\x72\x01\x00\x00\xee\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\xff\xff\x00\x00\xd1\xff\x46\x15\x00\x00\x00\x00\x00\x00\xaa\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x01\xf6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xff\x00\x00\x00\x00\x9a\x12\x00\x00\x88\x04\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x5c\x04\x00\x00\x24\x02\x00\x00\xe4\x03\xba\xff\x00\x00\x00\x00\x00\x00\xa1\x03\xfb\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x01\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xa9\xff\x23\x02\x00\x00\x04\x13\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x01\xd8\x02\xa0\xff\x00\x00\x00\x00\x0c\x03\x00\x00\x92\x04\xcd\x02\x00\x00\x00\x00\x00\x00\x2b\x02\x00\x02\x00\x00\x00\x00\x2b\x02\x00\x00\x00\x00\xe3\x00\x6f\x00\xdd\x00\x00\x00\x00\x00\x00\x00\x3e\x01\x00\x00\x15\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x01\x9c\x00\x00\x00\x00\x00\x00\x00\xd4\x01\x6a\x03\x00\x00\xa2\x01\xbd\x00\x75\x00\xc1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x8f\xfe\x00\x00\x00\x00\xfc\xff\x7f\xfe\xfb\xff\x00\x00\x92\xfe\xb1\xff\x92\xfe\x00\x00\xf3\xff\xd9\xff\x9f\xff\xf4\xff\xb2\xff\xa9\xff\xb1\xff\xa0\xff\x92\xfe\x9e\xff\x92\xfe\x20\xff\x19\xff\x17\xff\x12\xff\x0f\xff\x10\xff\x11\xff\xd6\xfe\xd3\xfe\xbc\xfe\xb9\xfe\xce\xfe\xad\xfe\x0e\xff\x00\x00\xb8\xfe\xcf\xfe\xbb\xfe\xab\xfe\xac\xfe\x9b\xfe\x99\xfe\x9a\xfe\x98\xfe\x97\xfe\x93\xfe\x95\xfe\x94\xfe\x96\xfe\x00\x00\x00\x00\xb1\xff\x00\x00\x05\xff\x00\x00\x00\x00\xb7\xfe\x00\x00\xaf\xfe\x92\xfe\x00\x00\x92\xfe\x8f\xfe\xae\xfe\xb1\xfe\xba\xfe\x92\xfe\xb2\xfe\x92\xfe\x92\xfe\x00\x00\xb5\xfe\xb0\xfe\xb4\xfe\x00\x00\xb6\xfe\xb3\xfe\x00\x00\xfd\xff\xfa\xff\xf9\xff\x92\xfe\x00\x00\xf6\xff\x90\xfe\x91\xfe\x92\xfe\x68\xff\x8b\xfe\x71\xff\x84\xff\x83\xff\x80\xff\x7f\xff\x92\xfe\x00\x00\x00\x00\x88\xfe\x78\xff\x7e\xff\x8a\xfe\x89\xfe\x00\x00\x00\x00\x00\x00\x68\xff\x00\x00\xd6\xff\xaa\xff\x00\x00\x1a\xff\xdf\xfe\xdf\xfe\x00\x00\x92\xfe\x00\x00\x00\x00\x26\xff\x25\xff\x24\xff\x22\xff\x10\xff\x00\x00\x00\x00\x8f\xfe\x1b\xff\x04\xff\xff\xfe\x00\x00\xfe\xfe\xd8\xfe\xb4\xff\x00\x00\x00\x00\x00\x00\x24\xff\x00\x00\x00\x00\xbe\xfe\xbd\xfe\x00\x00\xc4\xfe\xaa\xfe\x00\x00\xc8\xfe\xa7\xfe\xa5\xfe\xa4\xfe\x9f\xfe\xa8\xfe\x9c\xfe\xa9\xfe\xd9\xfe\x02\xff\x00\x00\x9e\xfe\xa1\xfe\x9d\xfe\xbc\xff\x9d\xff\x9c\xff\x9b\xff\x9a\xff\x87\xfe\x86\xfe\x85\xfe\x84\xfe\xba\xff\xb9\xff\xb8\xff\x00\x00\x00\x00\x18\xff\xc0\xfe\xbf\xfe\x00\x00\xc4\xfe\xca\xfe\xa6\xfe\x00\x00\xa3\xfe\x00\x00\xa2\xfe\xa1\xfe\xa0\xfe\x00\x00\x00\x00\xb3\xff\xb1\xff\xb1\xff\xf7\xff\xda\xff\xf5\xff\xb5\xff\x96\xff\xd5\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x2d\xff\x35\xff\x29\xff\x00\x00\x92\xfe\x21\xff\x00\x00\xdb\xfe\x00\x00\x00\x00\x14\xff\x06\xff\x00\x00\xbb\xff\x00\x00\xd2\xfe\xcd\xfe\x00\x00\x24\xff\x0c\xff\xd7\xfe\x03\xff\x00\x00\x92\xfe\x0d\xff\x00\x00\x0a\xff\x0b\xff\x00\x00\x09\xff\xf9\xfe\xf6\xfe\x00\x00\xfd\xfe\x00\x00\x39\xff\x00\x00\xa1\xff\x92\xfe\x00\x00\x00\x00\x15\xff\x00\x00\x8f\xfe\x46\xff\x67\xff\xa6\xff\xf0\xfe\x24\xff\xdd\xfe\x00\x00\x00\x00\xdf\xfe\x8f\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xd7\xff\x32\xff\x00\x00\x68\xff\x00\x00\x83\xff\x75\xff\x00\x00\x00\x00\x71\xff\x00\x00\x00\x00\x00\x00\x77\xff\x00\x00\x00\x00\x00\x00\x00\x00\x81\xff\x00\x00\x6a\xff\x00\x00\xef\xff\x8e\xfe\x8d\xfe\x00\x00\xf0\xff\xeb\xff\x00\x00\x82\xff\x92\xfe\x72\xff\x85\xff\x76\xff\x74\xff\x7d\xff\x79\xff\x00\x00\x7b\xff\x7c\xff\x7a\xff\x69\xff\x00\x00\xac\xff\x8f\xfe\xd4\xff\x00\x00\x90\xff\x8f\xff\x91\xff\x00\x00\xe2\xfe\xef\xfe\xe0\xfe\xe3\xfe\x00\x00\xe1\xfe\xdf\xfe\x00\x00\xa7\xff\xa8\xff\x4c\xff\x81\xfe\x00\x00\x3e\xff\x41\xff\x1c\xff\x00\x00\x00\x00\x23\xff\x16\xff\x00\x00\x00\x00\x00\x00\xa2\xff\xa1\xff\x00\x00\x3b\xff\x11\xff\xa1\xff\x00\x00\x00\x00\x00\x00\xf4\xfe\xf2\xfe\xfb\xfe\xf7\xfe\x00\x00\xf8\xfe\x00\xff\x01\xff\x00\x00\x08\xff\x07\xff\xc7\xfe\xbd\xff\xc2\xfe\xc1\xfe\xb6\xff\xc6\xfe\xcc\xfe\x00\x00\x00\x00\x13\xff\x00\x00\x00\x00\x35\xff\x2b\xff\x2a\xff\x8f\xfe\xc3\xfe\xc9\xfe\x6e\xff\x88\xff\x87\xff\x97\xff\x00\x00\x68\xff\x00\x00\xd4\xfe\x00\x00\x00\x00\x86\xff\x00\x00\x36\xff\x2c\xff\x00\x00\xdc\xfe\xda\xfe\x00\x00\x00\x00\x00\x00\x27\xff\xf5\xfe\xfc\xfe\x00\x00\x1e\xff\x37\xff\x3c\xff\x98\xff\xa3\xff\x92\xfe\x38\xff\xa4\xff\xa1\xff\x99\xff\x00\x00\x1f\xff\xe4\xfe\xf1\xff\xeb\xfe\x92\xfe\xf1\xff\x45\xff\x43\xff\x00\x00\xad\xff\x8f\xfe\x92\xfe\xaf\xff\x00\x00\xab\xff\xde\xfe\xf1\xfe\x92\xff\x00\x00\x00\x00\x00\x00\x93\xff\x8d\xff\x8c\xff\x8e\xff\xd2\xff\x00\x00\x2e\xff\x2e\xff\x73\xff\x6b\xff\x6c\xff\x4c\xff\x80\xfe\xb0\xff\x00\x00\xeb\xff\xe8\xff\xe3\xff\xe4\xff\xe5\xff\xe6\xff\xe7\xff\x00\x00\x00\x00\x00\x00\x8f\xfe\xfe\xff\xdf\xff\x00\x00\xed\xff\xe8\xff\xeb\xff\xec\xff\xee\xff\x5e\xff\xae\xff\x00\x00\x2f\xff\x00\x00\xd5\xff\xd8\xff\xd3\xff\xcc\xff\x00\x00\x94\xff\x00\x00\x00\x00\x4b\xff\x00\x00\x66\xff\x64\xff\x3f\xff\xa1\xff\x92\xfe\x40\xff\x41\xff\x41\xff\x00\x00\xf2\xff\x00\x00\x00\x00\x00\x00\xa5\xff\x00\x00\x3d\xff\x00\x00\xf3\xfe\xfa\xfe\xb7\xff\xc5\xfe\xcb\xfe\x00\x00\x89\xff\x87\xff\x6f\xff\x00\x00\x70\xff\x28\xff\x3a\xff\x1d\xff\xee\xfe\x35\xff\xe8\xfe\xe6\xfe\x92\xfe\x00\x00\xec\xfe\xed\xfe\x44\xff\x42\xff\x00\x00\x00\x00\x47\xff\x4a\xff\x8a\xff\x00\x00\xcc\xff\x00\x00\xcd\xff\xca\xff\xcb\xff\xc6\xff\x8c\xfe\x00\x00\x00\x00\x33\xff\x30\xff\x34\xff\x00\x00\x68\xff\xe9\xff\xea\xff\x00\x00\xdd\xff\xdb\xff\xdc\xff\x00\x00\xe1\xff\x00\x00\x00\x00\xe2\xff\x00\x00\xe0\xff\x00\x00\x00\x00\x5b\xff\x00\x00\x82\xfe\x5d\xff\x5a\xff\x00\x00\x00\x00\xd1\xfe\x8a\xfe\x00\x00\x00\x00\x31\xff\xc3\xff\x00\x00\xc5\xff\x00\x00\x00\x00\xd1\xff\xce\xff\x00\x00\x8b\xff\x49\xff\x00\x00\x82\xfe\xe9\xfe\x00\x00\xe7\xfe\xea\xfe\x00\x00\x83\xfe\x92\xfe\x48\xff\xd0\xff\xcf\xff\x00\x00\xc0\xff\xbf\xff\xbe\xff\x00\x00\xc8\xff\x00\x00\xc4\xff\xc2\xff\x54\xff\x00\x00\x80\xfe\x00\x00\x00\x00\x57\xff\x58\xff\x00\x00\x63\xff\x00\x00\x00\x00\x5f\xff\xde\xff\x59\xff\x5b\xff\x82\xfe\x00\x00\x56\xff\x55\xff\x5c\xff\x00\x00\x51\xff\x00\x00\x80\xfe\xd0\xfe\xc9\xff\xc7\xff\x00\x00\x65\xff\x00\x00\xe5\xfe\xc1\xff\x52\xff\x00\x00\x95\xff\x00\x00\x82\xfe\x80\xfe\x62\xff\x00\x00\x61\xff\x82\xfe\x00\x00\x4e\xff\x82\xfe\x00\x00\x80\xfe\x82\xfe\x60\xff\x53\xff\x4d\xff\x4f\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x00\x00\x01\x00\x02\x00\x01\x00\x07\x00\x1a\x00\x09\x00\x0a\x00\x13\x00\x14\x00\x15\x00\x22\x00\x02\x00\x25\x00\x07\x00\x22\x00\x09\x00\x0a\x00\x28\x00\x08\x00\x09\x00\x36\x00\x1e\x00\x08\x00\x09\x00\x28\x00\x2a\x00\x5d\x00\x5d\x00\x07\x00\x4a\x00\x09\x00\x0a\x00\x00\x00\x83\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x65\x00\x18\x00\x81\x00\x33\x00\x2f\x00\x13\x00\x5d\x00\x34\x00\x6c\x00\x17\x00\x07\x00\x7a\x00\x4b\x00\x43\x00\x2f\x00\x1d\x00\x4b\x00\x38\x00\x92\x00\x22\x00\x93\x00\x1c\x00\x85\x00\x22\x00\x1f\x00\x51\x00\x84\x00\x85\x00\x86\x00\x2f\x00\x88\x00\x88\x00\x8a\x00\x75\x00\x13\x00\x14\x00\x15\x00\x00\x00\x13\x00\x24\x00\x3f\x00\x8e\x00\x8e\x00\x14\x00\x15\x00\x77\x00\x19\x00\x86\x00\x7a\x00\x88\x00\x7c\x00\x8a\x00\x8c\x00\x37\x00\x38\x00\x22\x00\x0b\x00\x0c\x00\x48\x00\x85\x00\x4b\x00\x2a\x00\x88\x00\x72\x00\x6a\x00\x0c\x00\x80\x00\x81\x00\x1f\x00\x75\x00\x35\x00\x35\x00\x73\x00\x80\x00\x81\x00\x94\x00\x8c\x00\x80\x00\x81\x00\x8e\x00\x99\x00\x81\x00\x73\x00\x8e\x00\x7f\x00\x80\x00\x81\x00\x94\x00\x95\x00\x96\x00\x97\x00\x8d\x00\x92\x00\x90\x00\x7f\x00\x80\x00\x81\x00\x73\x00\x92\x00\x93\x00\x91\x00\x8c\x00\x8e\x00\x92\x00\x4c\x00\x94\x00\x24\x00\x96\x00\x97\x00\x7f\x00\x80\x00\x81\x00\x8e\x00\x92\x00\x9a\x00\x94\x00\x9a\x00\x96\x00\x97\x00\x94\x00\x47\x00\x96\x00\x97\x00\x94\x00\x03\x00\x96\x00\x97\x00\x8e\x00\x92\x00\x72\x00\x94\x00\x8e\x00\x96\x00\x97\x00\x0d\x00\x0e\x00\x1b\x00\x72\x00\x8c\x00\x3f\x00\x40\x00\x35\x00\x8d\x00\x80\x00\x81\x00\x18\x00\x81\x00\x81\x00\x13\x00\x1c\x00\x1d\x00\x80\x00\x81\x00\x20\x00\x21\x00\x1b\x00\x23\x00\x24\x00\x71\x00\x90\x00\x73\x00\x39\x00\x22\x00\x76\x00\x93\x00\x93\x00\x71\x00\x90\x00\x73\x00\x28\x00\x35\x00\x76\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x35\x00\x3f\x00\x40\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x73\x00\x8f\x00\x04\x00\x05\x00\x37\x00\x38\x00\x04\x00\x05\x00\x03\x00\x2e\x00\x2f\x00\x34\x00\x7f\x00\x80\x00\x81\x00\x4f\x00\x72\x00\x3a\x00\x0d\x00\x0e\x00\x46\x00\x47\x00\x56\x00\x19\x00\x58\x00\x59\x00\x18\x00\x5b\x00\x5c\x00\x18\x00\x80\x00\x81\x00\x81\x00\x1c\x00\x1d\x00\x4c\x00\x19\x00\x20\x00\x21\x00\x94\x00\x23\x00\x24\x00\x22\x00\x77\x00\x99\x00\x22\x00\x7a\x00\x19\x00\x7c\x00\x71\x00\x93\x00\x73\x00\x2c\x00\x75\x00\x76\x00\x42\x00\x22\x00\x85\x00\x3f\x00\x40\x00\x88\x00\x81\x00\x18\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x81\x00\x1f\x00\x20\x00\x21\x00\x19\x00\x23\x00\x24\x00\x8b\x00\x8c\x00\x00\x00\x94\x00\x93\x00\x1c\x00\x22\x00\x1e\x00\x99\x00\x4f\x00\x0e\x00\x93\x00\x16\x00\x17\x00\x8c\x00\x8f\x00\x56\x00\x81\x00\x58\x00\x59\x00\x18\x00\x5b\x00\x5c\x00\x13\x00\x1c\x00\x1d\x00\x11\x00\x12\x00\x20\x00\x21\x00\x1c\x00\x23\x00\x24\x00\x1f\x00\x92\x00\x93\x00\x49\x00\x4a\x00\x22\x00\x1b\x00\x17\x00\x95\x00\x4f\x00\x71\x00\x98\x00\x73\x00\x22\x00\x75\x00\x76\x00\x56\x00\x70\x00\x58\x00\x59\x00\x73\x00\x5b\x00\x5c\x00\x92\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3f\x00\x40\x00\x04\x00\x7f\x00\x80\x00\x81\x00\x94\x00\x8b\x00\x8c\x00\x8c\x00\x22\x00\x99\x00\x94\x00\x4f\x00\x71\x00\x27\x00\x73\x00\x99\x00\x75\x00\x76\x00\x56\x00\x2d\x00\x58\x00\x59\x00\x06\x00\x5b\x00\x5c\x00\x18\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x13\x00\x1f\x00\x20\x00\x21\x00\x17\x00\x23\x00\x24\x00\x8b\x00\x8c\x00\x72\x00\x13\x00\x74\x00\x15\x00\x16\x00\x71\x00\x2a\x00\x73\x00\x2c\x00\x75\x00\x76\x00\x2e\x00\x2f\x00\x25\x00\x80\x00\x81\x00\x22\x00\x83\x00\x04\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x30\x00\x31\x00\x1e\x00\x72\x00\x94\x00\x74\x00\x22\x00\x8b\x00\x8c\x00\x99\x00\x49\x00\x4a\x00\x13\x00\x14\x00\x15\x00\x16\x00\x4f\x00\x80\x00\x81\x00\x94\x00\x83\x00\x19\x00\x8c\x00\x56\x00\x99\x00\x58\x00\x59\x00\x18\x00\x5b\x00\x5c\x00\x22\x00\x1c\x00\x1d\x00\x27\x00\x28\x00\x20\x00\x21\x00\x4c\x00\x23\x00\x24\x00\x29\x00\x2a\x00\x06\x00\x07\x00\x2d\x00\x2e\x00\x2f\x00\x19\x00\x31\x00\x32\x00\x71\x00\x4c\x00\x73\x00\x22\x00\x75\x00\x76\x00\x22\x00\x52\x00\x22\x00\x28\x00\x43\x00\x44\x00\x45\x00\x27\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x1c\x00\x81\x00\x1e\x00\x24\x00\x25\x00\x29\x00\x2a\x00\x8b\x00\x8c\x00\x2d\x00\x2e\x00\x2f\x00\x94\x00\x4f\x00\x8d\x00\x30\x00\x31\x00\x99\x00\x92\x00\x93\x00\x56\x00\x95\x00\x58\x00\x59\x00\x18\x00\x5b\x00\x5c\x00\x8d\x00\x1c\x00\x1d\x00\x19\x00\x19\x00\x20\x00\x21\x00\x48\x00\x23\x00\x24\x00\x29\x00\x2a\x00\x22\x00\x22\x00\x2d\x00\x2e\x00\x2f\x00\x42\x00\x31\x00\x32\x00\x71\x00\x19\x00\x73\x00\x10\x00\x75\x00\x76\x00\x80\x00\x81\x00\x13\x00\x86\x00\x22\x00\x88\x00\x81\x00\x8a\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x1e\x00\x22\x00\x8e\x00\x95\x00\x22\x00\x26\x00\x98\x00\x8b\x00\x8c\x00\x2a\x00\x92\x00\x93\x00\x4d\x00\x4f\x00\x3c\x00\x06\x00\x07\x00\x08\x00\x09\x00\x41\x00\x56\x00\x8f\x00\x58\x00\x59\x00\x18\x00\x5b\x00\x5c\x00\x81\x00\x1c\x00\x1d\x00\x80\x00\x81\x00\x20\x00\x21\x00\x19\x00\x23\x00\x24\x00\x2e\x00\x2f\x00\x80\x00\x81\x00\x26\x00\x83\x00\x22\x00\x92\x00\x93\x00\x25\x00\x71\x00\x28\x00\x73\x00\x2a\x00\x75\x00\x76\x00\x95\x00\x05\x00\x06\x00\x98\x00\x30\x00\x31\x00\x81\x00\x26\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x61\x00\x62\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x8b\x00\x8c\x00\x95\x00\x92\x00\x93\x00\x98\x00\x4f\x00\x44\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x8d\x00\x56\x00\x18\x00\x58\x00\x59\x00\x6e\x00\x5b\x00\x5c\x00\x8c\x00\x1f\x00\x20\x00\x21\x00\x95\x00\x23\x00\x24\x00\x98\x00\x29\x00\x2a\x00\x04\x00\x05\x00\x2d\x00\x2e\x00\x2f\x00\x85\x00\x31\x00\x32\x00\x88\x00\x8c\x00\x71\x00\x88\x00\x73\x00\x19\x00\x75\x00\x76\x00\x8c\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x0f\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x95\x00\x95\x00\x8d\x00\x98\x00\x98\x00\x92\x00\x93\x00\x8b\x00\x8c\x00\x8c\x00\x4f\x00\x9a\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x8f\x00\x56\x00\x18\x00\x58\x00\x59\x00\x8c\x00\x5b\x00\x5c\x00\x8c\x00\x1f\x00\x20\x00\x21\x00\x8c\x00\x23\x00\x24\x00\x8c\x00\x29\x00\x2a\x00\x81\x00\x8c\x00\x2d\x00\x2e\x00\x2f\x00\x8c\x00\x31\x00\x32\x00\x04\x00\x05\x00\x71\x00\x14\x00\x73\x00\x8c\x00\x75\x00\x76\x00\x8c\x00\x92\x00\x93\x00\x68\x00\x69\x00\x6a\x00\x1e\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x14\x00\x45\x00\x46\x00\x47\x00\x2e\x00\x2f\x00\x22\x00\x8b\x00\x8c\x00\x1e\x00\x4f\x00\x92\x00\x93\x00\x1d\x00\x2d\x00\x2e\x00\x2f\x00\x56\x00\x18\x00\x58\x00\x59\x00\x14\x00\x5b\x00\x5c\x00\x04\x00\x1f\x00\x20\x00\x21\x00\x19\x00\x23\x00\x24\x00\x3e\x00\x29\x00\x2a\x00\x81\x00\x19\x00\x2d\x00\x2e\x00\x2f\x00\x14\x00\x31\x00\x32\x00\x19\x00\x1d\x00\x71\x00\x1d\x00\x73\x00\x14\x00\x75\x00\x76\x00\x25\x00\x92\x00\x93\x00\x50\x00\x51\x00\x52\x00\x2f\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x19\x00\x19\x00\x21\x00\x21\x00\x2e\x00\x2f\x00\x18\x00\x8b\x00\x8c\x00\x2a\x00\x4f\x00\x92\x00\x93\x00\x2a\x00\x51\x00\x1e\x00\x27\x00\x56\x00\x18\x00\x58\x00\x59\x00\x28\x00\x5b\x00\x5c\x00\x81\x00\x1f\x00\x20\x00\x21\x00\x18\x00\x23\x00\x24\x00\x1d\x00\x29\x00\x2a\x00\x3d\x00\x81\x00\x2d\x00\x2e\x00\x2f\x00\x21\x00\x18\x00\x92\x00\x93\x00\x19\x00\x71\x00\x13\x00\x73\x00\x22\x00\x75\x00\x76\x00\x6f\x00\x70\x00\x92\x00\x93\x00\x73\x00\x38\x00\x27\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x27\x00\x27\x00\x1d\x00\x7f\x00\x80\x00\x81\x00\x27\x00\x8b\x00\x8c\x00\x22\x00\x4f\x00\x92\x00\x93\x00\x1c\x00\x02\x00\x3b\x00\x22\x00\x56\x00\x18\x00\x58\x00\x59\x00\x25\x00\x5b\x00\x5c\x00\x81\x00\x1f\x00\x20\x00\x21\x00\x24\x00\x23\x00\x24\x00\x24\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x19\x00\x32\x00\x2f\x00\x92\x00\x93\x00\x2c\x00\x71\x00\x1d\x00\x73\x00\x51\x00\x75\x00\x76\x00\x28\x00\x22\x00\x22\x00\x26\x00\x41\x00\x22\x00\x1c\x00\x81\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x1e\x00\x1d\x00\x28\x00\x22\x00\x51\x00\x19\x00\x42\x00\x8b\x00\x8c\x00\x32\x00\x4f\x00\x92\x00\x93\x00\x38\x00\x06\x00\x07\x00\x1d\x00\x56\x00\x51\x00\x58\x00\x59\x00\x18\x00\x5b\x00\x5c\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x19\x00\x32\x00\x33\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x28\x00\x32\x00\x33\x00\x28\x00\x75\x00\x71\x00\x25\x00\x73\x00\x19\x00\x75\x00\x76\x00\x06\x00\x19\x00\x08\x00\x22\x00\x1b\x00\x81\x00\x30\x00\x31\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x21\x00\x51\x00\x25\x00\x1d\x00\x2b\x00\x1e\x00\x1d\x00\x8b\x00\x8c\x00\x92\x00\x93\x00\x5d\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x25\x00\x32\x00\x5d\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x1c\x00\x32\x00\x30\x00\x31\x00\x2e\x00\x2f\x00\x2a\x00\x1d\x00\x75\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x42\x00\x32\x00\x75\x00\x78\x00\x3d\x00\x81\x00\x7b\x00\x4d\x00\x7d\x00\x85\x00\x2a\x00\x19\x00\x2e\x00\x2f\x00\x81\x00\x84\x00\x85\x00\x86\x00\x1d\x00\x88\x00\x24\x00\x8a\x00\x92\x00\x93\x00\x24\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x24\x00\x92\x00\x93\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x28\x00\x32\x00\x27\x00\x1d\x00\x0a\x00\x75\x00\x19\x00\x19\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x75\x00\x32\x00\x19\x00\x81\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x19\x00\x32\x00\x81\x00\x1b\x00\x19\x00\x75\x00\x19\x00\x19\x00\x22\x00\x81\x00\x92\x00\x93\x00\x06\x00\x07\x00\x08\x00\x09\x00\x21\x00\x81\x00\x1d\x00\x92\x00\x93\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x92\x00\x93\x00\x4a\x00\x33\x00\x2d\x00\x18\x00\x81\x00\x2f\x00\x92\x00\x93\x00\x75\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x24\x00\x25\x00\x75\x00\x33\x00\x2e\x00\x2f\x00\x81\x00\x92\x00\x93\x00\x52\x00\x27\x00\x04\x00\x30\x00\x31\x00\x81\x00\x1d\x00\x75\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x1d\x00\x92\x00\x93\x00\x22\x00\x75\x00\x1c\x00\x81\x00\x1c\x00\x1e\x00\x92\x00\x93\x00\x53\x00\x13\x00\x01\x00\x17\x00\xff\xff\x81\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x92\x00\x93\x00\x2d\x00\x2e\x00\x2f\x00\xff\xff\xff\xff\x32\x00\x75\x00\xff\xff\x92\x00\x93\x00\x2d\x00\x2e\x00\x2f\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x3e\x00\x81\x00\xff\xff\xff\xff\xff\xff\x75\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x81\x00\x92\x00\x93\x00\x32\x00\xff\xff\x34\x00\x81\x00\xff\xff\xff\xff\xff\xff\x75\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x06\x00\x3f\x00\x92\x00\x93\x00\xff\xff\xff\xff\xff\xff\x81\x00\x92\x00\x93\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x19\x00\x52\x00\xff\xff\x74\x00\xff\xff\x92\x00\x93\x00\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\x25\x00\x74\x00\xff\xff\xff\xff\x81\x00\xff\xff\x83\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x81\x00\xff\xff\x83\x00\xff\xff\xff\xff\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x92\x00\x93\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\xff\xff\x78\x00\x20\x00\xff\xff\x7b\x00\x23\x00\x7d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x84\x00\x85\x00\x86\x00\x2e\x00\x88\x00\x30\x00\x8a\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\xff\xff\x49\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\xff\xff\x78\x00\x20\x00\xff\xff\x7b\x00\x23\x00\x7d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x84\x00\x85\x00\x86\x00\x2e\x00\x88\x00\x30\x00\x8a\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x46\x00\xff\xff\xff\xff\x49\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\x1e\x00\x78\x00\x20\x00\xff\xff\x7b\x00\x23\x00\x7d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x84\x00\x85\x00\x86\x00\x2e\x00\x88\x00\x30\x00\x8a\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\xff\xff\xff\xff\xff\xff\xff\xff\x46\x00\xff\xff\xff\xff\x49\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x1c\x00\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x78\x00\x1a\x00\xff\xff\x7b\x00\xff\xff\x7d\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\x84\x00\x85\x00\x86\x00\xff\xff\x88\x00\xff\xff\x8a\x00\xff\xff\x8c\x00\x2e\x00\xff\xff\x30\x00\xff\xff\x32\x00\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\x01\x00\x39\x00\x3a\x00\x04\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x18\x00\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x18\x00\x34\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x20\x00\x3c\x00\x3d\x00\x23\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x18\x00\x34\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x20\x00\x3c\x00\x3d\x00\x23\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x2e\x00\x07\x00\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x18\x00\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x20\x00\x04\x00\x22\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x32\x00\x50\x00\x34\x00\x52\x00\x13\x00\xff\xff\x15\x00\x16\x00\x3a\x00\x18\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\x19\x00\x1a\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x2c\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x71\x00\x34\x00\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x18\x00\x3f\x00\x1a\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\x4b\x00\x4c\x00\x8b\x00\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x01\x00\x02\x00\x3f\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\x5a\x00\x5b\x00\x5c\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\x07\x00\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x71\x00\x34\x00\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x18\x00\x3f\x00\x1a\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x20\x00\xff\xff\xff\xff\xff\xff\x24\x00\x4b\x00\x4c\x00\x8b\x00\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\xff\xff\x34\x00\x06\x00\xff\xff\x08\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\x01\x00\x3f\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x22\x00\x52\x00\xff\xff\x25\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\xff\xff\x20\x00\xff\xff\x30\x00\x31\x00\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x14\x00\x3f\x00\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x01\x00\x02\x00\x18\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x20\x00\x21\x00\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x01\x00\x3f\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x3a\x00\x50\x00\x3c\x00\x52\x00\xff\xff\x3f\x00\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x20\x00\x04\x00\x05\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x20\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x32\x00\x50\x00\x34\x00\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x18\x00\x3f\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x01\x00\x52\x00\xff\xff\x04\x00\x05\x00\xff\xff\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\x20\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x01\x00\x52\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x71\x00\x34\x00\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\x18\x00\x3f\x00\x1a\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\x8b\x00\x4e\x00\xff\xff\x50\x00\x01\x00\x52\x00\xff\xff\x04\x00\x05\x00\xff\xff\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\x20\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x01\x00\x52\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x71\x00\x34\x00\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\x18\x00\x3f\x00\x1a\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\x8b\x00\x4e\x00\xff\xff\x50\x00\x01\x00\x52\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x14\x00\x3f\x00\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x01\x00\x52\x00\xff\xff\x04\x00\x05\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\xff\xff\x18\x00\x3f\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x20\x00\x73\x00\xff\xff\x75\x00\x76\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8b\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x20\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x20\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x32\x00\x50\x00\x34\x00\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x18\x00\x3f\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x20\x00\x04\x00\x05\x00\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x20\x00\xff\xff\x3f\x00\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x2c\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x32\x00\x50\x00\x34\x00\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x18\x00\x3c\x00\x1a\x00\xff\xff\x3f\x00\xff\xff\x01\x00\xff\xff\x20\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x20\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x32\x00\x50\x00\x34\x00\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x18\x00\x3f\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x20\x00\x04\x00\x05\x00\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x20\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\x32\x00\x50\x00\x34\x00\x52\x00\x06\x00\x07\x00\x08\x00\x09\x00\x3a\x00\xff\xff\x3c\x00\xff\xff\xff\xff\x3f\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x26\x00\x50\x00\xff\xff\x52\x00\xff\xff\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x32\x00\x18\x00\x34\x00\x1a\x00\xff\xff\x30\x00\x31\x00\xff\xff\x3a\x00\x20\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x18\x00\xff\xff\x3f\x00\xff\xff\xff\xff\x5b\x00\x5c\x00\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x01\x00\x52\x00\x03\x00\x04\x00\x05\x00\xff\xff\x32\x00\x71\x00\x34\x00\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\x01\x00\xff\xff\x03\x00\xff\xff\x4b\x00\x4c\x00\x8b\x00\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x18\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\x01\x00\x3f\x00\x03\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\x01\x00\x3f\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\x32\x00\x18\x00\x34\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\xff\xff\x01\x00\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\x32\x00\x4e\x00\x34\x00\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x32\x00\x50\x00\x34\x00\x52\x00\xff\xff\xff\xff\xff\xff\x01\x00\x3a\x00\x18\x00\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\x4b\x00\x4c\x00\xff\xff\x4e\x00\x3a\x00\x50\x00\x3c\x00\x52\x00\xff\xff\x3f\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\x3c\x00\x4b\x00\x4c\x00\x3f\x00\x4e\x00\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\x50\x00\x56\x00\x52\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\x5c\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x56\x00\xff\xff\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\x8b\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\x6d\x00\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\x6d\x00\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\x6d\x00\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\x6d\x00\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\x71\x00\x5e\x00\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\x56\x00\xff\xff\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\x71\x00\x6b\x00\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x8b\x00\xff\xff\xff\xff\x56\x00\xff\xff\x58\x00\x59\x00\x8b\x00\x5b\x00\x5c\x00\x56\x00\xff\xff\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\x67\x00\xff\xff\xff\xff\x71\x00\x6b\x00\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x8b\x00\x57\x00\x58\x00\x59\x00\xff\xff\x5b\x00\x5c\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\x00\x08\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\xff\xff\x75\x00\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xff\xff\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x8b\x00\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x06\x00\x02\x00\x07\x00\x02\x00\x1a\x02\xa0\x00\xbb\x01\xbc\x01\x3c\x02\x0e\x02\x0f\x02\xed\x00\xc6\x01\x6e\x00\xcc\x01\xed\x00\xbb\x01\xbc\x01\xd8\x01\x1b\x02\xca\x01\x41\x01\x3e\x01\xc9\x01\xca\x01\xa8\x01\xcf\x00\x8a\x00\x36\x02\xba\x01\xec\x01\xbb\x01\xbc\x01\x57\x00\x86\x01\x3f\x01\x5c\x00\x09\x01\x5e\x00\x5f\x00\x46\x01\xd7\x01\x63\x00\x40\x01\xbd\x01\x05\x00\x10\x01\x58\x00\x70\x00\x06\x00\x98\x00\x57\x02\x80\x01\x07\x02\xbd\x01\x0a\x00\x38\x01\xb7\x01\x48\x02\xed\x00\xe2\x01\x17\x02\x67\x01\xdf\x01\x58\x00\x72\x01\x25\x02\x90\x00\x91\x00\xbd\x01\x93\x00\x7a\x01\xb4\x00\xed\x01\x0d\x02\x0e\x02\x0f\x02\x57\x00\xa6\x00\x59\x02\xd8\x01\x47\x01\x71\x00\x4a\x02\x0f\x02\x64\x01\x6f\x02\x91\x00\x65\x01\x93\x00\xf0\x01\xb4\x00\x42\x02\x70\x02\xde\x01\x70\x02\x1c\x02\x1d\x02\xf8\xff\x67\x01\xee\x00\x80\xfe\x68\x01\x10\x02\x43\x02\x60\x02\xa9\x01\x20\x00\x58\x00\x62\x00\x28\x02\x7c\x01\xbe\x01\xa9\x01\x20\x00\x42\x01\x6f\x00\xc5\x00\x20\x00\xef\x00\x43\x01\x63\x00\xbe\x01\xef\x00\x1e\x00\x1f\x00\x20\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\x03\x02\x08\x02\x11\x02\x1e\x00\x1f\x00\x20\x00\xbe\x01\x64\x00\x65\x00\x59\x00\xb8\x01\x08\x00\x64\x00\x44\x02\xbf\x01\x75\x02\xc0\x01\xc1\x01\x1e\x00\x1f\x00\x20\x00\x08\x00\x64\x00\x03\x00\xbf\x01\x03\x00\xc0\x01\xc1\x01\xbf\x01\x05\x02\xc0\x01\xc1\x01\xbf\x01\x0a\x00\xc0\x01\xc1\x01\xef\x00\x64\x00\x10\x02\xbf\x01\xe0\x01\xc0\x01\xc1\x01\x0b\x00\x0c\x00\x63\x01\x10\x02\xb8\x01\x85\x02\x69\x02\x2d\x01\x15\x02\xc5\x00\x20\x00\x0d\x00\x63\x00\x63\x00\xa6\x00\x0e\x00\x0f\x00\xc5\x00\x20\x00\x10\x00\x11\x00\x2c\x01\x12\x00\x13\x00\x1e\x02\x11\x02\x1f\x02\x18\x02\x2a\x01\x1d\x00\x07\x01\x07\x01\x1e\x02\x11\x02\x1f\x02\x80\xfe\x06\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x18\x01\x7b\x02\x69\x02\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x76\x02\xc7\x01\x67\x00\x68\x00\xdd\x01\xde\x01\x67\x00\x68\x00\x4f\x00\x86\x02\x5f\x00\x34\x01\x1e\x00\x1f\x00\x20\x00\x14\x00\xc4\x00\x35\x01\x0b\x00\x0c\x00\x04\x02\x9f\x01\x15\x00\x0a\x02\x16\x00\x17\x00\xdd\x01\x18\x00\x19\x00\x0d\x00\xc5\x00\x20\x00\x63\x00\x0e\x00\x0f\x00\x36\x01\x4a\x02\x10\x00\x11\x00\x42\x01\x12\x00\x13\x00\x8c\x01\x64\x01\x6a\x02\x3c\x02\x65\x01\x54\x02\x66\x01\x1a\x00\x07\x01\x1b\x00\x72\x02\x1c\x00\x1d\x00\xcf\x01\xe0\x00\x67\x01\x74\x02\x69\x02\x68\x01\x63\x00\x0d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x63\x00\x4d\x01\x4e\x01\x4f\x01\x27\x02\x12\x00\x13\x00\x23\x00\x24\x00\x57\x00\x42\x01\x07\x01\x17\x02\x28\x02\x18\x02\x6a\x02\x14\x00\xc1\x00\x07\x01\x4b\x02\x4c\x02\xb8\x01\xd3\x01\x15\x00\x63\x00\x16\x00\x17\x00\x0d\x00\x18\x00\x19\x00\xa6\x00\xc2\x00\x0f\x00\xd4\x01\xd5\x01\x10\x00\x11\x00\x8f\x01\x12\x00\x13\x00\x58\x00\x64\x00\x65\x00\x50\x01\x51\x01\x80\xfe\xe6\x00\x73\x02\x46\x02\x14\x00\x1a\x00\x84\x02\x1b\x00\xe4\x00\x1c\x00\x1d\x00\x15\x00\x83\x01\x16\x00\x17\x00\xd2\x00\x18\x00\x19\x00\xdb\x01\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x68\x02\x69\x02\xe5\x01\x1e\x00\x1f\x00\x20\x00\x42\x01\x23\x00\x24\x00\xe7\x01\x95\xff\x6a\x02\x42\x01\x14\x00\x1a\x00\x95\xff\x1b\x00\x77\x02\x52\x01\x1d\x00\x15\x00\xad\x00\x16\x00\x17\x00\xb7\x00\x18\x00\x19\x00\x0d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x05\x00\x54\x01\x4e\x01\x4f\x01\x06\x00\x12\x00\x13\x00\x23\x00\x24\x00\x4d\x02\xa6\x00\x4e\x02\xa8\x00\xa9\x00\x1a\x00\x01\x02\x1b\x00\x02\x02\x1c\x00\x1d\x00\x16\x01\x5f\x00\xb9\x00\xc5\x00\x20\x00\xcc\x01\x30\x02\xe8\x01\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xba\x00\xbb\x00\x6c\x01\x4d\x02\x42\x01\x4e\x02\x6d\x01\x23\x00\x24\x00\x06\x02\x55\x01\x51\x01\xa6\x00\xa7\x00\xa8\x00\xa9\x00\x14\x00\xc5\x00\x20\x00\x42\x01\x30\x02\x3b\x02\xeb\x01\x15\x00\x6a\x02\x16\x00\x17\x00\x0d\x00\x18\x00\x19\x00\x3c\x02\xc3\x00\x0f\x00\xab\x01\xac\x01\x10\x00\x11\x00\x81\x01\x12\x00\x13\x00\x74\x01\x75\x01\xb7\x00\x98\x00\x76\x01\x5e\x00\x5f\x00\x3f\x02\x3d\x02\x78\x01\x1a\x00\x6f\x01\x1b\x00\x8c\x01\x52\x01\x1d\x00\x40\x02\x70\x01\xbd\x00\xf4\x01\xaa\x00\xab\x00\xac\x00\x7f\x02\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x8f\x01\x63\x00\x93\x01\x6a\x01\xb9\x00\xf4\x01\x75\x01\x23\x00\x24\x00\xf5\x01\x5e\x00\x5f\x00\x42\x01\x14\x00\x8d\x01\xba\x00\xbb\x00\xce\x01\x64\x00\x65\x00\x15\x00\x7e\x01\x16\x00\x17\x00\x0d\x00\x18\x00\x19\x00\x8f\x01\x85\x00\x0f\x00\x27\x01\xdf\x00\x10\x00\x11\x00\xa0\x01\x12\x00\x13\x00\x74\x01\x75\x01\xe0\x00\xe0\x00\x76\x01\x5e\x00\x5f\x00\xa3\x01\xf8\x01\x78\x01\x1a\x00\xe3\x00\x1b\x00\xb0\x01\x1c\x00\x1d\x00\xa9\x01\x20\x00\xa6\x00\x91\x00\xe4\x00\x93\x00\x63\x00\xb4\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x50\xff\xeb\x00\xb2\x01\x46\x02\x6c\x02\xec\x00\x87\x02\x23\x00\x24\x00\xed\x00\x64\x00\x65\x00\x2f\x01\x14\x00\x02\x01\xb7\x00\x98\x00\x99\x00\x9a\x00\x03\x01\x15\x00\x31\x01\x16\x00\x17\x00\x0d\x00\x18\x00\x19\x00\x63\x00\xbd\x00\x0f\x00\xd9\x01\x20\x00\x10\x00\x11\x00\x9b\x00\x12\x00\x13\x00\x16\x01\x5f\x00\x85\x01\x20\x00\x32\x01\x86\x01\x9c\x00\x64\x00\x65\x00\xb9\x00\x1a\x00\xce\x00\x1b\x00\xcf\x00\x1c\x00\x1d\x00\x46\x02\x1d\x01\x1e\x01\x82\x02\xba\x00\xbb\x00\x63\x00\x36\x01\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xe8\x00\xe9\x00\xc8\x00\x1f\x00\x20\x00\xc9\x00\x22\x00\x23\x00\x24\x00\x46\x02\x64\x00\x65\x00\x7c\x02\x14\x00\x44\x01\x21\x01\x09\x01\x5e\x00\x5f\x00\x37\x01\x15\x00\x0d\x00\x16\x00\x17\x00\x3c\x01\x18\x00\x19\x00\x5f\x01\x4d\x01\x4e\x01\x4f\x01\x46\x02\x12\x00\x13\x00\x7a\x02\x74\x01\x75\x01\x67\x00\x68\x00\x76\x01\x5e\x00\x5f\x00\x55\x02\x0a\x02\x78\x01\x7a\x01\x6d\x01\x1a\x00\x7a\x01\x1b\x00\xd6\x00\x1c\x00\x1d\x00\xf7\x00\x63\x00\xd8\x00\x1f\x00\x20\x00\xc9\x00\x22\x00\x03\x01\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x46\x02\x46\x02\x55\x00\x47\x02\x5c\x02\x64\x00\x65\x00\x23\x00\x24\x00\x15\x01\x14\x00\x51\x00\x24\x01\x09\x01\x5e\x00\x5f\x00\x1a\x01\x15\x00\x0d\x00\x16\x00\x17\x00\x19\x01\x18\x00\x19\x00\x54\x00\x54\x01\x4e\x01\x4f\x01\x6c\x00\x12\x00\x13\x00\x6d\x00\x74\x01\x75\x01\x63\x00\x73\x00\x76\x01\x5e\x00\x5f\x00\x75\x00\xb9\x01\x78\x01\x1c\x01\x1d\x01\x1a\x00\xa7\x00\x1b\x00\xbb\x00\x1c\x00\x1d\x00\x50\x00\x64\x00\x65\x00\xfd\x01\xfe\x01\xff\x01\x84\x02\x63\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xa7\x00\x9d\x01\x9e\x01\x9f\x01\x61\x02\x5f\x00\x7e\x02\x23\x00\x24\x00\x79\x02\x14\x00\x64\x00\x65\x00\x7a\x02\x66\x02\x5e\x00\x5f\x00\x15\x00\x0d\x00\x16\x00\x17\x00\xa7\x00\x18\x00\x19\x00\x29\x00\xea\x01\x4e\x01\x4f\x01\x6d\x02\x12\x00\x13\x00\x67\x02\x74\x01\x75\x01\x63\x00\x6e\x02\x76\x01\x5e\x00\x5f\x00\xa7\x00\x77\x01\x78\x01\x53\x02\xab\xfe\x1a\x00\x57\x02\x1b\x00\xa7\x00\x1c\x00\x1d\x00\x60\x02\x64\x00\x65\x00\xca\x00\xcb\x00\xcc\x00\x5e\x02\x63\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xdb\x00\x25\x02\x85\x00\x36\x02\x65\x02\x5f\x00\x3a\x02\x23\x00\x24\x00\x41\x02\x14\x00\x64\x00\x65\x00\x01\x02\x72\x01\xfd\x01\x0c\x02\x15\x00\x0d\x00\x16\x00\x17\x00\x92\x01\x18\x00\x19\x00\x63\x00\x90\x01\x4e\x01\x4f\x01\x0d\x02\x12\x00\x13\x00\x0a\x00\xf6\x01\x75\x01\x1a\x02\x63\x00\xf5\x01\x5e\x00\x5f\x00\x0b\x01\xc9\x01\x64\x00\x65\x00\xce\x01\x1a\x00\xa6\x00\x1b\x00\x2a\x01\x1c\x00\x1d\x00\xd0\x00\xd1\x00\x64\x00\x65\x00\xd2\x00\xa5\x01\xb6\xfe\x63\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xb4\xfe\xb5\xfe\xe2\x01\x1e\x00\x1f\x00\x20\x00\xdb\x01\x23\x00\x24\x00\xe5\x01\x14\x00\x64\x00\x65\x00\xe7\x01\x27\x00\xea\x01\x8c\x01\x15\x00\x0d\x00\x16\x00\x17\x00\xf8\x01\x18\x00\x19\x00\x63\x00\x93\x01\x4e\x01\x4f\x01\xf2\x01\x12\x00\x13\x00\xf3\x01\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x7f\x02\x7c\x01\x61\x00\x7e\x01\x64\x00\x65\x00\x80\x01\x1a\x00\xf1\x00\x1b\x00\x72\x01\x1c\x00\x1d\x00\x92\x01\x88\x01\xe4\x00\x8b\x01\x80\x02\x8c\x01\x95\x01\x63\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x96\x01\xae\x00\xa3\x01\x2a\x01\xa2\x01\xa6\x01\x57\x01\x23\x00\x24\x00\xb2\x01\x14\x00\x64\x00\x65\x00\xa5\x01\xb7\x00\x98\x00\xb4\x01\x15\x00\xc6\x01\x16\x00\x17\x00\x20\x01\x18\x00\x19\x00\x0d\x01\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x0e\x01\x26\x01\x61\x00\x0f\x01\x0d\x01\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x0e\x01\x21\x01\x61\x00\x0f\x01\x23\x01\x62\x00\x1a\x00\xb9\x00\x1b\x00\x28\x01\x1c\x00\x1d\x00\xb7\x00\x29\x01\x99\x00\x2a\x01\x2b\x01\x63\x00\xba\x00\xbb\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x2d\x01\x31\x01\x2f\x01\xf1\x00\x3c\x01\x3b\x01\x49\x01\x23\x00\x24\x00\x64\x00\x65\x00\x10\x01\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x88\x01\xb9\x00\x61\x00\x10\x01\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xb4\x01\x3e\x01\x61\x00\xba\x00\xbb\x00\x59\x02\x5f\x00\x46\x01\xae\x00\x62\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xf6\x00\x57\x01\x61\x00\x62\x00\xaf\x00\x5a\x02\x63\x00\xb0\x00\x4d\x01\xb1\x00\x55\x02\x5c\x01\x62\x01\x54\x02\x5f\x00\x63\x00\xb2\x00\x90\x00\xb3\x00\xae\x00\x93\x00\x63\x01\xb4\x00\x64\x00\x65\x00\x73\x01\x23\x01\x5c\x00\x09\x01\x5e\x00\x5f\x00\x74\x01\x64\x00\x65\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x05\x01\x6b\x01\x61\x00\xc8\x00\xae\x00\xd8\x00\x62\x00\xa0\xfe\xa2\xfe\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x62\x00\x61\x00\xa3\xfe\x63\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x74\x00\xa6\xfe\x61\x00\x63\x00\xe5\x00\xda\x00\x62\x00\xdb\x00\xde\x00\xe7\x00\x63\x00\x64\x00\x65\x00\xb7\x00\x98\x00\x99\x00\x9a\x00\xe8\x00\x63\x00\xf1\x00\x64\x00\x65\x00\xb5\x01\x5c\x00\x09\x01\x5e\x00\x5f\x00\x64\x00\x65\x00\xf6\x00\xb6\x01\xad\x00\xf9\x00\x63\x00\x15\x01\x64\x00\x65\x00\x62\x00\x0b\x01\x5c\x00\x09\x01\x5e\x00\x5f\x00\xb8\x00\xb9\x00\x62\x00\x0c\x01\x16\x01\x5f\x00\x63\x00\x64\x00\x65\x00\x05\x01\x14\x01\x5b\x00\xba\x00\xbb\x00\x63\x00\x73\x00\x62\x00\x08\x01\x5c\x00\x09\x01\x5e\x00\x5f\x00\xae\x00\x64\x00\x65\x00\xbd\x00\x62\x00\xbf\x00\x63\x00\xc0\x00\xc1\x00\x64\x00\x65\x00\xff\xff\x05\x00\x26\x00\x53\x00\x00\x00\x63\x00\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x65\x00\x29\x02\x5e\x00\x5f\x00\x00\x00\x00\x00\x2a\x02\x62\x00\x00\x00\x64\x00\x65\x00\x62\x02\x5e\x00\x5f\x00\x2b\x02\x2c\x02\x2d\x02\x00\x00\x2e\x02\x63\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x02\x2c\x02\x2d\x02\x00\x00\x2e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x3b\x00\x00\x00\x3d\x00\x63\x00\x00\x00\x00\x00\x00\x00\x62\x00\x42\x00\x00\x00\x43\x00\x44\x00\xb7\x00\x46\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x38\x02\x4f\x00\x00\x00\x2f\x02\x00\x00\x64\x00\x65\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\xb9\x00\x64\x02\x00\x00\x00\x00\x63\x00\x00\x00\x30\x02\x39\x02\x00\x00\x00\x00\x00\x00\xba\x00\xbb\x00\x00\x00\x63\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x65\x00\x00\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x64\x00\x65\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x92\xfe\x92\xfe\x92\xfe\x92\xfe\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x00\x00\xaf\x00\x37\x00\x00\x00\xb0\x00\x38\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x00\x90\x00\xb3\x00\x39\x00\x93\x00\x3a\x00\xb4\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x92\xfe\x92\xfe\x92\xfe\x48\x00\x00\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x92\xfe\x92\xfe\x92\xfe\x92\xfe\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x00\x00\xaf\x00\x37\x00\x00\x00\xb0\x00\x38\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x00\x90\x00\xb3\x00\x39\x00\x93\x00\x3a\x00\xb4\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x00\x00\x92\xfe\x92\xfe\x92\xfe\x48\x00\x00\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x9b\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x9c\x00\x38\x00\x9d\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x9f\x00\xa0\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\xb1\xff\xaf\x00\x37\x00\x00\x00\xb0\x00\x38\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x00\x90\x00\xb3\x00\x39\x00\x93\x00\x3a\x00\xb4\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x92\xfe\x92\xfe\x92\xfe\x92\xfe\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x54\x01\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x92\xfe\x92\xfe\x92\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x61\x01\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x85\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x54\x01\x00\x00\xa1\xff\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\xaf\x00\x35\x00\x00\x00\xb0\x00\x00\x00\xb1\x00\x00\x00\x37\x00\x00\x00\x00\x00\x38\x00\x00\x00\xb2\x00\x90\x00\xb3\x00\x00\x00\x93\x00\x00\x00\xb4\x00\x00\x00\xb5\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x3c\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x26\x00\x41\x00\x42\x00\x29\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x50\x02\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x34\x00\x3d\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x37\x00\x43\x00\x44\x00\x38\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x01\x00\x00\x39\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x34\x00\x3d\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x37\x00\x43\x00\x44\x00\x38\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x39\x00\x98\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x69\x00\x12\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x6b\x00\x29\x00\x9c\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x13\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6c\x00\x00\x00\x46\x00\x00\x00\x26\x00\x00\x00\x28\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x3b\x00\x4e\x00\x3d\x00\x4f\x00\xa6\x00\x00\x00\xa8\x00\xa9\x00\x42\x00\xc3\x01\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\xc4\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\xc5\x01\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x12\x01\x6a\x00\x7f\x00\x00\x00\x18\x00\x19\x00\x00\x00\x6b\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x67\x00\x68\x00\x13\x01\x55\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x1a\x00\x3d\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6c\x00\x69\x00\x46\x00\x6a\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x55\xff\x4a\x00\x4b\x00\x23\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x6d\xff\x00\x00\x5f\x02\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x26\x00\x27\x00\x46\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\xf2\x00\xf3\x00\x19\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x67\x00\x68\x00\x00\x00\x55\xff\x00\x00\x00\x00\x00\x00\x82\x02\x3b\x00\x1a\x00\x3d\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6c\x00\x69\x00\x46\x00\x6a\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x55\xff\x4a\x00\x4b\x00\x23\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x02\x3b\x00\x00\x00\x3d\x00\xb7\x00\x00\x00\x99\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x26\x00\x46\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x01\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x9c\x00\x4f\x00\x00\x00\xb9\x00\x21\x02\x22\x02\x00\x00\x00\x00\x00\x00\x00\x00\x13\x01\x00\x00\x23\x02\x00\x00\xba\x00\xbb\x00\x00\x00\x00\x00\x24\x02\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\xa7\x00\x46\x00\x00\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x6d\xff\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x26\x00\x00\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6c\x00\x00\x00\x46\x00\x26\x00\x27\x00\x21\x02\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x02\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x6b\x00\x0b\x01\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x26\x00\x46\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x42\x00\x4e\x00\x43\x00\x4f\x00\x00\x00\x46\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x6b\x00\x67\x00\x68\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x18\x01\x00\x00\x00\x00\x6d\xff\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6b\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x32\x02\x68\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x3b\x00\x4e\x00\x3d\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6c\x00\x33\x02\x46\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x26\x00\x4f\x00\x00\x00\x67\x00\x68\x00\x00\x00\x34\x02\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x4a\x01\x19\x00\x00\x00\x6b\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x26\x00\x4f\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x02\x3b\x00\x1a\x00\x3d\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x69\x00\x46\x00\x6a\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x23\x00\x4c\x00\x00\x00\x4e\x00\x26\x00\x4f\x00\x00\x00\x32\x02\x68\x00\x00\x00\x5c\x02\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x33\x02\x00\x00\x6a\x00\x00\x00\x00\x00\xd5\x00\x19\x00\x00\x00\x6b\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x26\x00\x4f\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x02\x3b\x00\x1a\x00\x3d\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x69\x00\x46\x00\x6a\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x23\x00\x4c\x00\x00\x00\x4e\x00\x26\x00\x4f\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x7a\x01\xa7\x00\x46\x00\x00\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x26\x00\x4f\x00\x00\x00\x67\x00\x68\x00\xcf\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x69\x00\x46\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x6b\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x42\x00\x00\x00\x43\x00\x7a\x01\x00\x00\x46\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x6b\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6b\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x3b\x00\x4e\x00\x3d\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x7a\x01\x69\x00\x46\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x6b\x00\x67\x00\x68\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6b\x00\x00\x00\x46\x00\x00\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x18\x01\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x3b\x00\x4e\x00\x3d\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x69\x00\x43\x00\x6a\x00\x00\x00\x46\x00\x00\x00\x26\x00\x00\x00\x6b\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6b\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x27\x00\x00\x00\x67\x00\x68\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x3b\x00\x4e\x00\x3d\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x7a\x01\x69\x00\x46\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x6b\x00\x67\x00\x68\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x6b\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x29\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x3b\x00\x4e\x00\x3d\x00\x4f\x00\xb7\x00\x98\x00\x99\x00\x9a\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x46\x00\x00\x00\x50\x02\x51\x02\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x67\x00\x68\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x52\x02\x4e\x00\x00\x00\x4f\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x69\x00\x3d\x00\x6a\x00\x00\x00\xba\x00\xbb\x00\x00\x00\x42\x00\x6b\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x26\x00\x00\x00\x00\x00\x13\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x14\x02\x00\x00\x46\x00\x00\x00\x00\x00\xae\x00\x19\x00\x00\x00\x15\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x26\x00\x4f\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x3b\x00\x1a\x00\x3d\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x26\x00\x00\x00\x28\x00\x00\x00\x4a\x00\x4b\x00\x23\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\xd4\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x00\x42\x00\x00\x00\x43\x00\x44\x00\x26\x00\x46\x00\x28\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x26\x00\x46\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x3b\x00\xd4\x00\x3d\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x26\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x3b\x00\x4c\x00\x3d\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x3b\x00\x4e\x00\x3d\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x26\x00\x42\x00\xc7\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\xae\x01\x4b\x00\x00\x00\xaf\x01\x00\x00\xb0\x01\x00\x00\x4f\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x44\x00\x00\x00\x46\x00\x00\x00\xe4\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x42\x00\x4e\x00\x43\x00\x4f\x00\x00\x00\x46\x00\x3b\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x43\x00\x4a\x00\x4b\x00\x46\x00\x4c\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x01\xd1\x01\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4e\x00\x15\x00\x4f\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x01\xd1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x80\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x02\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x15\x00\x00\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x23\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x88\x00\x77\x00\x78\x00\x89\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x8a\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x8e\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x23\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x02\x58\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x01\x58\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x01\x58\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\xa6\x01\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x39\x01\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x01\x58\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\xfd\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf9\x00\x77\x00\x78\x00\xfa\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x81\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x1a\x00\x5e\x01\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x86\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x02\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x41\x02\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xfa\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xef\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x8c\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x97\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x59\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x5c\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x01\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xf1\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\xdb\x00\x78\x00\xdc\x00\x7a\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x98\x01\x00\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x01\x9a\x01\x00\x00\x00\x00\x1a\x00\x9b\x01\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x00\x00\x00\x00\x98\x01\x00\x00\x16\x00\x17\x00\x23\x00\x18\x00\x19\x00\x98\x01\x00\x00\x16\x00\x17\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x9c\x01\x9a\x01\x00\x00\x00\x00\x00\x00\x9b\x01\x00\x00\x00\x00\x02\x02\x00\x00\x00\x00\x1a\x00\x9b\x01\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x49\x01\xcf\x00\x17\x00\x00\x00\x18\x00\x19\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x98\x00\x99\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x7b\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\xb8\x00\xb9\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x23\x00\xe4\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xba\x00\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = array (1, 384) [-	(1 , happyReduce_1),-	(2 , happyReduce_2),-	(3 , happyReduce_3),-	(4 , happyReduce_4),-	(5 , happyReduce_5),-	(6 , happyReduce_6),-	(7 , happyReduce_7),-	(8 , happyReduce_8),-	(9 , happyReduce_9),-	(10 , happyReduce_10),-	(11 , happyReduce_11),-	(12 , happyReduce_12),-	(13 , happyReduce_13),-	(14 , happyReduce_14),-	(15 , happyReduce_15),-	(16 , happyReduce_16),-	(17 , happyReduce_17),-	(18 , happyReduce_18),-	(19 , happyReduce_19),-	(20 , happyReduce_20),-	(21 , happyReduce_21),-	(22 , happyReduce_22),-	(23 , happyReduce_23),-	(24 , happyReduce_24),-	(25 , happyReduce_25),-	(26 , happyReduce_26),-	(27 , happyReduce_27),-	(28 , happyReduce_28),-	(29 , happyReduce_29),-	(30 , happyReduce_30),-	(31 , happyReduce_31),-	(32 , happyReduce_32),-	(33 , happyReduce_33),-	(34 , happyReduce_34),-	(35 , happyReduce_35),-	(36 , happyReduce_36),-	(37 , happyReduce_37),-	(38 , happyReduce_38),-	(39 , happyReduce_39),-	(40 , happyReduce_40),-	(41 , happyReduce_41),-	(42 , happyReduce_42),-	(43 , happyReduce_43),-	(44 , happyReduce_44),-	(45 , happyReduce_45),-	(46 , happyReduce_46),-	(47 , happyReduce_47),-	(48 , happyReduce_48),-	(49 , happyReduce_49),-	(50 , happyReduce_50),-	(51 , happyReduce_51),-	(52 , happyReduce_52),-	(53 , happyReduce_53),-	(54 , happyReduce_54),-	(55 , happyReduce_55),-	(56 , happyReduce_56),-	(57 , happyReduce_57),-	(58 , happyReduce_58),-	(59 , happyReduce_59),-	(60 , happyReduce_60),-	(61 , happyReduce_61),-	(62 , happyReduce_62),-	(63 , happyReduce_63),-	(64 , happyReduce_64),-	(65 , happyReduce_65),-	(66 , happyReduce_66),-	(67 , happyReduce_67),-	(68 , happyReduce_68),-	(69 , happyReduce_69),-	(70 , happyReduce_70),-	(71 , happyReduce_71),-	(72 , happyReduce_72),-	(73 , happyReduce_73),-	(74 , happyReduce_74),-	(75 , happyReduce_75),-	(76 , happyReduce_76),-	(77 , happyReduce_77),-	(78 , happyReduce_78),-	(79 , happyReduce_79),-	(80 , happyReduce_80),-	(81 , happyReduce_81),-	(82 , happyReduce_82),-	(83 , happyReduce_83),-	(84 , happyReduce_84),-	(85 , happyReduce_85),-	(86 , happyReduce_86),-	(87 , happyReduce_87),-	(88 , happyReduce_88),-	(89 , happyReduce_89),-	(90 , happyReduce_90),-	(91 , happyReduce_91),-	(92 , happyReduce_92),-	(93 , happyReduce_93),-	(94 , happyReduce_94),-	(95 , happyReduce_95),-	(96 , happyReduce_96),-	(97 , happyReduce_97),-	(98 , happyReduce_98),-	(99 , happyReduce_99),-	(100 , happyReduce_100),-	(101 , happyReduce_101),-	(102 , happyReduce_102),-	(103 , happyReduce_103),-	(104 , happyReduce_104),-	(105 , happyReduce_105),-	(106 , happyReduce_106),-	(107 , happyReduce_107),-	(108 , happyReduce_108),-	(109 , happyReduce_109),-	(110 , happyReduce_110),-	(111 , happyReduce_111),-	(112 , happyReduce_112),-	(113 , happyReduce_113),-	(114 , happyReduce_114),-	(115 , happyReduce_115),-	(116 , happyReduce_116),-	(117 , happyReduce_117),-	(118 , happyReduce_118),-	(119 , happyReduce_119),-	(120 , happyReduce_120),-	(121 , happyReduce_121),-	(122 , happyReduce_122),-	(123 , happyReduce_123),-	(124 , happyReduce_124),-	(125 , happyReduce_125),-	(126 , happyReduce_126),-	(127 , happyReduce_127),-	(128 , happyReduce_128),-	(129 , happyReduce_129),-	(130 , happyReduce_130),-	(131 , happyReduce_131),-	(132 , happyReduce_132),-	(133 , happyReduce_133),-	(134 , happyReduce_134),-	(135 , happyReduce_135),-	(136 , happyReduce_136),-	(137 , happyReduce_137),-	(138 , happyReduce_138),-	(139 , happyReduce_139),-	(140 , happyReduce_140),-	(141 , happyReduce_141),-	(142 , happyReduce_142),-	(143 , happyReduce_143),-	(144 , happyReduce_144),-	(145 , happyReduce_145),-	(146 , happyReduce_146),-	(147 , happyReduce_147),-	(148 , happyReduce_148),-	(149 , happyReduce_149),-	(150 , happyReduce_150),-	(151 , happyReduce_151),-	(152 , happyReduce_152),-	(153 , happyReduce_153),-	(154 , happyReduce_154),-	(155 , happyReduce_155),-	(156 , happyReduce_156),-	(157 , happyReduce_157),-	(158 , happyReduce_158),-	(159 , happyReduce_159),-	(160 , happyReduce_160),-	(161 , happyReduce_161),-	(162 , happyReduce_162),-	(163 , happyReduce_163),-	(164 , happyReduce_164),-	(165 , happyReduce_165),-	(166 , happyReduce_166),-	(167 , happyReduce_167),-	(168 , happyReduce_168),-	(169 , happyReduce_169),-	(170 , happyReduce_170),-	(171 , happyReduce_171),-	(172 , happyReduce_172),-	(173 , happyReduce_173),-	(174 , happyReduce_174),-	(175 , happyReduce_175),-	(176 , happyReduce_176),-	(177 , happyReduce_177),-	(178 , happyReduce_178),-	(179 , happyReduce_179),-	(180 , happyReduce_180),-	(181 , happyReduce_181),-	(182 , happyReduce_182),-	(183 , happyReduce_183),-	(184 , happyReduce_184),-	(185 , happyReduce_185),-	(186 , happyReduce_186),-	(187 , happyReduce_187),-	(188 , happyReduce_188),-	(189 , happyReduce_189),-	(190 , happyReduce_190),-	(191 , happyReduce_191),-	(192 , happyReduce_192),-	(193 , happyReduce_193),-	(194 , happyReduce_194),-	(195 , happyReduce_195),-	(196 , happyReduce_196),-	(197 , happyReduce_197),-	(198 , happyReduce_198),-	(199 , happyReduce_199),-	(200 , happyReduce_200),-	(201 , happyReduce_201),-	(202 , happyReduce_202),-	(203 , happyReduce_203),-	(204 , happyReduce_204),-	(205 , happyReduce_205),-	(206 , happyReduce_206),-	(207 , happyReduce_207),-	(208 , happyReduce_208),-	(209 , happyReduce_209),-	(210 , happyReduce_210),-	(211 , happyReduce_211),-	(212 , happyReduce_212),-	(213 , happyReduce_213),-	(214 , happyReduce_214),-	(215 , happyReduce_215),-	(216 , happyReduce_216),-	(217 , happyReduce_217),-	(218 , happyReduce_218),-	(219 , happyReduce_219),-	(220 , happyReduce_220),-	(221 , happyReduce_221),-	(222 , happyReduce_222),-	(223 , happyReduce_223),-	(224 , happyReduce_224),-	(225 , happyReduce_225),-	(226 , happyReduce_226),-	(227 , happyReduce_227),-	(228 , happyReduce_228),-	(229 , happyReduce_229),-	(230 , happyReduce_230),-	(231 , happyReduce_231),-	(232 , happyReduce_232),-	(233 , happyReduce_233),-	(234 , happyReduce_234),-	(235 , happyReduce_235),-	(236 , happyReduce_236),-	(237 , happyReduce_237),-	(238 , happyReduce_238),-	(239 , happyReduce_239),-	(240 , happyReduce_240),-	(241 , happyReduce_241),-	(242 , happyReduce_242),-	(243 , happyReduce_243),-	(244 , happyReduce_244),-	(245 , happyReduce_245),-	(246 , happyReduce_246),-	(247 , happyReduce_247),-	(248 , happyReduce_248),-	(249 , happyReduce_249),-	(250 , happyReduce_250),-	(251 , happyReduce_251),-	(252 , happyReduce_252),-	(253 , happyReduce_253),-	(254 , happyReduce_254),-	(255 , happyReduce_255),-	(256 , happyReduce_256),-	(257 , happyReduce_257),-	(258 , happyReduce_258),-	(259 , happyReduce_259),-	(260 , happyReduce_260),-	(261 , happyReduce_261),-	(262 , happyReduce_262),-	(263 , happyReduce_263),-	(264 , happyReduce_264),-	(265 , happyReduce_265),-	(266 , happyReduce_266),-	(267 , happyReduce_267),-	(268 , happyReduce_268),-	(269 , happyReduce_269),-	(270 , happyReduce_270),-	(271 , happyReduce_271),-	(272 , happyReduce_272),-	(273 , happyReduce_273),-	(274 , happyReduce_274),-	(275 , happyReduce_275),-	(276 , happyReduce_276),-	(277 , happyReduce_277),-	(278 , happyReduce_278),-	(279 , happyReduce_279),-	(280 , happyReduce_280),-	(281 , happyReduce_281),-	(282 , happyReduce_282),-	(283 , happyReduce_283),-	(284 , happyReduce_284),-	(285 , happyReduce_285),-	(286 , happyReduce_286),-	(287 , happyReduce_287),-	(288 , happyReduce_288),-	(289 , happyReduce_289),-	(290 , happyReduce_290),-	(291 , happyReduce_291),-	(292 , happyReduce_292),-	(293 , happyReduce_293),-	(294 , happyReduce_294),-	(295 , happyReduce_295),-	(296 , happyReduce_296),-	(297 , happyReduce_297),-	(298 , happyReduce_298),-	(299 , happyReduce_299),-	(300 , happyReduce_300),-	(301 , happyReduce_301),-	(302 , happyReduce_302),-	(303 , happyReduce_303),-	(304 , happyReduce_304),-	(305 , happyReduce_305),-	(306 , happyReduce_306),-	(307 , happyReduce_307),-	(308 , happyReduce_308),-	(309 , happyReduce_309),-	(310 , happyReduce_310),-	(311 , happyReduce_311),-	(312 , happyReduce_312),-	(313 , happyReduce_313),-	(314 , happyReduce_314),-	(315 , happyReduce_315),-	(316 , happyReduce_316),-	(317 , happyReduce_317),-	(318 , happyReduce_318),-	(319 , happyReduce_319),-	(320 , happyReduce_320),-	(321 , happyReduce_321),-	(322 , happyReduce_322),-	(323 , happyReduce_323),-	(324 , happyReduce_324),-	(325 , happyReduce_325),-	(326 , happyReduce_326),-	(327 , happyReduce_327),-	(328 , happyReduce_328),-	(329 , happyReduce_329),-	(330 , happyReduce_330),-	(331 , happyReduce_331),-	(332 , happyReduce_332),-	(333 , happyReduce_333),-	(334 , happyReduce_334),-	(335 , happyReduce_335),-	(336 , happyReduce_336),-	(337 , happyReduce_337),-	(338 , happyReduce_338),-	(339 , happyReduce_339),-	(340 , happyReduce_340),-	(341 , happyReduce_341),-	(342 , happyReduce_342),-	(343 , happyReduce_343),-	(344 , happyReduce_344),-	(345 , happyReduce_345),-	(346 , happyReduce_346),-	(347 , happyReduce_347),-	(348 , happyReduce_348),-	(349 , happyReduce_349),-	(350 , happyReduce_350),-	(351 , happyReduce_351),-	(352 , happyReduce_352),-	(353 , happyReduce_353),-	(354 , happyReduce_354),-	(355 , happyReduce_355),-	(356 , happyReduce_356),-	(357 , happyReduce_357),-	(358 , happyReduce_358),-	(359 , happyReduce_359),-	(360 , happyReduce_360),-	(361 , happyReduce_361),-	(362 , happyReduce_362),-	(363 , happyReduce_363),-	(364 , happyReduce_364),-	(365 , happyReduce_365),-	(366 , happyReduce_366),-	(367 , happyReduce_367),-	(368 , happyReduce_368),-	(369 , happyReduce_369),-	(370 , happyReduce_370),-	(371 , happyReduce_371),-	(372 , happyReduce_372),-	(373 , happyReduce_373),-	(374 , happyReduce_374),-	(375 , happyReduce_375),-	(376 , happyReduce_376),-	(377 , happyReduce_377),-	(378 , happyReduce_378),-	(379 , happyReduce_379),-	(380 , happyReduce_380),-	(381 , happyReduce_381),-	(382 , happyReduce_382),-	(383 , happyReduce_383),-	(384 , happyReduce_384)-	]--happy_n_terms = 84 :: Int-happy_n_nonterms = 155 :: Int--happyReduce_1 = happyReduce 7# 0# happyReduction_1-happyReduction_1 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut5 happy_x_1 of { happy_var_1 -> -	case happyOut144 happy_x_3 of { happy_var_3 -> -	case happyOut147 happy_x_4 of { happy_var_4 -> -	case happyOut9 happy_x_5 of { happy_var_5 -> -	case happyOut6 happy_x_7 of { happy_var_7 -> -	happyIn4-		 (case happy_var_1 of { (opts,info,doc) ->-	      HsModule happy_var_3 happy_var_4 happy_var_5 (reverse (fst happy_var_7)) (snd happy_var_7)-		opts info doc }-	) `HappyStk` happyRest}}}}}--happyReduce_2 = happySpecReduce_2  0# happyReduction_2-happyReduction_2 happy_x_2-	happy_x_1-	 =  case happyOut6 happy_x_1 of { happy_var_1 -> -	case happyOut144 happy_x_2 of { happy_var_2 -> -	happyIn4-		 (HsModule happy_var_2 main_mod Nothing (reverse (fst happy_var_1)) (snd happy_var_1)-		Nothing emptyModuleInfo Nothing-	)}}--happyReduce_3 = happySpecReduce_1  1# happyReduction_3-happyReduction_3 happy_x_1-	 =  case happyOut158 happy_x_1 of { happy_var_1 -> -	happyIn5-		 ((Nothing, fst happy_var_1, snd happy_var_1)-	)}--happyReduce_4 = happySpecReduce_1  1# happyReduction_4-happyReduction_4 happy_x_1-	 =  case happyOutTok happy_x_1 of { (DocOptions happy_var_1) -> -	happyIn5-		 ((Just happy_var_1, emptyModuleInfo,Nothing)-	)}--happyReduce_5 = happySpecReduce_2  1# happyReduction_5-happyReduction_5 happy_x_2-	happy_x_1-	 =  case happyOutTok happy_x_1 of { (DocOptions happy_var_1) -> -	case happyOut158 happy_x_2 of { happy_var_2 -> -	happyIn5-		 ((Just happy_var_1, fst happy_var_2, snd happy_var_2)-	)}}--happyReduce_6 = happySpecReduce_2  1# happyReduction_6-happyReduction_6 happy_x_2-	happy_x_1-	 =  case happyOut158 happy_x_1 of { happy_var_1 -> -	case happyOutTok happy_x_2 of { (DocOptions happy_var_2) -> -	happyIn5-		 ((Just happy_var_2, fst happy_var_1, snd happy_var_1)-	)}}--happyReduce_7 = happySpecReduce_0  1# happyReduction_7-happyReduction_7  =  happyIn5-		 ((Nothing, emptyModuleInfo,Nothing)-	)--happyReduce_8 = happySpecReduce_3  2# happyReduction_8-happyReduction_8 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut7 happy_x_2 of { happy_var_2 -> -	happyIn6-		 (happy_var_2-	)}--happyReduce_9 = happySpecReduce_3  2# happyReduction_9-happyReduction_9 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut7 happy_x_2 of { happy_var_2 -> -	happyIn6-		 (happy_var_2-	)}--happyReduce_10 = happySpecReduce_3  3# happyReduction_10-happyReduction_10 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut17 happy_x_1 of { happy_var_1 -> -	case happyOut32 happy_x_3 of { happy_var_3 -> -	happyIn7-		 ((happy_var_1, happy_var_3)-	)}}--happyReduce_11 = happySpecReduce_1  3# happyReduction_11-happyReduction_11 happy_x_1-	 =  case happyOut32 happy_x_1 of { happy_var_1 -> -	happyIn7-		 (([], happy_var_1)-	)}--happyReduce_12 = happySpecReduce_1  3# happyReduction_12-happyReduction_12 happy_x_1-	 =  case happyOut17 happy_x_1 of { happy_var_1 -> -	happyIn7-		 ((happy_var_1, [])-	)}--happyReduce_13 = happySpecReduce_1  4# happyReduction_13-happyReduction_13 happy_x_1-	 =  happyIn8-		 (()-	)--happyReduce_14 = happySpecReduce_0  4# happyReduction_14-happyReduction_14  =  happyIn8-		 (()-	)--happyReduce_15 = happySpecReduce_1  5# happyReduction_15-happyReduction_15 happy_x_1-	 =  case happyOut10 happy_x_1 of { happy_var_1 -> -	happyIn9-		 (Just happy_var_1-	)}--happyReduce_16 = happySpecReduce_0  5# happyReduction_16-happyReduction_16  =  happyIn9-		 (Nothing-	)--happyReduce_17 = happySpecReduce_3  6# happyReduction_17-happyReduction_17 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut11 happy_x_2 of { happy_var_2 -> -	happyIn10-		 (happy_var_2-	)}--happyReduce_18 = happySpecReduce_2  7# happyReduction_18-happyReduction_18 happy_x_2-	happy_x_1-	 =  case happyOut14 happy_x_1 of { happy_var_1 -> -	case happyOut12 happy_x_2 of { happy_var_2 -> -	happyIn11-		 (happy_var_1 : happy_var_2-	)}}--happyReduce_19 = happySpecReduce_2  7# happyReduction_19-happyReduction_19 happy_x_2-	happy_x_1-	 =  case happyOut13 happy_x_1 of { happy_var_1 -> -	case happyOut11 happy_x_2 of { happy_var_2 -> -	happyIn11-		 (happy_var_1 : happy_var_2-	)}}--happyReduce_20 = happySpecReduce_0  7# happyReduction_20-happyReduction_20  =  happyIn11-		 ([]-	)--happyReduce_21 = happySpecReduce_2  8# happyReduction_21-happyReduction_21 happy_x_2-	happy_x_1-	 =  case happyOut13 happy_x_1 of { happy_var_1 -> -	case happyOut12 happy_x_2 of { happy_var_2 -> -	happyIn12-		 (happy_var_1 : happy_var_2-	)}}--happyReduce_22 = happySpecReduce_2  8# happyReduction_22-happyReduction_22 happy_x_2-	happy_x_1-	 =  case happyOut11 happy_x_2 of { happy_var_2 -> -	happyIn12-		 (happy_var_2-	)}--happyReduce_23 = happySpecReduce_0  8# happyReduction_23-happyReduction_23  =  happyIn12-		 ([]-	)--happyReduce_24 = happySpecReduce_1  9# happyReduction_24-happyReduction_24 happy_x_1-	 =  case happyOut155 happy_x_1 of { happy_var_1 -> -	happyIn13-		 (case happy_var_1 of { (i,s) -> HsEGroup i s }-	)}--happyReduce_25 = happySpecReduce_1  9# happyReduction_25-happyReduction_25 happy_x_1-	 =  case happyOut154 happy_x_1 of { happy_var_1 -> -	happyIn13-		 (HsEDocNamed (fst happy_var_1)-	)}--happyReduce_26 = happySpecReduce_1  9# happyReduction_26-happyReduction_26 happy_x_1-	 =  case happyOut152 happy_x_1 of { happy_var_1 -> -	happyIn13-		 (HsEDoc happy_var_1-	)}--happyReduce_27 = happySpecReduce_1  10# happyReduction_27-happyReduction_27 happy_x_1-	 =  case happyOut119 happy_x_1 of { happy_var_1 -> -	happyIn14-		 (HsEVar happy_var_1-	)}--happyReduce_28 = happySpecReduce_1  10# happyReduction_28-happyReduction_28 happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	happyIn14-		 (HsEAbs happy_var_1-	)}--happyReduce_29 = happyReduce 4# 10# happyReduction_29-happyReduction_29 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut51 happy_x_1 of { happy_var_1 -> -	happyIn14-		 (HsEThingAll happy_var_1-	) `HappyStk` happyRest}--happyReduce_30 = happySpecReduce_3  10# happyReduction_30-happyReduction_30 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	happyIn14-		 (HsEThingWith happy_var_1 []-	)}--happyReduce_31 = happyReduce 4# 10# happyReduction_31-happyReduction_31 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut51 happy_x_1 of { happy_var_1 -> -	case happyOut15 happy_x_3 of { happy_var_3 -> -	happyIn14-		 (HsEThingWith happy_var_1 (reverse happy_var_3)-	) `HappyStk` happyRest}}--happyReduce_32 = happySpecReduce_2  10# happyReduction_32-happyReduction_32 happy_x_2-	happy_x_1-	 =  case happyOut147 happy_x_2 of { happy_var_2 -> -	happyIn14-		 (HsEModuleContents happy_var_2-	)}--happyReduce_33 = happySpecReduce_3  11# happyReduction_33-happyReduction_33 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut15 happy_x_1 of { happy_var_1 -> -	case happyOut16 happy_x_3 of { happy_var_3 -> -	happyIn15-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_34 = happySpecReduce_1  11# happyReduction_34-happyReduction_34 happy_x_1-	 =  case happyOut16 happy_x_1 of { happy_var_1 -> -	happyIn15-		 ([happy_var_1]-	)}--happyReduce_35 = happySpecReduce_1  12# happyReduction_35-happyReduction_35 happy_x_1-	 =  case happyOut119 happy_x_1 of { happy_var_1 -> -	happyIn16-		 (happy_var_1-	)}--happyReduce_36 = happySpecReduce_1  12# happyReduction_36-happyReduction_36 happy_x_1-	 =  case happyOut117 happy_x_1 of { happy_var_1 -> -	happyIn16-		 (happy_var_1-	)}--happyReduce_37 = happySpecReduce_3  13# happyReduction_37-happyReduction_37 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut17 happy_x_1 of { happy_var_1 -> -	case happyOut18 happy_x_3 of { happy_var_3 -> -	happyIn17-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_38 = happySpecReduce_1  13# happyReduction_38-happyReduction_38 happy_x_1-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> -	happyIn17-		 ([happy_var_1]-	)}--happyReduce_39 = happyReduce 6# 14# happyReduction_39-happyReduction_39 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut144 happy_x_2 of { happy_var_2 -> -	case happyOut19 happy_x_3 of { happy_var_3 -> -	case happyOut147 happy_x_4 of { happy_var_4 -> -	case happyOut20 happy_x_5 of { happy_var_5 -> -	case happyOut21 happy_x_6 of { happy_var_6 -> -	happyIn18-		 (HsImportDecl happy_var_2 happy_var_4 happy_var_3 happy_var_5 happy_var_6-	) `HappyStk` happyRest}}}}}--happyReduce_40 = happySpecReduce_1  15# happyReduction_40-happyReduction_40 happy_x_1-	 =  happyIn19-		 (True-	)--happyReduce_41 = happySpecReduce_0  15# happyReduction_41-happyReduction_41  =  happyIn19-		 (False-	)--happyReduce_42 = happySpecReduce_2  16# happyReduction_42-happyReduction_42 happy_x_2-	happy_x_1-	 =  case happyOut147 happy_x_2 of { happy_var_2 -> -	happyIn20-		 (Just happy_var_2-	)}--happyReduce_43 = happySpecReduce_0  16# happyReduction_43-happyReduction_43  =  happyIn20-		 (Nothing-	)--happyReduce_44 = happySpecReduce_1  17# happyReduction_44-happyReduction_44 happy_x_1-	 =  case happyOut22 happy_x_1 of { happy_var_1 -> -	happyIn21-		 (Just happy_var_1-	)}--happyReduce_45 = happySpecReduce_0  17# happyReduction_45-happyReduction_45  =  happyIn21-		 (Nothing-	)--happyReduce_46 = happySpecReduce_3  18# happyReduction_46-happyReduction_46 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut23 happy_x_2 of { happy_var_2 -> -	happyIn22-		 ((False, reverse happy_var_2)-	)}--happyReduce_47 = happyReduce 4# 18# happyReduction_47-happyReduction_47 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut23 happy_x_3 of { happy_var_3 -> -	happyIn22-		 ((True,  reverse happy_var_3)-	) `HappyStk` happyRest}--happyReduce_48 = happySpecReduce_3  19# happyReduction_48-happyReduction_48 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut23 happy_x_1 of { happy_var_1 -> -	case happyOut24 happy_x_3 of { happy_var_3 -> -	happyIn23-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_49 = happySpecReduce_2  19# happyReduction_49-happyReduction_49 happy_x_2-	happy_x_1-	 =  case happyOut23 happy_x_1 of { happy_var_1 -> -	happyIn23-		 (happy_var_1-	)}--happyReduce_50 = happySpecReduce_1  19# happyReduction_50-happyReduction_50 happy_x_1-	 =  case happyOut24 happy_x_1 of { happy_var_1 -> -	happyIn23-		 ([happy_var_1]-	)}--happyReduce_51 = happySpecReduce_0  19# happyReduction_51-happyReduction_51  =  happyIn23-		 ([]-	)--happyReduce_52 = happySpecReduce_1  20# happyReduction_52-happyReduction_52 happy_x_1-	 =  case happyOut118 happy_x_1 of { happy_var_1 -> -	happyIn24-		 (HsIVar happy_var_1-	)}--happyReduce_53 = happySpecReduce_1  20# happyReduction_53-happyReduction_53 happy_x_1-	 =  case happyOut25 happy_x_1 of { happy_var_1 -> -	happyIn24-		 (HsIAbs happy_var_1-	)}--happyReduce_54 = happyReduce 4# 20# happyReduction_54-happyReduction_54 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut25 happy_x_1 of { happy_var_1 -> -	happyIn24-		 (HsIThingAll happy_var_1-	) `HappyStk` happyRest}--happyReduce_55 = happySpecReduce_3  20# happyReduction_55-happyReduction_55 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut25 happy_x_1 of { happy_var_1 -> -	happyIn24-		 (HsIThingWith happy_var_1 []-	)}--happyReduce_56 = happyReduce 4# 20# happyReduction_56-happyReduction_56 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut25 happy_x_1 of { happy_var_1 -> -	case happyOut26 happy_x_3 of { happy_var_3 -> -	happyIn24-		 (HsIThingWith happy_var_1 (reverse happy_var_3)-	) `HappyStk` happyRest}}--happyReduce_57 = happySpecReduce_1  21# happyReduction_57-happyReduction_57 happy_x_1-	 =  case happyOut148 happy_x_1 of { happy_var_1 -> -	happyIn25-		 (happy_var_1-	)}--happyReduce_58 = happySpecReduce_2  21# happyReduction_58-happyReduction_58 happy_x_2-	happy_x_1-	 =  happyIn25-		 (unit_tycon_name-	)--happyReduce_59 = happySpecReduce_3  21# happyReduction_59-happyReduction_59 happy_x_3-	happy_x_2-	happy_x_1-	 =  happyIn25-		 (fun_tycon_name-	)--happyReduce_60 = happySpecReduce_2  21# happyReduction_60-happyReduction_60 happy_x_2-	happy_x_1-	 =  happyIn25-		 (list_tycon_name-	)--happyReduce_61 = happySpecReduce_3  21# happyReduction_61-happyReduction_61 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut97 happy_x_2 of { happy_var_2 -> -	happyIn25-		 (tuple_tycon_name happy_var_2-	)}--happyReduce_62 = happySpecReduce_3  22# happyReduction_62-happyReduction_62 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut26 happy_x_1 of { happy_var_1 -> -	case happyOut27 happy_x_3 of { happy_var_3 -> -	happyIn26-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_63 = happySpecReduce_1  22# happyReduction_63-happyReduction_63 happy_x_1-	 =  case happyOut27 happy_x_1 of { happy_var_1 -> -	happyIn26-		 ([happy_var_1]-	)}--happyReduce_64 = happySpecReduce_1  23# happyReduction_64-happyReduction_64 happy_x_1-	 =  case happyOut118 happy_x_1 of { happy_var_1 -> -	happyIn27-		 (happy_var_1-	)}--happyReduce_65 = happySpecReduce_1  23# happyReduction_65-happyReduction_65 happy_x_1-	 =  case happyOut120 happy_x_1 of { happy_var_1 -> -	happyIn27-		 (happy_var_1-	)}--happyReduce_66 = happyReduce 4# 24# happyReduction_66-happyReduction_66 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut144 happy_x_1 of { happy_var_1 -> -	case happyOut30 happy_x_2 of { happy_var_2 -> -	case happyOut29 happy_x_3 of { happy_var_3 -> -	case happyOut31 happy_x_4 of { happy_var_4 -> -	happyIn28-		 (HsInfixDecl happy_var_1 happy_var_2 happy_var_3 (reverse happy_var_4)-	) `HappyStk` happyRest}}}}--happyReduce_67 = happySpecReduce_0  25# happyReduction_67-happyReduction_67  =  happyIn29-		 (9-	)--happyReduce_68 = happyMonadReduce 1# 25# happyReduction_68-happyReduction_68 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (IntTok happy_var_1) -> -	(  checkPrec happy_var_1 `thenP` \p ->-						    returnP (fromIntegral happy_var_1))}-	) (\r -> happyReturn (happyIn29 r))--happyReduce_69 = happySpecReduce_1  26# happyReduction_69-happyReduction_69 happy_x_1-	 =  happyIn30-		 (HsAssocNone-	)--happyReduce_70 = happySpecReduce_1  26# happyReduction_70-happyReduction_70 happy_x_1-	 =  happyIn30-		 (HsAssocLeft-	)--happyReduce_71 = happySpecReduce_1  26# happyReduction_71-happyReduction_71 happy_x_1-	 =  happyIn30-		 (HsAssocRight-	)--happyReduce_72 = happySpecReduce_3  27# happyReduction_72-happyReduction_72 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> -	case happyOut128 happy_x_3 of { happy_var_3 -> -	happyIn31-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_73 = happySpecReduce_1  27# happyReduction_73-happyReduction_73 happy_x_1-	 =  case happyOut128 happy_x_1 of { happy_var_1 -> -	happyIn31-		 ([happy_var_1]-	)}--happyReduce_74 = happySpecReduce_3  28# happyReduction_74-happyReduction_74 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut33 happy_x_1 of { happy_var_1 -> -	case happyOut32 happy_x_3 of { happy_var_3 -> -	happyIn32-		 (happy_var_1 : happy_var_3-	)}}--happyReduce_75 = happySpecReduce_2  28# happyReduction_75-happyReduction_75 happy_x_2-	happy_x_1-	 =  case happyOut32 happy_x_2 of { happy_var_2 -> -	happyIn32-		 (happy_var_2-	)}--happyReduce_76 = happySpecReduce_2  28# happyReduction_76-happyReduction_76 happy_x_2-	happy_x_1-	 =  case happyOut37 happy_x_1 of { happy_var_1 -> -	case happyOut32 happy_x_2 of { happy_var_2 -> -	happyIn32-		 (happy_var_1 : happy_var_2-	)}}--happyReduce_77 = happySpecReduce_1  28# happyReduction_77-happyReduction_77 happy_x_1-	 =  case happyOut33 happy_x_1 of { happy_var_1 -> -	happyIn32-		 ([happy_var_1]-	)}--happyReduce_78 = happySpecReduce_0  28# happyReduction_78-happyReduction_78  =  happyIn32-		 ([]-	)--happyReduce_79 = happyReduce 5# 29# happyReduction_79-happyReduction_79 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut56 happy_x_2 of { happy_var_2 -> -	case happyOut144 happy_x_3 of { happy_var_3 -> -	case happyOut53 happy_x_5 of { happy_var_5 -> -	happyIn33-		 (HsTypeDecl happy_var_3 (fst happy_var_2) (snd happy_var_2) happy_var_5 Nothing-	) `HappyStk` happyRest}}}--happyReduce_80 = happyMonadReduce 5# 29# happyReduction_80-happyReduction_80 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut52 happy_x_2 of { happy_var_2 -> -	case happyOut144 happy_x_3 of { happy_var_3 -> -	case happyOut58 happy_x_4 of { happy_var_4 -> -	case happyOut70 happy_x_5 of { happy_var_5 -> -	( checkDataHeader happy_var_2 `thenP` \(cs,c,t) ->-		   returnP (HsDataDecl happy_var_3 cs c t happy_var_4 happy_var_5 Nothing))}}}}-	) (\r -> happyReturn (happyIn33 r))--happyReduce_81 = happyMonadReduce 6# 29# happyReduction_81-happyReduction_81 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut52 happy_x_2 of { happy_var_2 -> -	case happyOut144 happy_x_3 of { happy_var_3 -> -	case happyOut60 happy_x_5 of { happy_var_5 -> -	case happyOut70 happy_x_6 of { happy_var_6 -> -	( checkDataHeader happy_var_2 `thenP` \(cs,c,t) ->-		   returnP (HsNewTypeDecl happy_var_3 cs c t happy_var_5 happy_var_6 Nothing))}}}}-	) (\r -> happyReturn (happyIn33 r))--happyReduce_82 = happyMonadReduce 5# 29# happyReduction_82-happyReduction_82 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut144 happy_x_2 of { happy_var_2 -> -	case happyOut52 happy_x_3 of { happy_var_3 -> -	case happyOut72 happy_x_4 of { happy_var_4 -> -	case happyOut76 happy_x_5 of { happy_var_5 -> -	( checkClassHeader happy_var_3 `thenP` \(ctxt,n,tys) ->-		   returnP (HsClassDecl happy_var_2 ctxt n tys happy_var_4 happy_var_5 Nothing))}}}}-	) (\r -> happyReturn (happyIn33 r))--happyReduce_83 = happyMonadReduce 4# 29# happyReduction_83-happyReduction_83 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut144 happy_x_2 of { happy_var_2 -> -	case happyOut52 happy_x_3 of { happy_var_3 -> -	case happyOut81 happy_x_4 of { happy_var_4 -> -	( checkInstHeader happy_var_3 `thenP` \(ctxt,asst) ->-		   returnP (HsInstDecl happy_var_2 ctxt asst happy_var_4))}}}-	) (\r -> happyReturn (happyIn33 r))--happyReduce_84 = happyReduce 5# 29# happyReduction_84-happyReduction_84 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut144 happy_x_2 of { happy_var_2 -> -	case happyOut34 happy_x_4 of { happy_var_4 -> -	happyIn33-		 (HsDefaultDecl happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_85 = happySpecReduce_2  29# happyReduction_85-happyReduction_85 happy_x_2-	happy_x_1-	 =  case happyOut41 happy_x_2 of { happy_var_2 -> -	happyIn33-		 (happy_var_2-	)}--happyReduce_86 = happySpecReduce_1  29# happyReduction_86-happyReduction_86 happy_x_1-	 =  case happyOut36 happy_x_1 of { happy_var_1 -> -	happyIn33-		 (happy_var_1-	)}--happyReduce_87 = happySpecReduce_1  30# happyReduction_87-happyReduction_87 happy_x_1-	 =  case happyOut55 happy_x_1 of { happy_var_1 -> -	happyIn34-		 (happy_var_1-	)}--happyReduce_88 = happySpecReduce_1  30# happyReduction_88-happyReduction_88 happy_x_1-	 =  case happyOut47 happy_x_1 of { happy_var_1 -> -	happyIn34-		 ([happy_var_1]-	)}--happyReduce_89 = happySpecReduce_0  30# happyReduction_89-happyReduction_89  =  happyIn34-		 ([]-	)--happyReduce_90 = happySpecReduce_3  31# happyReduction_90-happyReduction_90 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut36 happy_x_1 of { happy_var_1 -> -	case happyOut35 happy_x_3 of { happy_var_3 -> -	happyIn35-		 (happy_var_1 : happy_var_3-	)}}--happyReduce_91 = happySpecReduce_2  31# happyReduction_91-happyReduction_91 happy_x_2-	happy_x_1-	 =  case happyOut37 happy_x_1 of { happy_var_1 -> -	case happyOut35 happy_x_2 of { happy_var_2 -> -	happyIn35-		 (happy_var_1 : happy_var_2-	)}}--happyReduce_92 = happySpecReduce_2  31# happyReduction_92-happyReduction_92 happy_x_2-	happy_x_1-	 =  case happyOut35 happy_x_2 of { happy_var_2 -> -	happyIn35-		 (happy_var_2-	)}--happyReduce_93 = happySpecReduce_1  31# happyReduction_93-happyReduction_93 happy_x_1-	 =  case happyOut36 happy_x_1 of { happy_var_1 -> -	happyIn35-		 ([happy_var_1]-	)}--happyReduce_94 = happySpecReduce_0  31# happyReduction_94-happyReduction_94  =  happyIn35-		 ([]-	)--happyReduce_95 = happySpecReduce_1  32# happyReduction_95-happyReduction_95 happy_x_1-	 =  case happyOut39 happy_x_1 of { happy_var_1 -> -	happyIn36-		 (happy_var_1-	)}--happyReduce_96 = happySpecReduce_1  32# happyReduction_96-happyReduction_96 happy_x_1-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> -	happyIn36-		 (happy_var_1-	)}--happyReduce_97 = happySpecReduce_1  32# happyReduction_97-happyReduction_97 happy_x_1-	 =  case happyOut83 happy_x_1 of { happy_var_1 -> -	happyIn36-		 (happy_var_1-	)}--happyReduce_98 = happySpecReduce_2  33# happyReduction_98-happyReduction_98 happy_x_2-	happy_x_1-	 =  case happyOut144 happy_x_1 of { happy_var_1 -> -	case happyOut152 happy_x_2 of { happy_var_2 -> -	happyIn37-		 (HsDocCommentNext happy_var_1 happy_var_2-	)}}--happyReduce_99 = happySpecReduce_2  33# happyReduction_99-happyReduction_99 happy_x_2-	happy_x_1-	 =  case happyOut144 happy_x_1 of { happy_var_1 -> -	case happyOut153 happy_x_2 of { happy_var_2 -> -	happyIn37-		 (HsDocCommentPrev happy_var_1 happy_var_2-	)}}--happyReduce_100 = happySpecReduce_2  33# happyReduction_100-happyReduction_100 happy_x_2-	happy_x_1-	 =  case happyOut144 happy_x_1 of { happy_var_1 -> -	case happyOut154 happy_x_2 of { happy_var_2 -> -	happyIn37-		 (case happy_var_2 of { (n,s) -> -					HsDocCommentNamed happy_var_1 n s }-	)}}--happyReduce_101 = happySpecReduce_2  33# happyReduction_101-happyReduction_101 happy_x_2-	happy_x_1-	 =  case happyOut144 happy_x_1 of { happy_var_1 -> -	case happyOut155 happy_x_2 of { happy_var_2 -> -	happyIn37-		 (case happy_var_2 of { (i,s) -> HsDocGroup happy_var_1 i s }-	)}}--happyReduce_102 = happySpecReduce_3  34# happyReduction_102-happyReduction_102 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut35 happy_x_2 of { happy_var_2 -> -	happyIn38-		 (happy_var_2-	)}--happyReduce_103 = happySpecReduce_3  34# happyReduction_103-happyReduction_103 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut35 happy_x_2 of { happy_var_2 -> -	happyIn38-		 (happy_var_2-	)}--happyReduce_104 = happyReduce 4# 35# happyReduction_104-happyReduction_104 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut40 happy_x_1 of { happy_var_1 -> -	case happyOut144 happy_x_2 of { happy_var_2 -> -	case happyOut53 happy_x_4 of { happy_var_4 -> -	happyIn39-		 (HsTypeSig happy_var_2 (reverse happy_var_1) happy_var_4 Nothing-	) `HappyStk` happyRest}}}--happyReduce_105 = happySpecReduce_3  36# happyReduction_105-happyReduction_105 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut40 happy_x_1 of { happy_var_1 -> -	case happyOut118 happy_x_3 of { happy_var_3 -> -	happyIn40-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_106 = happyMonadReduce 1# 36# happyReduction_106-happyReduction_106 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut119 happy_x_1 of { happy_var_1 -> -	( checkUnQual happy_var_1 `thenP` \n ->-					   returnP [n])}-	) (\r -> happyReturn (happyIn40 r))--happyReduce_107 = happyReduce 5# 37# happyReduction_107-happyReduction_107 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut144 happy_x_1 of { happy_var_1 -> -	case happyOut42 happy_x_3 of { happy_var_3 -> -	case happyOut43 happy_x_4 of { happy_var_4 -> -	case happyOut44 happy_x_5 of { happy_var_5 -> -	happyIn41-		 (case happy_var_5 of (spec,nm,ty) -> HsForeignImport happy_var_1 happy_var_3 happy_var_4 spec nm ty Nothing-	) `HappyStk` happyRest}}}}--happyReduce_108 = happyReduce 4# 37# happyReduction_108-happyReduction_108 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut144 happy_x_1 of { happy_var_1 -> -	case happyOut42 happy_x_3 of { happy_var_3 -> -	case happyOut44 happy_x_4 of { happy_var_4 -> -	happyIn41-		 (case happy_var_4 of (spec,nm,ty) -> HsForeignImport happy_var_1 happy_var_3 HsFISafe spec nm ty Nothing-	) `HappyStk` happyRest}}}--happyReduce_109 = happyReduce 4# 37# happyReduction_109-happyReduction_109 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut144 happy_x_1 of { happy_var_1 -> -	case happyOut42 happy_x_3 of { happy_var_3 -> -	case happyOut44 happy_x_4 of { happy_var_4 -> -	happyIn41-		 (case happy_var_4 of (spec,nm,ty) -> HsForeignExport happy_var_1 happy_var_3 spec nm ty-	) `HappyStk` happyRest}}}--happyReduce_110 = happySpecReduce_1  38# happyReduction_110-happyReduction_110 happy_x_1-	 =  happyIn42-		 (HsStdCall-	)--happyReduce_111 = happySpecReduce_1  38# happyReduction_111-happyReduction_111 happy_x_1-	 =  happyIn42-		 (HsCCall-	)--happyReduce_112 = happySpecReduce_1  38# happyReduction_112-happyReduction_112 happy_x_1-	 =  happyIn42-		 (HsDotNetCall-	)--happyReduce_113 = happySpecReduce_1  39# happyReduction_113-happyReduction_113 happy_x_1-	 =  happyIn43-		 (HsFIUnsafe-	)--happyReduce_114 = happySpecReduce_1  39# happyReduction_114-happyReduction_114 happy_x_1-	 =  happyIn43-		 (HsFISafe-	)--happyReduce_115 = happySpecReduce_1  39# happyReduction_115-happyReduction_115 happy_x_1-	 =  happyIn43-		 (HsFIThreadSafe-	)--happyReduce_116 = happyReduce 4# 40# happyReduction_116-happyReduction_116 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOutTok happy_x_1 of { (StringTok happy_var_1) -> -	case happyOut132 happy_x_2 of { happy_var_2 -> -	case happyOut53 happy_x_4 of { happy_var_4 -> -	happyIn44-		 ((happy_var_1, happy_var_2, happy_var_4)-	) `HappyStk` happyRest}}}--happyReduce_117 = happySpecReduce_3  40# happyReduction_117-happyReduction_117 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut132 happy_x_1 of { happy_var_1 -> -	case happyOut53 happy_x_3 of { happy_var_3 -> -	happyIn44-		 (("", happy_var_1, happy_var_3)-	)}}--happyReduce_118 = happySpecReduce_3  41# happyReduction_118-happyReduction_118 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut46 happy_x_1 of { happy_var_1 -> -	case happyOut45 happy_x_3 of { happy_var_3 -> -	happyIn45-		 (HsTyFun happy_var_1 happy_var_3-	)}}--happyReduce_119 = happySpecReduce_1  41# happyReduction_119-happyReduction_119 happy_x_1-	 =  case happyOut46 happy_x_1 of { happy_var_1 -> -	happyIn45-		 (happy_var_1-	)}--happyReduce_120 = happySpecReduce_1  42# happyReduction_120-happyReduction_120 happy_x_1-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> -	happyIn46-		 (happy_var_1-	)}--happyReduce_121 = happySpecReduce_2  42# happyReduction_121-happyReduction_121 happy_x_2-	happy_x_1-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> -	case happyOut153 happy_x_2 of { happy_var_2 -> -	happyIn46-		 (HsTyDoc happy_var_1 happy_var_2-	)}}--happyReduce_122 = happySpecReduce_3  43# happyReduction_122-happyReduction_122 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut121 happy_x_1 of { happy_var_1 -> -	case happyOut48 happy_x_3 of { happy_var_3 -> -	happyIn47-		 (HsTyIP happy_var_1 happy_var_3-	)}}--happyReduce_123 = happySpecReduce_1  43# happyReduction_123-happyReduction_123 happy_x_1-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> -	happyIn47-		 (happy_var_1-	)}--happyReduce_124 = happySpecReduce_1  44# happyReduction_124-happyReduction_124 happy_x_1-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> -	happyIn48-		 (happy_var_1-	)}--happyReduce_125 = happySpecReduce_3  44# happyReduction_125-happyReduction_125 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> -	case happyOut48 happy_x_3 of { happy_var_3 -> -	happyIn48-		 (HsTyFun happy_var_1 happy_var_3-	)}}--happyReduce_126 = happySpecReduce_2  45# happyReduction_126-happyReduction_126 happy_x_2-	happy_x_1-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> -	case happyOut50 happy_x_2 of { happy_var_2 -> -	happyIn49-		 (HsTyApp happy_var_1 happy_var_2-	)}}--happyReduce_127 = happySpecReduce_1  45# happyReduction_127-happyReduction_127 happy_x_1-	 =  case happyOut50 happy_x_1 of { happy_var_1 -> -	happyIn49-		 (happy_var_1-	)}--happyReduce_128 = happySpecReduce_1  46# happyReduction_128-happyReduction_128 happy_x_1-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> -	happyIn50-		 (HsTyCon happy_var_1-	)}--happyReduce_129 = happySpecReduce_1  46# happyReduction_129-happyReduction_129 happy_x_1-	 =  case happyOut151 happy_x_1 of { happy_var_1 -> -	happyIn50-		 (HsTyVar happy_var_1-	)}--happyReduce_130 = happySpecReduce_3  46# happyReduction_130-happyReduction_130 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut55 happy_x_2 of { happy_var_2 -> -	happyIn50-		 (HsTyTuple True  happy_var_2-	)}--happyReduce_131 = happySpecReduce_3  46# happyReduction_131-happyReduction_131 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut47 happy_x_2 of { happy_var_2 -> -	happyIn50-		 (HsTyTuple False [happy_var_2]-	)}--happyReduce_132 = happySpecReduce_3  46# happyReduction_132-happyReduction_132 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut55 happy_x_2 of { happy_var_2 -> -	happyIn50-		 (HsTyTuple False happy_var_2-	)}--happyReduce_133 = happySpecReduce_3  46# happyReduction_133-happyReduction_133 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut47 happy_x_2 of { happy_var_2 -> -	happyIn50-		 (HsTyApp list_tycon happy_var_2-	)}--happyReduce_134 = happySpecReduce_3  46# happyReduction_134-happyReduction_134 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut52 happy_x_2 of { happy_var_2 -> -	happyIn50-		 (happy_var_2-	)}--happyReduce_135 = happySpecReduce_1  47# happyReduction_135-happyReduction_135 happy_x_1-	 =  case happyOut150 happy_x_1 of { happy_var_1 -> -	happyIn51-		 (happy_var_1-	)}--happyReduce_136 = happySpecReduce_2  47# happyReduction_136-happyReduction_136 happy_x_2-	happy_x_1-	 =  happyIn51-		 (unit_tycon_qname-	)--happyReduce_137 = happySpecReduce_3  47# happyReduction_137-happyReduction_137 happy_x_3-	happy_x_2-	happy_x_1-	 =  happyIn51-		 (fun_tycon_qname-	)--happyReduce_138 = happySpecReduce_2  47# happyReduction_138-happyReduction_138 happy_x_2-	happy_x_1-	 =  happyIn51-		 (list_tycon_qname-	)--happyReduce_139 = happySpecReduce_3  47# happyReduction_139-happyReduction_139 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut97 happy_x_2 of { happy_var_2 -> -	happyIn51-		 (tuple_tycon_qname happy_var_2-	)}--happyReduce_140 = happyReduce 4# 48# happyReduction_140-happyReduction_140 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut57 happy_x_2 of { happy_var_2 -> -	case happyOut52 happy_x_4 of { happy_var_4 -> -	happyIn52-		 (mkHsForAllType (Just happy_var_2) [] happy_var_4-	) `HappyStk` happyRest}}--happyReduce_141 = happySpecReduce_3  48# happyReduction_141-happyReduction_141 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	happyIn52-		 (mkHsForAllType Nothing happy_var_1 happy_var_3-	)}}--happyReduce_142 = happySpecReduce_1  48# happyReduction_142-happyReduction_142 happy_x_1-	 =  case happyOut47 happy_x_1 of { happy_var_1 -> -	happyIn52-		 (happy_var_1-	)}--happyReduce_143 = happyReduce 4# 49# happyReduction_143-happyReduction_143 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut57 happy_x_2 of { happy_var_2 -> -	case happyOut53 happy_x_4 of { happy_var_4 -> -	happyIn53-		 (mkHsForAllType (Just happy_var_2) [] happy_var_4-	) `HappyStk` happyRest}}--happyReduce_144 = happySpecReduce_3  49# happyReduction_144-happyReduction_144 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> -	case happyOut45 happy_x_3 of { happy_var_3 -> -	happyIn53-		 (mkHsForAllType Nothing happy_var_1 happy_var_3-	)}}--happyReduce_145 = happySpecReduce_1  49# happyReduction_145-happyReduction_145 happy_x_1-	 =  case happyOut45 happy_x_1 of { happy_var_1 -> -	happyIn53-		 (happy_var_1-	)}--happyReduce_146 = happyMonadReduce 1# 50# happyReduction_146-happyReduction_146 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut49 happy_x_1 of { happy_var_1 -> -	( checkContext happy_var_1)}-	) (\r -> happyReturn (happyIn54 r))--happyReduce_147 = happySpecReduce_3  51# happyReduction_147-happyReduction_147 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut47 happy_x_1 of { happy_var_1 -> -	case happyOut55 happy_x_3 of { happy_var_3 -> -	happyIn55-		 (happy_var_1 : happy_var_3-	)}}--happyReduce_148 = happySpecReduce_3  51# happyReduction_148-happyReduction_148 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut47 happy_x_1 of { happy_var_1 -> -	case happyOut47 happy_x_3 of { happy_var_3 -> -	happyIn55-		 ([happy_var_1,happy_var_3]-	)}}--happyReduce_149 = happySpecReduce_2  52# happyReduction_149-happyReduction_149 happy_x_2-	happy_x_1-	 =  case happyOut149 happy_x_1 of { happy_var_1 -> -	case happyOut57 happy_x_2 of { happy_var_2 -> -	happyIn56-		 ((happy_var_1,happy_var_2)-	)}}--happyReduce_150 = happySpecReduce_2  53# happyReduction_150-happyReduction_150 happy_x_2-	happy_x_1-	 =  case happyOut151 happy_x_1 of { happy_var_1 -> -	case happyOut57 happy_x_2 of { happy_var_2 -> -	happyIn57-		 (happy_var_1 : happy_var_2-	)}}--happyReduce_151 = happySpecReduce_0  53# happyReduction_151-happyReduction_151  =  happyIn57-		 ([]-	)--happyReduce_152 = happySpecReduce_0  54# happyReduction_152-happyReduction_152  =  happyIn58-		 ([]-	)--happyReduce_153 = happySpecReduce_3  54# happyReduction_153-happyReduction_153 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut157 happy_x_1 of { happy_var_1 -> -	case happyOut59 happy_x_3 of { happy_var_3 -> -	happyIn58-		 (addConDocs happy_var_3 happy_var_1-	)}}--happyReduce_154 = happyReduce 5# 55# happyReduction_154-happyReduction_154 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut60 happy_x_1 of { happy_var_1 -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	case happyOut156 happy_x_4 of { happy_var_4 -> -	case happyOut59 happy_x_5 of { happy_var_5 -> -	happyIn59-		 (addConDoc happy_var_1 happy_var_4 : addConDocs happy_var_5 happy_var_2-	) `HappyStk` happyRest}}}}--happyReduce_155 = happySpecReduce_1  55# happyReduction_155-happyReduction_155 happy_x_1-	 =  case happyOut60 happy_x_1 of { happy_var_1 -> -	happyIn59-		 ([happy_var_1]-	)}--happyReduce_156 = happyReduce 5# 56# happyReduction_156-happyReduction_156 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut144 happy_x_1 of { happy_var_1 -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	case happyOut61 happy_x_3 of { happy_var_3 -> -	case happyOut62 happy_x_4 of { happy_var_4 -> -	case happyOut156 happy_x_5 of { happy_var_5 -> -	happyIn60-		 (HsConDecl happy_var_1 (fst happy_var_4) happy_var_3 [] (snd happy_var_4) (happy_var_2 `mplus` happy_var_5)-	) `HappyStk` happyRest}}}}}--happyReduce_157 = happyMonadReduce 7# 56# happyReduction_157-happyReduction_157 (happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut144 happy_x_1 of { happy_var_1 -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	case happyOut61 happy_x_3 of { happy_var_3 -> -	case happyOut54 happy_x_4 of { happy_var_4 -> -	case happyOut62 happy_x_6 of { happy_var_6 -> -	case happyOut156 happy_x_7 of { happy_var_7 -> -	( checkIPContext happy_var_4 `thenP` \ ctxt -> returnP (HsConDecl happy_var_1 (fst happy_var_6) happy_var_3 ctxt (snd happy_var_6) (happy_var_2 `mplus` happy_var_7)))}}}}}}-	) (\r -> happyReturn (happyIn60 r))--happyReduce_158 = happyReduce 8# 56# happyReduction_158-happyReduction_158 (happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut144 happy_x_1 of { happy_var_1 -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	case happyOut61 happy_x_3 of { happy_var_3 -> -	case happyOut120 happy_x_4 of { happy_var_4 -> -	case happyOut67 happy_x_6 of { happy_var_6 -> -	case happyOut156 happy_x_8 of { happy_var_8 -> -	happyIn60-		 (HsRecDecl happy_var_1 happy_var_4 happy_var_3 [] happy_var_6 (happy_var_2 `mplus` happy_var_8)-	) `HappyStk` happyRest}}}}}}--happyReduce_159 = happyMonadReduce 10# 56# happyReduction_159-happyReduction_159 (happy_x_10 `HappyStk`-	happy_x_9 `HappyStk`-	happy_x_8 `HappyStk`-	happy_x_7 `HappyStk`-	happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut144 happy_x_1 of { happy_var_1 -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	case happyOut61 happy_x_3 of { happy_var_3 -> -	case happyOut54 happy_x_4 of { happy_var_4 -> -	case happyOut120 happy_x_6 of { happy_var_6 -> -	case happyOut67 happy_x_8 of { happy_var_8 -> -	case happyOut156 happy_x_10 of { happy_var_10 -> -	( checkIPContext happy_var_4 `thenP` \ ctxt -> returnP (HsRecDecl happy_var_1 happy_var_6 happy_var_3 ctxt happy_var_8 (happy_var_2 `mplus` happy_var_10)))}}}}}}}-	) (\r -> happyReturn (happyIn60 r))--happyReduce_160 = happySpecReduce_3  57# happyReduction_160-happyReduction_160 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut57 happy_x_2 of { happy_var_2 -> -	happyIn61-		 (happy_var_2-	)}--happyReduce_161 = happySpecReduce_0  57# happyReduction_161-happyReduction_161  =  happyIn61-		 ([]-	)--happyReduce_162 = happySpecReduce_1  58# happyReduction_162-happyReduction_162 happy_x_1-	 =  case happyOut63 happy_x_1 of { happy_var_1 -> -	happyIn62-		 (happy_var_1-	)}--happyReduce_163 = happySpecReduce_3  58# happyReduction_163-happyReduction_163 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut66 happy_x_1 of { happy_var_1 -> -	case happyOut126 happy_x_2 of { happy_var_2 -> -	case happyOut66 happy_x_3 of { happy_var_3 -> -	happyIn62-		 ((happy_var_2, [happy_var_1,happy_var_3])-	)}}}--happyReduce_164 = happyMonadReduce 1# 59# happyReduction_164-happyReduction_164 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut49 happy_x_1 of { happy_var_1 -> -	( splitTyConApp happy_var_1 `thenP` \(c,ts) ->-					   returnP (toVarHsName c,-						    map HsUnBangedTy ts))}-	) (\r -> happyReturn (happyIn63 r))--happyReduce_165 = happySpecReduce_1  59# happyReduction_165-happyReduction_165 happy_x_1-	 =  case happyOut64 happy_x_1 of { happy_var_1 -> -	happyIn63-		 (happy_var_1-	)}--happyReduce_166 = happyMonadReduce 3# 60# happyReduction_166-happyReduction_166 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut49 happy_x_1 of { happy_var_1 -> -	case happyOut50 happy_x_3 of { happy_var_3 -> -	( splitTyConApp happy_var_1 `thenP` \(c,ts) ->-					   returnP (toVarHsName c,-						     map HsUnBangedTy ts++-						 	[HsBangedTy happy_var_3]))}}-	) (\r -> happyReturn (happyIn64 r))--happyReduce_167 = happySpecReduce_2  60# happyReduction_167-happyReduction_167 happy_x_2-	happy_x_1-	 =  case happyOut64 happy_x_1 of { happy_var_1 -> -	case happyOut65 happy_x_2 of { happy_var_2 -> -	happyIn64-		 ((fst happy_var_1, snd happy_var_1 ++ [happy_var_2] )-	)}}--happyReduce_168 = happySpecReduce_1  61# happyReduction_168-happyReduction_168 happy_x_1-	 =  case happyOut50 happy_x_1 of { happy_var_1 -> -	happyIn65-		 (HsUnBangedTy happy_var_1-	)}--happyReduce_169 = happySpecReduce_2  61# happyReduction_169-happyReduction_169 happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_2 of { happy_var_2 -> -	happyIn65-		 (HsBangedTy   happy_var_2-	)}--happyReduce_170 = happySpecReduce_1  62# happyReduction_170-happyReduction_170 happy_x_1-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> -	happyIn66-		 (HsUnBangedTy happy_var_1-	)}--happyReduce_171 = happySpecReduce_2  62# happyReduction_171-happyReduction_171 happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_2 of { happy_var_2 -> -	happyIn66-		 (HsBangedTy   happy_var_2-	)}--happyReduce_172 = happyReduce 5# 63# happyReduction_172-happyReduction_172 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut68 happy_x_1 of { happy_var_1 -> -	case happyOut157 happy_x_2 of { happy_var_2 -> -	case happyOut156 happy_x_4 of { happy_var_4 -> -	case happyOut67 happy_x_5 of { happy_var_5 -> -	happyIn67-		 (addFieldDoc happy_var_1 happy_var_4 : addFieldDocs happy_var_5 happy_var_2-	) `HappyStk` happyRest}}}}--happyReduce_173 = happySpecReduce_2  63# happyReduction_173-happyReduction_173 happy_x_2-	happy_x_1-	 =  case happyOut67 happy_x_2 of { happy_var_2 -> -	happyIn67-		 (happy_var_2-	)}--happyReduce_174 = happySpecReduce_1  63# happyReduction_174-happyReduction_174 happy_x_1-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> -	happyIn67-		 ([happy_var_1]-	)}--happyReduce_175 = happySpecReduce_0  63# happyReduction_175-happyReduction_175  =  happyIn67-		 ([]-	)--happyReduce_176 = happyReduce 5# 64# happyReduction_176-happyReduction_176 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut157 happy_x_1 of { happy_var_1 -> -	case happyOut40 happy_x_2 of { happy_var_2 -> -	case happyOut69 happy_x_4 of { happy_var_4 -> -	case happyOut156 happy_x_5 of { happy_var_5 -> -	happyIn68-		 (HsFieldDecl (reverse happy_var_2) happy_var_4 (happy_var_1 `mplus` happy_var_5)-	) `HappyStk` happyRest}}}}--happyReduce_177 = happySpecReduce_1  65# happyReduction_177-happyReduction_177 happy_x_1-	 =  case happyOut52 happy_x_1 of { happy_var_1 -> -	happyIn69-		 (HsUnBangedTy happy_var_1-	)}--happyReduce_178 = happySpecReduce_2  65# happyReduction_178-happyReduction_178 happy_x_2-	happy_x_1-	 =  case happyOut50 happy_x_2 of { happy_var_2 -> -	happyIn69-		 (HsBangedTy   happy_var_2-	)}--happyReduce_179 = happySpecReduce_0  66# happyReduction_179-happyReduction_179  =  happyIn70-		 ([]-	)--happyReduce_180 = happySpecReduce_2  66# happyReduction_180-happyReduction_180 happy_x_2-	happy_x_1-	 =  case happyOut150 happy_x_2 of { happy_var_2 -> -	happyIn70-		 ([happy_var_2]-	)}--happyReduce_181 = happySpecReduce_3  66# happyReduction_181-happyReduction_181 happy_x_3-	happy_x_2-	happy_x_1-	 =  happyIn70-		 ([]-	)--happyReduce_182 = happyReduce 4# 66# happyReduction_182-happyReduction_182 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut71 happy_x_3 of { happy_var_3 -> -	happyIn70-		 (reverse happy_var_3-	) `HappyStk` happyRest}--happyReduce_183 = happySpecReduce_3  67# happyReduction_183-happyReduction_183 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut71 happy_x_1 of { happy_var_1 -> -	case happyOut150 happy_x_3 of { happy_var_3 -> -	happyIn71-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_184 = happySpecReduce_1  67# happyReduction_184-happyReduction_184 happy_x_1-	 =  case happyOut150 happy_x_1 of { happy_var_1 -> -	happyIn71-		 ([happy_var_1]-	)}--happyReduce_185 = happySpecReduce_0  68# happyReduction_185-happyReduction_185  =  happyIn72-		 ([]-	)--happyReduce_186 = happySpecReduce_2  68# happyReduction_186-happyReduction_186 happy_x_2-	happy_x_1-	 =  case happyOut73 happy_x_2 of { happy_var_2 -> -	happyIn72-		 (reverse happy_var_2-	)}--happyReduce_187 = happySpecReduce_3  69# happyReduction_187-happyReduction_187 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut73 happy_x_1 of { happy_var_1 -> -	case happyOut74 happy_x_3 of { happy_var_3 -> -	happyIn73-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_188 = happySpecReduce_1  69# happyReduction_188-happyReduction_188 happy_x_1-	 =  case happyOut74 happy_x_1 of { happy_var_1 -> -	happyIn73-		 ([happy_var_1]-	)}--happyReduce_189 = happySpecReduce_3  70# happyReduction_189-happyReduction_189 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut75 happy_x_1 of { happy_var_1 -> -	case happyOut75 happy_x_3 of { happy_var_3 -> -	happyIn74-		 ((reverse happy_var_1, reverse happy_var_3)-	)}}--happyReduce_190 = happySpecReduce_0  71# happyReduction_190-happyReduction_190  =  happyIn75-		 ([]-	)--happyReduce_191 = happySpecReduce_2  71# happyReduction_191-happyReduction_191 happy_x_2-	happy_x_1-	 =  case happyOut75 happy_x_1 of { happy_var_1 -> -	case happyOut151 happy_x_2 of { happy_var_2 -> -	happyIn75-		 (happy_var_2 : happy_var_1-	)}}--happyReduce_192 = happySpecReduce_2  72# happyReduction_192-happyReduction_192 happy_x_2-	happy_x_1-	 =  case happyOut38 happy_x_2 of { happy_var_2 -> -	happyIn76-		 (happy_var_2-	)}--happyReduce_193 = happySpecReduce_0  72# happyReduction_193-happyReduction_193  =  happyIn76-		 ([]-	)--happyReduce_194 = happySpecReduce_3  73# happyReduction_194-happyReduction_194 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_1 of { happy_var_1 -> -	case happyOut78 happy_x_3 of { happy_var_3 -> -	happyIn77-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_195 = happySpecReduce_2  73# happyReduction_195-happyReduction_195 happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_1 of { happy_var_1 -> -	happyIn77-		 (happy_var_1-	)}--happyReduce_196 = happySpecReduce_1  73# happyReduction_196-happyReduction_196 happy_x_1-	 =  case happyOut78 happy_x_1 of { happy_var_1 -> -	happyIn77-		 ([happy_var_1]-	)}--happyReduce_197 = happyMonadReduce 4# 74# happyReduction_197-happyReduction_197 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut121 happy_x_1 of { happy_var_1 -> -	case happyOut144 happy_x_3 of { happy_var_3 -> -	case happyOut87 happy_x_4 of { happy_var_4 -> -	( checkValDef (happy_var_3, HsVar (UnQual happy_var_1), HsUnGuardedRhs happy_var_4, []))}}}-	) (\r -> happyReturn (happyIn78 r))--happyReduce_198 = happySpecReduce_1  75# happyReduction_198-happyReduction_198 happy_x_1-	 =  case happyOut38 happy_x_1 of { happy_var_1 -> -	happyIn79-		 (happy_var_1-	)}--happyReduce_199 = happySpecReduce_3  75# happyReduction_199-happyReduction_199 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	happyIn79-		 (happy_var_2-	)}--happyReduce_200 = happySpecReduce_3  75# happyReduction_200-happyReduction_200 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut77 happy_x_2 of { happy_var_2 -> -	happyIn79-		 (happy_var_2-	)}--happyReduce_201 = happySpecReduce_2  76# happyReduction_201-happyReduction_201 happy_x_2-	happy_x_1-	 =  case happyOut79 happy_x_2 of { happy_var_2 -> -	happyIn80-		 (happy_var_2-	)}--happyReduce_202 = happySpecReduce_0  76# happyReduction_202-happyReduction_202  =  happyIn80-		 ([]-	)--happyReduce_203 = happyReduce 4# 77# happyReduction_203-happyReduction_203 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut82 happy_x_3 of { happy_var_3 -> -	happyIn81-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_204 = happyReduce 4# 77# happyReduction_204-happyReduction_204 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut82 happy_x_3 of { happy_var_3 -> -	happyIn81-		 (happy_var_3-	) `HappyStk` happyRest}--happyReduce_205 = happySpecReduce_0  77# happyReduction_205-happyReduction_205  =  happyIn81-		 ([]-	)--happyReduce_206 = happySpecReduce_3  78# happyReduction_206-happyReduction_206 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut82 happy_x_1 of { happy_var_1 -> -	case happyOut83 happy_x_3 of { happy_var_3 -> -	happyIn82-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_207 = happySpecReduce_2  78# happyReduction_207-happyReduction_207 happy_x_2-	happy_x_1-	 =  case happyOut82 happy_x_1 of { happy_var_1 -> -	happyIn82-		 (happy_var_1-	)}--happyReduce_208 = happySpecReduce_1  78# happyReduction_208-happyReduction_208 happy_x_1-	 =  case happyOut83 happy_x_1 of { happy_var_1 -> -	happyIn82-		 ([happy_var_1]-	)}--happyReduce_209 = happySpecReduce_0  78# happyReduction_209-happyReduction_209  =  happyIn82-		 ([]-	)--happyReduce_210 = happyMonadReduce 3# 79# happyReduction_210-happyReduction_210 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut90 happy_x_1 of { happy_var_1 -> -	case happyOut144 happy_x_2 of { happy_var_2 -> -	case happyOut84 happy_x_3 of { happy_var_3 -> -	( checkValDef (happy_var_2, happy_var_1, happy_var_3, []))}}}-	) (\r -> happyReturn (happyIn83 r))--happyReduce_211 = happyMonadReduce 3# 80# happyReduction_211-happyReduction_211 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut87 happy_x_2 of { happy_var_2 -> -	( checkExpr happy_var_2 `thenP` \e ->-					   returnP (HsUnGuardedRhs e))}-	) (\r -> happyReturn (happyIn84 r))--happyReduce_212 = happySpecReduce_2  80# happyReduction_212-happyReduction_212 happy_x_2-	happy_x_1-	 =  case happyOut85 happy_x_1 of { happy_var_1 -> -	happyIn84-		 (HsGuardedRhss  (reverse happy_var_1)-	)}--happyReduce_213 = happySpecReduce_2  81# happyReduction_213-happyReduction_213 happy_x_2-	happy_x_1-	 =  case happyOut85 happy_x_1 of { happy_var_1 -> -	case happyOut86 happy_x_2 of { happy_var_2 -> -	happyIn85-		 (happy_var_2 : happy_var_1-	)}}--happyReduce_214 = happySpecReduce_1  81# happyReduction_214-happyReduction_214 happy_x_1-	 =  case happyOut86 happy_x_1 of { happy_var_1 -> -	happyIn85-		 ([happy_var_1]-	)}--happyReduce_215 = happyMonadReduce 5# 82# happyReduction_215-happyReduction_215 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut144 happy_x_2 of { happy_var_2 -> -	case happyOut103 happy_x_3 of { happy_var_3 -> -	case happyOut87 happy_x_5 of { happy_var_5 -> -	( checkExpr happy_var_5 `thenP` \e ->-					   returnP (HsGuardedRhs happy_var_2 happy_var_3 e))}}}-	) (\r -> happyReturn (happyIn86 r))--happyReduce_216 = happyReduce 4# 83# happyReduction_216-happyReduction_216 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut90 happy_x_1 of { happy_var_1 -> -	case happyOut144 happy_x_3 of { happy_var_3 -> -	case happyOut52 happy_x_4 of { happy_var_4 -> -	happyIn87-		 (HsExpTypeSig happy_var_3 happy_var_1 happy_var_4-	) `HappyStk` happyRest}}}--happyReduce_217 = happySpecReduce_1  83# happyReduction_217-happyReduction_217 happy_x_1-	 =  case happyOut88 happy_x_1 of { happy_var_1 -> -	happyIn87-		 (happy_var_1-	)}--happyReduce_218 = happySpecReduce_1  84# happyReduction_218-happyReduction_218 happy_x_1-	 =  case happyOut89 happy_x_1 of { happy_var_1 -> -	happyIn88-		 (happy_var_1-	)}--happyReduce_219 = happySpecReduce_1  84# happyReduction_219-happyReduction_219 happy_x_1-	 =  case happyOut90 happy_x_1 of { happy_var_1 -> -	happyIn88-		 (happy_var_1-	)}--happyReduce_220 = happySpecReduce_3  85# happyReduction_220-happyReduction_220 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut90 happy_x_1 of { happy_var_1 -> -	case happyOut129 happy_x_2 of { happy_var_2 -> -	case happyOut91 happy_x_3 of { happy_var_3 -> -	happyIn89-		 (HsInfixApp happy_var_1 happy_var_2 happy_var_3-	)}}}--happyReduce_221 = happySpecReduce_1  85# happyReduction_221-happyReduction_221 happy_x_1-	 =  case happyOut91 happy_x_1 of { happy_var_1 -> -	happyIn89-		 (happy_var_1-	)}--happyReduce_222 = happySpecReduce_3  86# happyReduction_222-happyReduction_222 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut90 happy_x_1 of { happy_var_1 -> -	case happyOut129 happy_x_2 of { happy_var_2 -> -	case happyOut92 happy_x_3 of { happy_var_3 -> -	happyIn90-		 (HsInfixApp happy_var_1 happy_var_2 happy_var_3-	)}}}--happyReduce_223 = happySpecReduce_1  86# happyReduction_223-happyReduction_223 happy_x_1-	 =  case happyOut92 happy_x_1 of { happy_var_1 -> -	happyIn90-		 (happy_var_1-	)}--happyReduce_224 = happyMonadReduce 4# 87# happyReduction_224-happyReduction_224 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut94 happy_x_2 of { happy_var_2 -> -	case happyOut87 happy_x_4 of { happy_var_4 -> -	( checkPatterns (reverse happy_var_2) `thenP` \ps ->-					   returnP (HsLambda ps happy_var_4))}}-	) (\r -> happyReturn (happyIn91 r))--happyReduce_225 = happyReduce 4# 87# happyReduction_225-happyReduction_225 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut79 happy_x_2 of { happy_var_2 -> -	case happyOut87 happy_x_4 of { happy_var_4 -> -	happyIn91-		 (HsLet happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_226 = happyReduce 6# 87# happyReduction_226-happyReduction_226 (happy_x_6 `HappyStk`-	happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut87 happy_x_2 of { happy_var_2 -> -	case happyOut87 happy_x_4 of { happy_var_4 -> -	case happyOut87 happy_x_6 of { happy_var_6 -> -	happyIn91-		 (HsIf happy_var_2 happy_var_4 happy_var_6-	) `HappyStk` happyRest}}}--happyReduce_227 = happyReduce 4# 88# happyReduction_227-happyReduction_227 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut87 happy_x_2 of { happy_var_2 -> -	case happyOut105 happy_x_4 of { happy_var_4 -> -	happyIn92-		 (HsCase happy_var_2 happy_var_4-	) `HappyStk` happyRest}}--happyReduce_228 = happySpecReduce_2  88# happyReduction_228-happyReduction_228 happy_x_2-	happy_x_1-	 =  case happyOut93 happy_x_2 of { happy_var_2 -> -	happyIn92-		 (HsNegApp happy_var_2-	)}--happyReduce_229 = happySpecReduce_2  88# happyReduction_229-happyReduction_229 happy_x_2-	happy_x_1-	 =  case happyOut112 happy_x_2 of { happy_var_2 -> -	happyIn92-		 (HsDo happy_var_2-	)}--happyReduce_230 = happySpecReduce_1  88# happyReduction_230-happyReduction_230 happy_x_1-	 =  case happyOut93 happy_x_1 of { happy_var_1 -> -	happyIn92-		 (happy_var_1-	)}--happyReduce_231 = happySpecReduce_2  89# happyReduction_231-happyReduction_231 happy_x_2-	happy_x_1-	 =  case happyOut93 happy_x_1 of { happy_var_1 -> -	case happyOut95 happy_x_2 of { happy_var_2 -> -	happyIn93-		 (HsApp happy_var_1 happy_var_2-	)}}--happyReduce_232 = happySpecReduce_1  89# happyReduction_232-happyReduction_232 happy_x_1-	 =  case happyOut95 happy_x_1 of { happy_var_1 -> -	happyIn93-		 (happy_var_1-	)}--happyReduce_233 = happySpecReduce_2  90# happyReduction_233-happyReduction_233 happy_x_2-	happy_x_1-	 =  case happyOut94 happy_x_1 of { happy_var_1 -> -	case happyOut95 happy_x_2 of { happy_var_2 -> -	happyIn94-		 (happy_var_2 : happy_var_1-	)}}--happyReduce_234 = happySpecReduce_1  90# happyReduction_234-happyReduction_234 happy_x_1-	 =  case happyOut95 happy_x_1 of { happy_var_1 -> -	happyIn94-		 ([happy_var_1]-	)}--happyReduce_235 = happyMonadReduce 3# 91# happyReduction_235-happyReduction_235 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut95 happy_x_1 of { happy_var_1 -> -	( mkRecConstrOrUpdate happy_var_1 [])}-	) (\r -> happyReturn (happyIn95 r))--happyReduce_236 = happyMonadReduce 4# 91# happyReduction_236-happyReduction_236 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut95 happy_x_1 of { happy_var_1 -> -	case happyOut115 happy_x_3 of { happy_var_3 -> -	( mkRecConstrOrUpdate happy_var_1 (reverse happy_var_3))}}-	) (\r -> happyReturn (happyIn95 r))--happyReduce_237 = happySpecReduce_1  91# happyReduction_237-happyReduction_237 happy_x_1-	 =  case happyOut96 happy_x_1 of { happy_var_1 -> -	happyIn95-		 (happy_var_1-	)}--happyReduce_238 = happySpecReduce_1  92# happyReduction_238-happyReduction_238 happy_x_1-	 =  case happyOut121 happy_x_1 of { happy_var_1 -> -	happyIn96-		 (HsIPVar (UnQual happy_var_1)-	)}--happyReduce_239 = happySpecReduce_1  92# happyReduction_239-happyReduction_239 happy_x_1-	 =  case happyOut119 happy_x_1 of { happy_var_1 -> -	happyIn96-		 (HsVar happy_var_1-	)}--happyReduce_240 = happySpecReduce_1  92# happyReduction_240-happyReduction_240 happy_x_1-	 =  case happyOut117 happy_x_1 of { happy_var_1 -> -	happyIn96-		 (HsCon happy_var_1-	)}--happyReduce_241 = happySpecReduce_1  92# happyReduction_241-happyReduction_241 happy_x_1-	 =  case happyOut143 happy_x_1 of { happy_var_1 -> -	happyIn96-		 (happy_var_1-	)}--happyReduce_242 = happySpecReduce_3  92# happyReduction_242-happyReduction_242 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut87 happy_x_2 of { happy_var_2 -> -	happyIn96-		 (HsParen happy_var_2-	)}--happyReduce_243 = happySpecReduce_3  92# happyReduction_243-happyReduction_243 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut98 happy_x_2 of { happy_var_2 -> -	happyIn96-		 (HsTuple True  happy_var_2-	)}--happyReduce_244 = happySpecReduce_3  92# happyReduction_244-happyReduction_244 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut87 happy_x_2 of { happy_var_2 -> -	happyIn96-		 (HsTuple False [happy_var_2]-	)}--happyReduce_245 = happySpecReduce_3  92# happyReduction_245-happyReduction_245 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut98 happy_x_2 of { happy_var_2 -> -	happyIn96-		 (HsTuple False happy_var_2-	)}--happyReduce_246 = happySpecReduce_3  92# happyReduction_246-happyReduction_246 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut99 happy_x_2 of { happy_var_2 -> -	happyIn96-		 (happy_var_2-	)}--happyReduce_247 = happyReduce 4# 92# happyReduction_247-happyReduction_247 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut90 happy_x_2 of { happy_var_2 -> -	case happyOut129 happy_x_3 of { happy_var_3 -> -	happyIn96-		 (HsLeftSection happy_var_3 happy_var_2-	) `HappyStk` happyRest}}--happyReduce_248 = happyReduce 4# 92# happyReduction_248-happyReduction_248 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut130 happy_x_2 of { happy_var_2 -> -	case happyOut88 happy_x_3 of { happy_var_3 -> -	happyIn96-		 (HsRightSection happy_var_3 happy_var_2-	) `HappyStk` happyRest}}--happyReduce_249 = happyMonadReduce 3# 92# happyReduction_249-happyReduction_249 (happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut119 happy_x_1 of { happy_var_1 -> -	case happyOut95 happy_x_3 of { happy_var_3 -> -	( checkUnQual happy_var_1 `thenP` \n ->-					   returnP (HsAsPat n happy_var_3))}}-	) (\r -> happyReturn (happyIn96 r))--happyReduce_250 = happySpecReduce_1  92# happyReduction_250-happyReduction_250 happy_x_1-	 =  happyIn96-		 (HsWildCard-	)--happyReduce_251 = happySpecReduce_2  92# happyReduction_251-happyReduction_251 happy_x_2-	happy_x_1-	 =  case happyOut96 happy_x_2 of { happy_var_2 -> -	happyIn96-		 (HsIrrPat happy_var_2-	)}--happyReduce_252 = happySpecReduce_2  93# happyReduction_252-happyReduction_252 happy_x_2-	happy_x_1-	 =  case happyOut97 happy_x_1 of { happy_var_1 -> -	happyIn97-		 (happy_var_1 + 1-	)}--happyReduce_253 = happySpecReduce_1  93# happyReduction_253-happyReduction_253 happy_x_1-	 =  happyIn97-		 (1-	)--happyReduce_254 = happySpecReduce_3  94# happyReduction_254-happyReduction_254 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut87 happy_x_1 of { happy_var_1 -> -	case happyOut98 happy_x_3 of { happy_var_3 -> -	happyIn98-		 (happy_var_1 : happy_var_3-	)}}--happyReduce_255 = happySpecReduce_3  94# happyReduction_255-happyReduction_255 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut87 happy_x_1 of { happy_var_1 -> -	case happyOut87 happy_x_3 of { happy_var_3 -> -	happyIn98-		 ([happy_var_1,happy_var_3]-	)}}--happyReduce_256 = happySpecReduce_1  95# happyReduction_256-happyReduction_256 happy_x_1-	 =  case happyOut87 happy_x_1 of { happy_var_1 -> -	happyIn99-		 (HsList [happy_var_1]-	)}--happyReduce_257 = happySpecReduce_1  95# happyReduction_257-happyReduction_257 happy_x_1-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> -	happyIn99-		 (HsList (reverse happy_var_1)-	)}--happyReduce_258 = happySpecReduce_2  95# happyReduction_258-happyReduction_258 happy_x_2-	happy_x_1-	 =  case happyOut87 happy_x_1 of { happy_var_1 -> -	happyIn99-		 (HsEnumFrom happy_var_1-	)}--happyReduce_259 = happyReduce 4# 95# happyReduction_259-happyReduction_259 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut87 happy_x_1 of { happy_var_1 -> -	case happyOut87 happy_x_3 of { happy_var_3 -> -	happyIn99-		 (HsEnumFromThen happy_var_1 happy_var_3-	) `HappyStk` happyRest}}--happyReduce_260 = happySpecReduce_3  95# happyReduction_260-happyReduction_260 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut87 happy_x_1 of { happy_var_1 -> -	case happyOut87 happy_x_3 of { happy_var_3 -> -	happyIn99-		 (HsEnumFromTo happy_var_1 happy_var_3-	)}}--happyReduce_261 = happyReduce 5# 95# happyReduction_261-happyReduction_261 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut87 happy_x_1 of { happy_var_1 -> -	case happyOut87 happy_x_3 of { happy_var_3 -> -	case happyOut87 happy_x_5 of { happy_var_5 -> -	happyIn99-		 (HsEnumFromThenTo happy_var_1 happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_262 = happySpecReduce_2  95# happyReduction_262-happyReduction_262 happy_x_2-	happy_x_1-	 =  case happyOut87 happy_x_1 of { happy_var_1 -> -	case happyOut101 happy_x_2 of { happy_var_2 -> -	happyIn99-		 (HsListComp happy_var_1 (reverse happy_var_2)-	)}}--happyReduce_263 = happySpecReduce_3  96# happyReduction_263-happyReduction_263 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> -	case happyOut87 happy_x_3 of { happy_var_3 -> -	happyIn100-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_264 = happySpecReduce_3  96# happyReduction_264-happyReduction_264 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut87 happy_x_1 of { happy_var_1 -> -	case happyOut87 happy_x_3 of { happy_var_3 -> -	happyIn100-		 ([happy_var_3,happy_var_1]-	)}}--happyReduce_265 = happySpecReduce_1  97# happyReduction_265-happyReduction_265 happy_x_1-	 =  case happyOut102 happy_x_1 of { happy_var_1 -> -	happyIn101-		 (case happy_var_1 of-					    [qs] -> qs-					    qss  -> [HsParStmt (concat qss)]-	)}--happyReduce_266 = happySpecReduce_3  98# happyReduction_266-happyReduction_266 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut102 happy_x_1 of { happy_var_1 -> -	case happyOut103 happy_x_3 of { happy_var_3 -> -	happyIn102-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_267 = happySpecReduce_2  98# happyReduction_267-happyReduction_267 happy_x_2-	happy_x_1-	 =  case happyOut103 happy_x_2 of { happy_var_2 -> -	happyIn102-		 ([happy_var_2]-	)}--happyReduce_268 = happySpecReduce_3  99# happyReduction_268-happyReduction_268 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut103 happy_x_1 of { happy_var_1 -> -	case happyOut104 happy_x_3 of { happy_var_3 -> -	happyIn103-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_269 = happySpecReduce_1  99# happyReduction_269-happyReduction_269 happy_x_1-	 =  case happyOut104 happy_x_1 of { happy_var_1 -> -	happyIn103-		 ([happy_var_1]-	)}--happyReduce_270 = happySpecReduce_3  100# happyReduction_270-happyReduction_270 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut111 happy_x_1 of { happy_var_1 -> -	case happyOut87 happy_x_3 of { happy_var_3 -> -	happyIn104-		 (HsGenerator happy_var_1 happy_var_3-	)}}--happyReduce_271 = happySpecReduce_1  100# happyReduction_271-happyReduction_271 happy_x_1-	 =  case happyOut87 happy_x_1 of { happy_var_1 -> -	happyIn104-		 (HsQualifier happy_var_1-	)}--happyReduce_272 = happySpecReduce_2  100# happyReduction_272-happyReduction_272 happy_x_2-	happy_x_1-	 =  case happyOut79 happy_x_2 of { happy_var_2 -> -	happyIn104-		 (HsLetStmt happy_var_2-	)}--happyReduce_273 = happyReduce 4# 101# happyReduction_273-happyReduction_273 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut106 happy_x_2 of { happy_var_2 -> -	happyIn105-		 (reverse happy_var_2-	) `HappyStk` happyRest}--happyReduce_274 = happyReduce 4# 101# happyReduction_274-happyReduction_274 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut106 happy_x_2 of { happy_var_2 -> -	happyIn105-		 (reverse happy_var_2-	) `HappyStk` happyRest}--happyReduce_275 = happySpecReduce_3  102# happyReduction_275-happyReduction_275 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut106 happy_x_1 of { happy_var_1 -> -	case happyOut107 happy_x_3 of { happy_var_3 -> -	happyIn106-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_276 = happySpecReduce_1  102# happyReduction_276-happyReduction_276 happy_x_1-	 =  case happyOut107 happy_x_1 of { happy_var_1 -> -	happyIn106-		 ([happy_var_1]-	)}--happyReduce_277 = happyReduce 4# 103# happyReduction_277-happyReduction_277 (happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut111 happy_x_1 of { happy_var_1 -> -	case happyOut144 happy_x_2 of { happy_var_2 -> -	case happyOut108 happy_x_3 of { happy_var_3 -> -	case happyOut80 happy_x_4 of { happy_var_4 -> -	happyIn107-		 (HsAlt happy_var_2 happy_var_1 happy_var_3 happy_var_4-	) `HappyStk` happyRest}}}}--happyReduce_278 = happySpecReduce_2  104# happyReduction_278-happyReduction_278 happy_x_2-	happy_x_1-	 =  case happyOut87 happy_x_2 of { happy_var_2 -> -	happyIn108-		 (HsUnGuardedAlt happy_var_2-	)}--happyReduce_279 = happySpecReduce_1  104# happyReduction_279-happyReduction_279 happy_x_1-	 =  case happyOut109 happy_x_1 of { happy_var_1 -> -	happyIn108-		 (HsGuardedAlts (reverse happy_var_1)-	)}--happyReduce_280 = happySpecReduce_2  105# happyReduction_280-happyReduction_280 happy_x_2-	happy_x_1-	 =  case happyOut109 happy_x_1 of { happy_var_1 -> -	case happyOut110 happy_x_2 of { happy_var_2 -> -	happyIn109-		 (happy_var_2 : happy_var_1-	)}}--happyReduce_281 = happySpecReduce_1  105# happyReduction_281-happyReduction_281 happy_x_1-	 =  case happyOut110 happy_x_1 of { happy_var_1 -> -	happyIn109-		 ([happy_var_1]-	)}--happyReduce_282 = happyReduce 5# 106# happyReduction_282-happyReduction_282 (happy_x_5 `HappyStk`-	happy_x_4 `HappyStk`-	happy_x_3 `HappyStk`-	happy_x_2 `HappyStk`-	happy_x_1 `HappyStk`-	happyRest)-	 = case happyOut144 happy_x_2 of { happy_var_2 -> -	case happyOut103 happy_x_3 of { happy_var_3 -> -	case happyOut87 happy_x_5 of { happy_var_5 -> -	happyIn110-		 (HsGuardedAlt happy_var_2 happy_var_3 happy_var_5-	) `HappyStk` happyRest}}}--happyReduce_283 = happyMonadReduce 1# 107# happyReduction_283-happyReduction_283 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOut90 happy_x_1 of { happy_var_1 -> -	( checkPattern happy_var_1)}-	) (\r -> happyReturn (happyIn111 r))--happyReduce_284 = happySpecReduce_3  108# happyReduction_284-happyReduction_284 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut113 happy_x_2 of { happy_var_2 -> -	happyIn112-		 (happy_var_2-	)}--happyReduce_285 = happySpecReduce_3  108# happyReduction_285-happyReduction_285 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut113 happy_x_2 of { happy_var_2 -> -	happyIn112-		 (happy_var_2-	)}--happyReduce_286 = happySpecReduce_2  109# happyReduction_286-happyReduction_286 happy_x_2-	happy_x_1-	 =  case happyOut104 happy_x_1 of { happy_var_1 -> -	case happyOut114 happy_x_2 of { happy_var_2 -> -	happyIn113-		 (happy_var_1 : happy_var_2-	)}}--happyReduce_287 = happySpecReduce_2  109# happyReduction_287-happyReduction_287 happy_x_2-	happy_x_1-	 =  case happyOut113 happy_x_2 of { happy_var_2 -> -	happyIn113-		 (happy_var_2-	)}--happyReduce_288 = happySpecReduce_0  109# happyReduction_288-happyReduction_288  =  happyIn113-		 ([]-	)--happyReduce_289 = happySpecReduce_2  110# happyReduction_289-happyReduction_289 happy_x_2-	happy_x_1-	 =  case happyOut113 happy_x_2 of { happy_var_2 -> -	happyIn114-		 (happy_var_2-	)}--happyReduce_290 = happySpecReduce_0  110# happyReduction_290-happyReduction_290  =  happyIn114-		 ([]-	)--happyReduce_291 = happySpecReduce_3  111# happyReduction_291-happyReduction_291 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut115 happy_x_1 of { happy_var_1 -> -	case happyOut116 happy_x_3 of { happy_var_3 -> -	happyIn115-		 (happy_var_3 : happy_var_1-	)}}--happyReduce_292 = happySpecReduce_1  111# happyReduction_292-happyReduction_292 happy_x_1-	 =  case happyOut116 happy_x_1 of { happy_var_1 -> -	happyIn115-		 ([happy_var_1]-	)}--happyReduce_293 = happySpecReduce_3  112# happyReduction_293-happyReduction_293 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut119 happy_x_1 of { happy_var_1 -> -	case happyOut87 happy_x_3 of { happy_var_3 -> -	happyIn116-		 (HsFieldUpdate happy_var_1 happy_var_3-	)}}--happyReduce_294 = happySpecReduce_2  113# happyReduction_294-happyReduction_294 happy_x_2-	happy_x_1-	 =  happyIn117-		 (unit_con_name-	)--happyReduce_295 = happySpecReduce_2  113# happyReduction_295-happyReduction_295 happy_x_2-	happy_x_1-	 =  happyIn117-		 (nil_con_name-	)--happyReduce_296 = happySpecReduce_3  113# happyReduction_296-happyReduction_296 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut97 happy_x_2 of { happy_var_2 -> -	happyIn117-		 (tuple_con_name happy_var_2-	)}--happyReduce_297 = happySpecReduce_1  113# happyReduction_297-happyReduction_297 happy_x_1-	 =  case happyOut122 happy_x_1 of { happy_var_1 -> -	happyIn117-		 (happy_var_1-	)}--happyReduce_298 = happySpecReduce_1  114# happyReduction_298-happyReduction_298 happy_x_1-	 =  case happyOut132 happy_x_1 of { happy_var_1 -> -	happyIn118-		 (happy_var_1-	)}--happyReduce_299 = happySpecReduce_3  114# happyReduction_299-happyReduction_299 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut140 happy_x_2 of { happy_var_2 -> -	happyIn118-		 (happy_var_2-	)}--happyReduce_300 = happySpecReduce_1  115# happyReduction_300-happyReduction_300 happy_x_1-	 =  case happyOut131 happy_x_1 of { happy_var_1 -> -	happyIn119-		 (happy_var_1-	)}--happyReduce_301 = happySpecReduce_3  115# happyReduction_301-happyReduction_301 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut138 happy_x_2 of { happy_var_2 -> -	happyIn119-		 (happy_var_2-	)}--happyReduce_302 = happySpecReduce_1  116# happyReduction_302-happyReduction_302 happy_x_1-	 =  case happyOut135 happy_x_1 of { happy_var_1 -> -	happyIn120-		 (happy_var_1-	)}--happyReduce_303 = happySpecReduce_3  116# happyReduction_303-happyReduction_303 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut137 happy_x_2 of { happy_var_2 -> -	happyIn120-		 (happy_var_2-	)}--happyReduce_304 = happySpecReduce_1  117# happyReduction_304-happyReduction_304 happy_x_1-	 =  case happyOutTok happy_x_1 of { (IPVarId happy_var_1) -> -	happyIn121-		 (HsVarName (HsIdent happy_var_1)-	)}--happyReduce_305 = happySpecReduce_1  118# happyReduction_305-happyReduction_305 happy_x_1-	 =  case happyOut134 happy_x_1 of { happy_var_1 -> -	happyIn122-		 (happy_var_1-	)}--happyReduce_306 = happySpecReduce_3  118# happyReduction_306-happyReduction_306 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut136 happy_x_2 of { happy_var_2 -> -	happyIn122-		 (happy_var_2-	)}--happyReduce_307 = happySpecReduce_1  119# happyReduction_307-happyReduction_307 happy_x_1-	 =  case happyOut140 happy_x_1 of { happy_var_1 -> -	happyIn123-		 (happy_var_1-	)}--happyReduce_308 = happySpecReduce_3  119# happyReduction_308-happyReduction_308 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut132 happy_x_2 of { happy_var_2 -> -	happyIn123-		 (happy_var_2-	)}--happyReduce_309 = happySpecReduce_1  120# happyReduction_309-happyReduction_309 happy_x_1-	 =  case happyOut138 happy_x_1 of { happy_var_1 -> -	happyIn124-		 (happy_var_1-	)}--happyReduce_310 = happySpecReduce_3  120# happyReduction_310-happyReduction_310 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut131 happy_x_2 of { happy_var_2 -> -	happyIn124-		 (happy_var_2-	)}--happyReduce_311 = happySpecReduce_1  121# happyReduction_311-happyReduction_311 happy_x_1-	 =  case happyOut139 happy_x_1 of { happy_var_1 -> -	happyIn125-		 (happy_var_1-	)}--happyReduce_312 = happySpecReduce_3  121# happyReduction_312-happyReduction_312 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut131 happy_x_2 of { happy_var_2 -> -	happyIn125-		 (happy_var_2-	)}--happyReduce_313 = happySpecReduce_1  122# happyReduction_313-happyReduction_313 happy_x_1-	 =  case happyOut137 happy_x_1 of { happy_var_1 -> -	happyIn126-		 (happy_var_1-	)}--happyReduce_314 = happySpecReduce_3  122# happyReduction_314-happyReduction_314 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut135 happy_x_2 of { happy_var_2 -> -	happyIn126-		 (happy_var_2-	)}--happyReduce_315 = happySpecReduce_1  123# happyReduction_315-happyReduction_315 happy_x_1-	 =  case happyOut136 happy_x_1 of { happy_var_1 -> -	happyIn127-		 (happy_var_1-	)}--happyReduce_316 = happySpecReduce_3  123# happyReduction_316-happyReduction_316 happy_x_3-	happy_x_2-	happy_x_1-	 =  case happyOut134 happy_x_2 of { happy_var_2 -> -	happyIn127-		 (happy_var_2-	)}--happyReduce_317 = happySpecReduce_1  124# happyReduction_317-happyReduction_317 happy_x_1-	 =  case happyOut123 happy_x_1 of { happy_var_1 -> -	happyIn128-		 (happy_var_1-	)}--happyReduce_318 = happySpecReduce_1  124# happyReduction_318-happyReduction_318 happy_x_1-	 =  case happyOut126 happy_x_1 of { happy_var_1 -> -	happyIn128-		 (happy_var_1-	)}--happyReduce_319 = happySpecReduce_1  125# happyReduction_319-happyReduction_319 happy_x_1-	 =  case happyOut124 happy_x_1 of { happy_var_1 -> -	happyIn129-		 (HsVar happy_var_1-	)}--happyReduce_320 = happySpecReduce_1  125# happyReduction_320-happyReduction_320 happy_x_1-	 =  case happyOut127 happy_x_1 of { happy_var_1 -> -	happyIn129-		 (HsCon happy_var_1-	)}--happyReduce_321 = happySpecReduce_1  126# happyReduction_321-happyReduction_321 happy_x_1-	 =  case happyOut125 happy_x_1 of { happy_var_1 -> -	happyIn130-		 (HsVar happy_var_1-	)}--happyReduce_322 = happySpecReduce_1  126# happyReduction_322-happyReduction_322 happy_x_1-	 =  case happyOut127 happy_x_1 of { happy_var_1 -> -	happyIn130-		 (HsCon happy_var_1-	)}--happyReduce_323 = happySpecReduce_1  127# happyReduction_323-happyReduction_323 happy_x_1-	 =  case happyOut132 happy_x_1 of { happy_var_1 -> -	happyIn131-		 (UnQual happy_var_1-	)}--happyReduce_324 = happySpecReduce_1  127# happyReduction_324-happyReduction_324 happy_x_1-	 =  case happyOutTok happy_x_1 of { (QVarId happy_var_1) -> -	happyIn131-		 (Qual (Module (fst happy_var_1)) (HsVarName (HsIdent (snd happy_var_1)))-	)}--happyReduce_325 = happySpecReduce_1  128# happyReduction_325-happyReduction_325 happy_x_1-	 =  happyIn132-		 (forall_name-	)--happyReduce_326 = happySpecReduce_1  128# happyReduction_326-happyReduction_326 happy_x_1-	 =  case happyOut133 happy_x_1 of { happy_var_1 -> -	happyIn132-		 (happy_var_1-	)}--happyReduce_327 = happySpecReduce_1  129# happyReduction_327-happyReduction_327 happy_x_1-	 =  case happyOutTok happy_x_1 of { (VarId happy_var_1) -> -	happyIn133-		 (HsVarName (HsIdent happy_var_1)-	)}--happyReduce_328 = happySpecReduce_1  129# happyReduction_328-happyReduction_328 happy_x_1-	 =  happyIn133-		 (as_name-	)--happyReduce_329 = happySpecReduce_1  129# happyReduction_329-happyReduction_329 happy_x_1-	 =  happyIn133-		 (unsafe_name-	)--happyReduce_330 = happySpecReduce_1  129# happyReduction_330-happyReduction_330 happy_x_1-	 =  happyIn133-		 (safe_name-	)--happyReduce_331 = happySpecReduce_1  129# happyReduction_331-happyReduction_331 happy_x_1-	 =  happyIn133-		 (threadsafe_name-	)--happyReduce_332 = happySpecReduce_1  129# happyReduction_332-happyReduction_332 happy_x_1-	 =  happyIn133-		 (qualified_name-	)--happyReduce_333 = happySpecReduce_1  129# happyReduction_333-happyReduction_333 happy_x_1-	 =  happyIn133-		 (hiding_name-	)--happyReduce_334 = happySpecReduce_1  129# happyReduction_334-happyReduction_334 happy_x_1-	 =  happyIn133-		 (export_name-	)--happyReduce_335 = happySpecReduce_1  129# happyReduction_335-happyReduction_335 happy_x_1-	 =  happyIn133-		 (stdcall_name-	)--happyReduce_336 = happySpecReduce_1  129# happyReduction_336-happyReduction_336 happy_x_1-	 =  happyIn133-		 (ccall_name-	)--happyReduce_337 = happySpecReduce_1  129# happyReduction_337-happyReduction_337 happy_x_1-	 =  happyIn133-		 (dotnet_name-	)--happyReduce_338 = happySpecReduce_1  130# happyReduction_338-happyReduction_338 happy_x_1-	 =  case happyOut135 happy_x_1 of { happy_var_1 -> -	happyIn134-		 (UnQual happy_var_1-	)}--happyReduce_339 = happySpecReduce_1  130# happyReduction_339-happyReduction_339 happy_x_1-	 =  case happyOutTok happy_x_1 of { (QConId happy_var_1) -> -	happyIn134-		 (Qual (Module (fst happy_var_1)) (HsVarName (HsIdent (snd happy_var_1)))-	)}--happyReduce_340 = happySpecReduce_1  131# happyReduction_340-happyReduction_340 happy_x_1-	 =  case happyOutTok happy_x_1 of { (ConId happy_var_1) -> -	happyIn135-		 (HsVarName (HsIdent happy_var_1)-	)}--happyReduce_341 = happySpecReduce_1  132# happyReduction_341-happyReduction_341 happy_x_1-	 =  case happyOut137 happy_x_1 of { happy_var_1 -> -	happyIn136-		 (UnQual happy_var_1-	)}--happyReduce_342 = happySpecReduce_1  132# happyReduction_342-happyReduction_342 happy_x_1-	 =  case happyOutTok happy_x_1 of { (QConSym happy_var_1) -> -	happyIn136-		 (Qual (Module (fst happy_var_1)) (HsVarName (HsSymbol (snd happy_var_1)))-	)}--happyReduce_343 = happySpecReduce_1  133# happyReduction_343-happyReduction_343 happy_x_1-	 =  case happyOutTok happy_x_1 of { (ConSym happy_var_1) -> -	happyIn137-		 (HsVarName (HsSymbol happy_var_1)-	)}--happyReduce_344 = happySpecReduce_1  134# happyReduction_344-happyReduction_344 happy_x_1-	 =  case happyOut140 happy_x_1 of { happy_var_1 -> -	happyIn138-		 (UnQual happy_var_1-	)}--happyReduce_345 = happySpecReduce_1  134# happyReduction_345-happyReduction_345 happy_x_1-	 =  case happyOut142 happy_x_1 of { happy_var_1 -> -	happyIn138-		 (happy_var_1-	)}--happyReduce_346 = happySpecReduce_1  135# happyReduction_346-happyReduction_346 happy_x_1-	 =  case happyOut141 happy_x_1 of { happy_var_1 -> -	happyIn139-		 (UnQual happy_var_1-	)}--happyReduce_347 = happySpecReduce_1  135# happyReduction_347-happyReduction_347 happy_x_1-	 =  case happyOut142 happy_x_1 of { happy_var_1 -> -	happyIn139-		 (happy_var_1-	)}--happyReduce_348 = happySpecReduce_1  136# happyReduction_348-happyReduction_348 happy_x_1-	 =  case happyOutTok happy_x_1 of { (VarSym happy_var_1) -> -	happyIn140-		 (HsVarName (HsSymbol happy_var_1)-	)}--happyReduce_349 = happySpecReduce_1  136# happyReduction_349-happyReduction_349 happy_x_1-	 =  happyIn140-		 (dot_name-	)--happyReduce_350 = happySpecReduce_1  136# happyReduction_350-happyReduction_350 happy_x_1-	 =  happyIn140-		 (minus_name-	)--happyReduce_351 = happySpecReduce_1  136# happyReduction_351-happyReduction_351 happy_x_1-	 =  happyIn140-		 (pling_name-	)--happyReduce_352 = happySpecReduce_1  137# happyReduction_352-happyReduction_352 happy_x_1-	 =  case happyOutTok happy_x_1 of { (VarSym happy_var_1) -> -	happyIn141-		 (HsVarName (HsSymbol happy_var_1)-	)}--happyReduce_353 = happySpecReduce_1  137# happyReduction_353-happyReduction_353 happy_x_1-	 =  happyIn141-		 (dot_name-	)--happyReduce_354 = happySpecReduce_1  137# happyReduction_354-happyReduction_354 happy_x_1-	 =  happyIn141-		 (pling_name-	)--happyReduce_355 = happySpecReduce_1  138# happyReduction_355-happyReduction_355 happy_x_1-	 =  case happyOutTok happy_x_1 of { (QVarSym happy_var_1) -> -	happyIn142-		 (Qual (Module (fst happy_var_1)) (HsVarName (HsSymbol (snd happy_var_1)))-	)}--happyReduce_356 = happySpecReduce_1  139# happyReduction_356-happyReduction_356 happy_x_1-	 =  case happyOutTok happy_x_1 of { (IntTok happy_var_1) -> -	happyIn143-		 (HsLit (HsInt happy_var_1)-	)}--happyReduce_357 = happySpecReduce_1  139# happyReduction_357-happyReduction_357 happy_x_1-	 =  case happyOutTok happy_x_1 of { (Character happy_var_1) -> -	happyIn143-		 (HsLit (HsChar happy_var_1)-	)}--happyReduce_358 = happySpecReduce_1  139# happyReduction_358-happyReduction_358 happy_x_1-	 =  case happyOutTok happy_x_1 of { (FloatTok happy_var_1) -> -	happyIn143-		 (HsLit (HsFrac (readRational happy_var_1))-	)}--happyReduce_359 = happySpecReduce_1  139# happyReduction_359-happyReduction_359 happy_x_1-	 =  case happyOutTok happy_x_1 of { (StringTok happy_var_1) -> -	happyIn143-		 (HsLit (HsString happy_var_1)-	)}--happyReduce_360 = happySpecReduce_1  139# happyReduction_360-happyReduction_360 happy_x_1-	 =  case happyOutTok happy_x_1 of { (PrimInt happy_var_1) -> -	happyIn143-		 (HsLit (HsIntPrim happy_var_1)-	)}--happyReduce_361 = happySpecReduce_1  139# happyReduction_361-happyReduction_361 happy_x_1-	 =  case happyOutTok happy_x_1 of { (PrimChar happy_var_1) -> -	happyIn143-		 (HsLit (HsCharPrim happy_var_1)-	)}--happyReduce_362 = happySpecReduce_1  139# happyReduction_362-happyReduction_362 happy_x_1-	 =  case happyOutTok happy_x_1 of { (PrimFloat happy_var_1) -> -	happyIn143-		 (HsLit (HsFloatPrim (readRational happy_var_1))-	)}--happyReduce_363 = happySpecReduce_1  139# happyReduction_363-happyReduction_363 happy_x_1-	 =  case happyOutTok happy_x_1 of { (PrimDouble happy_var_1) -> -	happyIn143-		 (HsLit (HsDoublePrim (readRational happy_var_1))-	)}--happyReduce_364 = happySpecReduce_1  139# happyReduction_364-happyReduction_364 happy_x_1-	 =  case happyOutTok happy_x_1 of { (PrimString happy_var_1) -> -	happyIn143-		 (HsLit (HsStringPrim happy_var_1)-	)}--happyReduce_365 = happyMonadReduce 0# 140# happyReduction_365-happyReduction_365 (happyRest) tk-	 = happyThen (( getSrcLoc)-	) (\r -> happyReturn (happyIn144 r))--happyReduce_366 = happySpecReduce_1  141# happyReduction_366-happyReduction_366 happy_x_1-	 =  happyIn145-		 (()-	)--happyReduce_367 = happyMonadReduce 1# 141# happyReduction_367-happyReduction_367 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (( popContext)-	) (\r -> happyReturn (happyIn145 r))--happyReduce_368 = happyMonadReduce 0# 142# happyReduction_368-happyReduction_368 (happyRest) tk-	 = happyThen (( getSrcLoc `thenP` \(SrcLoc r c f) ->-				   pushContext (Layout c))-	) (\r -> happyReturn (happyIn146 r))--happyReduce_369 = happySpecReduce_1  143# happyReduction_369-happyReduction_369 happy_x_1-	 =  case happyOutTok happy_x_1 of { (ConId happy_var_1) -> -	happyIn147-		 (Module happy_var_1-	)}--happyReduce_370 = happySpecReduce_1  143# happyReduction_370-happyReduction_370 happy_x_1-	 =  case happyOutTok happy_x_1 of { (QConId happy_var_1) -> -	happyIn147-		 (Module (fst happy_var_1 ++ '.':snd happy_var_1)-	)}--happyReduce_371 = happySpecReduce_1  144# happyReduction_371-happyReduction_371 happy_x_1-	 =  case happyOutTok happy_x_1 of { (ConId happy_var_1) -> -	happyIn148-		 (HsTyClsName (HsIdent happy_var_1)-	)}--happyReduce_372 = happySpecReduce_1  145# happyReduction_372-happyReduction_372 happy_x_1-	 =  case happyOutTok happy_x_1 of { (ConId happy_var_1) -> -	happyIn149-		 (HsTyClsName (HsIdent happy_var_1)-	)}--happyReduce_373 = happySpecReduce_1  146# happyReduction_373-happyReduction_373 happy_x_1-	 =  case happyOutTok happy_x_1 of { (ConId happy_var_1) -> -	happyIn150-		 (UnQual (HsTyClsName (HsIdent happy_var_1))-	)}--happyReduce_374 = happySpecReduce_1  146# happyReduction_374-happyReduction_374 happy_x_1-	 =  case happyOutTok happy_x_1 of { (QConId happy_var_1) -> -	happyIn150-		 (Qual (Module (fst happy_var_1)) (HsTyClsName (HsIdent (snd happy_var_1)))-	)}--happyReduce_375 = happySpecReduce_1  147# happyReduction_375-happyReduction_375 happy_x_1-	 =  case happyOut133 happy_x_1 of { happy_var_1 -> -	happyIn151-		 (happy_var_1-	)}--happyReduce_376 = happyMonadReduce 1# 148# happyReduction_376-happyReduction_376 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (DocCommentNext happy_var_1) -> -	( case parseParas (tokenise happy_var_1) of {-				Left  err -> parseError err;-				Right doc -> returnP doc })}-	) (\r -> happyReturn (happyIn152 r))--happyReduce_377 = happyMonadReduce 1# 149# happyReduction_377-happyReduction_377 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (DocCommentPrev happy_var_1) -> -	( case parseParas (tokenise happy_var_1) of {-				Left  err -> parseError err;-				Right doc -> returnP doc })}-	) (\r -> happyReturn (happyIn153 r))--happyReduce_378 = happyMonadReduce 1# 150# happyReduction_378-happyReduction_378 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (DocCommentNamed happy_var_1) -> -	( let (name,rest) = break isSpace happy_var_1 in-			   case parseParas (tokenise rest) of {-				Left  err -> parseError err;-				Right doc -> returnP (name,doc) })}-	) (\r -> happyReturn (happyIn154 r))--happyReduce_379 = happyMonadReduce 1# 151# happyReduction_379-happyReduction_379 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { happy_var_1 -> -	( case happy_var_1 of { DocSection n s -> -			   case parseString (tokenise s) of {-				Left err -> parseError err;-				Right doc -> returnP (n, doc) } })}-	) (\r -> happyReturn (happyIn155 r))--happyReduce_380 = happySpecReduce_1  152# happyReduction_380-happyReduction_380 happy_x_1-	 =  case happyOut153 happy_x_1 of { happy_var_1 -> -	happyIn156-		 (Just happy_var_1-	)}--happyReduce_381 = happySpecReduce_0  152# happyReduction_381-happyReduction_381  =  happyIn156-		 (Nothing-	)--happyReduce_382 = happySpecReduce_1  153# happyReduction_382-happyReduction_382 happy_x_1-	 =  case happyOut152 happy_x_1 of { happy_var_1 -> -	happyIn157-		 (Just happy_var_1-	)}--happyReduce_383 = happySpecReduce_0  153# happyReduction_383-happyReduction_383  =  happyIn157-		 (Nothing-	)--happyReduce_384 = happyMonadReduce 1# 154# happyReduction_384-happyReduction_384 (happy_x_1 `HappyStk`-	happyRest) tk-	 = happyThen (case happyOutTok happy_x_1 of { (DocCommentNext happy_var_1) -> -	( case parseModuleHeader happy_var_1 of {-                         Right (str,info) -> -                            case parseParas (tokenise str) of {-                               Left err -> parseError err;-                               Right doc -> returnP (info,Just doc);-                               };-                         Left err -> parseError err-                         })}-	) (\r -> happyReturn (happyIn158 r))--happyNewToken action sts stk-	= lexer(\tk -> -	let cont i = happyDoAction i tk action sts stk in-	case tk of {-	EOF -> happyDoAction 83# tk action sts stk;-	VarId happy_dollar_dollar -> cont 1#;-	IPVarId happy_dollar_dollar -> cont 2#;-	QVarId happy_dollar_dollar -> cont 3#;-	ConId happy_dollar_dollar -> cont 4#;-	QConId happy_dollar_dollar -> cont 5#;-	VarSym happy_dollar_dollar -> cont 6#;-	ConSym happy_dollar_dollar -> cont 7#;-	QVarSym happy_dollar_dollar -> cont 8#;-	QConSym happy_dollar_dollar -> cont 9#;-	IntTok happy_dollar_dollar -> cont 10#;-	FloatTok happy_dollar_dollar -> cont 11#;-	Character happy_dollar_dollar -> cont 12#;-	StringTok happy_dollar_dollar -> cont 13#;-	PrimInt happy_dollar_dollar -> cont 14#;-	PrimString happy_dollar_dollar -> cont 15#;-	PrimFloat happy_dollar_dollar -> cont 16#;-	PrimDouble happy_dollar_dollar -> cont 17#;-	PrimChar happy_dollar_dollar -> cont 18#;-	DocCommentNext happy_dollar_dollar -> cont 19#;-	DocCommentPrev happy_dollar_dollar -> cont 20#;-	DocCommentNamed happy_dollar_dollar -> cont 21#;-	DocSection _ _ -> cont 22#;-	DocOptions happy_dollar_dollar -> cont 23#;-	LeftParen -> cont 24#;-	RightParen -> cont 25#;-	LeftUT -> cont 26#;-	RightUT -> cont 27#;-	SemiColon -> cont 28#;-	LeftCurly -> cont 29#;-	RightCurly -> cont 30#;-	VRightCurly -> cont 31#;-	LeftSquare -> cont 32#;-	RightSquare -> cont 33#;-	Comma -> cont 34#;-	Underscore -> cont 35#;-	BackQuote -> cont 36#;-	Dot -> cont 37#;-	DotDot -> cont 38#;-	DoubleColon -> cont 39#;-	Equals -> cont 40#;-	Backslash -> cont 41#;-	Bar -> cont 42#;-	LeftArrow -> cont 43#;-	RightArrow -> cont 44#;-	At -> cont 45#;-	Tilde -> cont 46#;-	DoubleArrow -> cont 47#;-	Minus -> cont 48#;-	Exclamation -> cont 49#;-	KW_As -> cont 50#;-	KW_Case -> cont 51#;-	KW_CCall -> cont 52#;-	KW_Class -> cont 53#;-	KW_Data -> cont 54#;-	KW_Default -> cont 55#;-	KW_Deriving -> cont 56#;-	KW_Do -> cont 57#;-	KW_DotNet -> cont 58#;-	KW_Else -> cont 59#;-	KW_Export -> cont 60#;-	KW_Forall -> cont 61#;-	KW_Foreign -> cont 62#;-	KW_Hiding -> cont 63#;-	KW_If -> cont 64#;-	KW_Import -> cont 65#;-	KW_In -> cont 66#;-	KW_Infix -> cont 67#;-	KW_InfixL -> cont 68#;-	KW_InfixR -> cont 69#;-	KW_Instance -> cont 70#;-	KW_Let -> cont 71#;-	KW_Module -> cont 72#;-	KW_NewType -> cont 73#;-	KW_Of -> cont 74#;-	KW_Safe -> cont 75#;-	KW_StdCall -> cont 76#;-	KW_Then -> cont 77#;-	KW_ThreadSafe -> cont 78#;-	KW_Type -> cont 79#;-	KW_Unsafe -> cont 80#;-	KW_Where -> cont 81#;-	KW_Qualified -> cont 82#;-	_ -> happyError' tk-	})--happyError_ tk = happyError' tk--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (thenP)-happyReturn :: () => a -> P a-happyReturn = (returnP)-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => Token -> P a-happyError' tk = (\token -> happyError) tk--parse = happySomeParser where-  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut4 x))--happySeq = happyDontSeq--happyError = parseError "Parse error"-{-# LINE 1 "GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command line>" #-}-{-# LINE 1 "GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp --{-# LINE 28 "GenericTemplate.hs" #-}---data Happy_IntList = HappyCons Int# Happy_IntList------{-# LINE 49 "GenericTemplate.hs" #-}--{-# LINE 59 "GenericTemplate.hs" #-}--{-# LINE 68 "GenericTemplate.hs" #-}--infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser).  We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =-	happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) = -	(happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st-	= {- nothing -}---	  case action of-		0#		  -> {- nothing -}-				     happyFail i tk st-		-1# 	  -> {- nothing -}-				     happyAccept i tk st-		n | (n <# (0# :: Int#)) -> {- nothing -}--				     (happyReduceArr ! rule) i tk st-				     where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))-		n		  -> {- nothing -}---				     happyShift new_state i tk st-				     where new_state = (n -# (1# :: Int#))-   where off    = indexShortOffAddr happyActOffsets st-	 off_i  = (off +# i)-	 check  = if (off_i >=# (0# :: Int#))-			then (indexShortOffAddr happyCheck off_i ==#  i)-			else False- 	 action | check     = indexShortOffAddr happyTable off_i-		| otherwise = indexShortOffAddr happyDefActions st--{-# LINE 127 "GenericTemplate.hs" #-}---indexShortOffAddr (HappyA# arr) off =-#if __GLASGOW_HASKELL__ > 500-	narrow16Int# i-#elif __GLASGOW_HASKELL__ == 500-	intToInt16# i-#else-	(i `iShiftL#` 16#) `iShiftRA#` 16#-#endif-  where-#if __GLASGOW_HASKELL__ >= 503-	i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)-#else-	i = word2Int# ((high `shiftL#` 8#) `or#` low)-#endif-	high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))-	low  = int2Word# (ord# (indexCharOffAddr# arr off'))-	off' = off *# 2#------data HappyAddr = HappyA# Addr#------------------------------------------------------------------------------------- HappyState data type (not arrays)--{-# LINE 170 "GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =-     let i = (case unsafeCoerce# x of { (I# (i)) -> i }) in---     trace "shifting the error token" $-     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =-     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk-     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')-     = let r = fn v1 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')-     = let r = fn v1 v2 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')-     = let r = fn v1 v2 v3 in-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyReduce k nt fn j tk st sts stk-     = case happyDrop (k -# (1# :: Int#)) sts of-	 sts1@((HappyCons (st1@(action)) (_))) ->-        	let r = fn stk in  -- it doesn't hurt to always seq here...-       		happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =-        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))-             drop_stk = happyDropStk k stk--happyMonad2Reduce k nt fn 0# tk st sts stk-     = happyFail 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =-       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))-             drop_stk = happyDropStk k stk--             off    = indexShortOffAddr happyGotoOffsets st1-             off_i  = (off +# nt)-             new_state = indexShortOffAddr happyTable off_i-----happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st = -   {- nothing -}-   happyDoAction j tk new_state-   where off    = indexShortOffAddr happyGotoOffsets st-	 off_i  = (off +# nt)- 	 new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail  0# tk old_st _ stk =---	trace "failing" $ -    	happyError_ tk--{-  We don't need state discarding for our restricted implementation of-    "error".  In fact, it can cause some bogus parses, so I've disabled it-    for now --SDM---- discard a state-happyFail  0# tk old_st (HappyCons ((action)) (sts)) -						(saved_tok `HappyStk` _ `HappyStk` stk) =---	trace ("discarding state, depth " ++ show (length stk))  $-	happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,---                       save the old token and carry on.-happyFail  i tk (action) sts stk =---      trace "entering error recovery" $-	happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing.  If the --strict flag is given, then Happy emits ---	happySeq = happyDoSeq--- otherwise it emits--- 	happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq   a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template.  GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.
src/HsParser.ly view
@@ -406,13 +406,15 @@ > tydoc :: { HsType } > 	: btype				{ $1 } >	| btype docprev			{ HsTyDoc $1 $2 }+>       | btype tyvarop btype           { HsTyApp (HsTyApp $2 $1) $3 }  > type :: { HsType } >       : ipvar '::' type1              { HsTyIP $1 $3 } >       | type1                         { $1 }  > type1 :: { HsType }->       : btype				{ $1 }+>	: btype				{ $1 }+>       | btype tyvarop btype           { HsTyApp (HsTyApp $2 $1) $3 } > 	| btype '->' type1		{ HsTyFun $1 $3 }  > btype :: { HsType }@@ -973,6 +975,11 @@  > tyvar :: { HsName } >	: varid_no_forall	{ $1 }+> 	| '(' varsym ')'	{ $2 }++> tyvarop :: { HsType }+> tyvarop : '`' tyvar '`'       { HsTyVar $2 }+>         | varsym              { HsTyVar $1 }  ----------------------------------------------------------------------------- Documentation comments
src/HsSyn.lhs view
@@ -530,17 +530,34 @@ -- is a DocMonospaced and make it into a DocCodeBlock docParagraph :: Doc -> Doc docParagraph (DocMonospaced p)-  = DocCodeBlock p+  = DocCodeBlock (docCodeBlock p) docParagraph (DocAppend (DocString s1) (DocMonospaced p))   | all isSpace s1-  = DocCodeBlock p+  = DocCodeBlock (docCodeBlock p) docParagraph (DocAppend (DocString s1) 		(DocAppend (DocMonospaced p) (DocString s2)))   | all isSpace s1 && all isSpace s2-  = DocCodeBlock p+  = DocCodeBlock (docCodeBlock p) docParagraph (DocAppend (DocMonospaced p) (DocString s2))   | all isSpace s2-  = DocCodeBlock p+  = DocCodeBlock (docCodeBlock p) docParagraph p   = DocParagraph p++-- Drop trailing whitespace from @..@ code blocks.  Otherwise this:+--+--    -- @+--    -- foo+--    -- @+--+-- turns into (DocCodeBlock "\nfoo\n ") which when rendered in HTML+-- gives an extra vertical space after the code block.  The single space+-- on the final line seems to trigger the extra vertical space.+--+docCodeBlock :: Doc -> Doc+docCodeBlock (DocString s) +  = DocString (reverse $ dropWhile (`elem` " \t") $ reverse s)+docCodeBlock (DocAppend l r)+  = DocAppend l (docCodeBlock r)+docCodeBlock d = d \end{code}
src/Main.hs view
@@ -27,7 +27,7 @@ import Paths_haddock	( getDataDir )  import Control.Exception ( bracket )-import Control.Monad ( when )+import Control.Monad ( when, unless ) import Data.Char ( isSpace ) import Data.IORef ( writeIORef ) import Data.List ( nub, (\\), foldl', sortBy )@@ -93,8 +93,10 @@   | Flag_UseIndex String   | Flag_GenIndex   | Flag_IgnoreAllExports+  | Flag_GhcPkg FilePath   | Flag_HideModule String   | Flag_UsePackage String+  | Flag_AllowMissingHtml   deriving (Eq)  options :: Bool -> [OptDescr Flag]@@ -122,13 +124,13 @@         (ReqArg Flag_SourceModuleURL "URL") 	"URL for a source code link for each module\n(using the %{FILE} or %{MODULE} vars)",     Option []  ["source-entity"]  (ReqArg Flag_SourceEntityURL "URL") -	"URL for a source code link for each entity\n(using the %{FILE}, %{MODULE} or %{NAME} vars)",+	"URL for a source code link for each entity\n(using the %{FILE}, %{MODULE}, %{NAME},\n%{KIND} or %{LINE} vars)",     Option []  ["comments-base"]   (ReqArg Flag_WikiBaseURL "URL") 	"URL for a comments link on the contents\nand index pages",     Option []  ["comments-module"]  (ReqArg Flag_WikiModuleURL "URL")  	"URL for a comments link for each module\n(using the %{MODULE} var)",     Option []  ["comments-entity"]  (ReqArg Flag_WikiEntityURL "URL") -	"URL for a comments link for each entity\n(using the %{FILE}, %{MODULE} or %{NAME} vars)",+	"URL for a comments link for each entity\n(using the %{FILE}, %{MODULE}, %{NAME},\n%{KIND} or %{LINE} vars)",     Option ['c']  ["css"]         (ReqArg Flag_CSS "FILE")  	"the CSS file to use for HTML output",     Option ['p']  ["prologue"] (ReqArg Flag_Prologue "FILE")@@ -157,10 +159,14 @@ 	"generate an HTML index from specified\ninterfaces",     Option [] ["ignore-all-exports"] (NoArg Flag_IgnoreAllExports) 	"behave as if all modules have the\nignore-exports atribute",+    Option [] ["ghc-pkg"] (ReqArg Flag_GhcPkg "FILE")+	"ghc-pkg is FILE",     Option [] ["hide"] (ReqArg Flag_HideModule "MODULE") 	"behave as if MODULE has the hide attribute",     Option [] ["use-package"] (ReqArg Flag_UsePackage "PACKAGE")-	"the modules being processed depend on PACKAGE"+	"the modules being processed depend on PACKAGE",+    Option [] ["allow-missing-html"] (NoArg Flag_AllowMissingHtml)+	"use a package even if its HTML is missing"   ]  run :: [Flag] -> [FilePath] -> IO ()@@ -355,7 +361,9 @@     (\h -> do stuff <- hGetContents h  	      case parse stuff (SrcLoc 1 1 file) 1 0 file [] of 	        Ok _ e -> return e-	        Failed err -> die (file ++ ':':err ++ "\n")+	        Failed (SrcLoc line column file) err -> die $+		  file ++ ": " ++ show line ++ ":" ++ show column ++ ": "+		       ++ err ++ "\n"     )  getPrologue :: [Flag] -> IO (Maybe Doc)@@ -386,8 +394,6 @@     mb_iface_details <- mapM getPkgIface pkgs     return [ ok | Just ok <- mb_iface_details ]  where-  hc_pkg = "ghc-pkg"  -- ToDo: flag-   getPkgIface pkg = do 	when verbose $ 	   putStrLn ("querying ghc-pkg for " ++ pkg ++ "...")@@ -399,9 +405,10 @@    getPkgIface' pkg = do 	html <- getPkgField pkg "haddock-html"-	html_exists <- doesDirectoryExist html-	when (not html_exists) $ do-	   throwIO (ErrorCall ("HTML directory " ++ html ++ " does not exist."))+	unless (Flag_AllowMissingHtml `elem` flags) $ do+	  html_exists <- doesDirectoryExist html+	  when (not html_exists) $ do+	     throwIO (ErrorCall ("HTML directory " ++ html ++ " does not exist."))  	iface <- getPkgField pkg "haddock-interfaces" 	iface_exists <- doesFileExist iface@@ -411,6 +418,10 @@ 	return (Just (html, iface))    getPkgField pkg field = do+	hc_pkg <- case [ path | Flag_GhcPkg path <- flags] of+	          [] -> return "ghc-pkg"+	          [p] -> return p+	          _ -> die "Multiple ghc-pkg's given" 	(hin,hout,herr,p) <- runInteractiveProcess hc_pkg  				["field", pkg, field] 				Nothing Nothing@@ -420,12 +431,14 @@ 	r <- waitForProcess p 	when (r /= ExitSuccess) $ 	   throwIO (ErrorCall ("ghc-pkg failed"))-	let value = dropWhile isSpace $ init $ tail $ dropWhile (/=':') out+	let value = stripWhitespace $ tail $ dropWhile (/=':') out 	when verbose $  	   putStrLn ("   " ++ field ++ ": " ++ value) 	return value #endif +stripWhitespace = dropWhile isSpace . reverse . dropWhile isSpace . reverse+ ----------------------------------------------------------------------------- -- Figuring out the definitions that are exported from a module @@ -458,9 +471,12 @@   let 	-- check for a --hide option 	Module mod_str = mdl-	opts+	opts1 	  | Flag_HideModule mod_str `elem` flags = OptHide : opts0 	  | otherwise			         = opts0+	opts+	  | Flag_IgnoreAllExports `elem` flags = OptIgnoreExports : opts1+	  | otherwise			       = opts1    let      -- expand type signatures with multiple variables into multiple