diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -6,6 +6,74 @@
 and this project adheres to the
 [Haskell Package Versioning Policy](https://pvp.haskell.org/).
 
+## v0.11.0 — 2026-07-21
+
+This release adds inductive types: the `#!rzk #data` command declares a datatype with generated induction and recursion principles, and `#!rzk match` expressions provide pattern-matching notation for them. It also removes the syntax forms deprecated since v0.5.0 (a breaking change for old code), adds lattice operations on the interval cubes, makes the hole inventory's suggestions reliable as insertable source text, and brings the browser playground back on the GHC WebAssembly backend.
+
+Added:
+
+- **Inductive types: the `#!rzk #data` command** (see [#306](https://github.com/rzk-lang/rzk/pull/306), [#310](https://github.com/rzk-lang/rzk/pull/310)). A declaration introduces the type former, its constructors, and the generated induction and recursion principles (`#!rzk ind-D` and `#!rzk rec-D`, in the argument order of the HoTT book), all as ordinary top-level names. The computation rules hold definitionally (the ι-rule), so proofs by induction compute. Parameterised types use the same telescope syntax as `#!rzk #define`; a constructor field whose type is the declared type contributes an induction hypothesis, and indexed families are declared with a sort and per-constructor return types:
+
+    ```rzk
+    #data nat := zero | suc (n : nat)
+
+    #data vec
+      ( A : U)
+      : nat → U
+      :=
+        nil : vec A zero
+      | cons (n : nat) (x : A) (xs : vec A n) : vec A (suc n)
+    ```
+
+    The declared type may occur in a field only as a directly recursive occurrence (a strict-positivity probe covers the rest), and a positive but function-typed recursive field (the W-type shape) is not supported yet.
+
+- **`#!rzk match` expressions** (see [#319](https://github.com/rzk-lang/rzk/pull/319), and [#322](https://github.com/rzk-lang/rzk/pull/322) for an extra test case). A `#!rzk match` is pure notation for the generated induction principle: typechecking elaborates it into an application of `#!rzk ind-D`, so the computation rules still hold definitionally (the ι-rule) and termination is inherited (recursion happens only through the induction hypotheses). Branches are in bijection with the constructors, each binding the fields and one induction hypothesis per recursive field (`#!rzk _` binds nothing):
+
+    ```rzk
+    #define plus (n m : nat) : nat
+      := match n
+          ( zero ⇒ m
+          | suc k ih ⇒ suc ih)
+    ```
+
+    The motive comes from the checking context (a variable scrutinee is abstracted out of the goal), or is written explicitly after `#!rzk into`; over an indexed family the motive abstracts the indices before the scrutinee, which also covers the convoy pattern known from Coq folklore (see the docs for worked examples, including the safe head on `#!rzk vec A (suc n)`).
+
+- **Lattice operations on the interval cubes** (see [#299](https://github.com/rzk-lang/rzk/pull/299)). Join `#!rzk a ⊔ b` (ASCII `#!rzk sup a b`) and meet `#!rzk a ⊓ b` (ASCII `#!rzk inf a b`) on the cubes `#!rzk 2` and `#!rzk 𝕀`, making cube points a bounded lattice under `#!rzk ≤`. On `#!rzk 2` the operators are a definitional extension (expressible via `#!rzk recOR`, so nothing new becomes provable); on `#!rzk 𝕀` they are the bounded-distributive-lattice structure of Gratzer–Weinberger–Buchholtz, and no reversal is added, so `#!rzk 𝕀` stays directed.
+
+- **A warning about unsaturated meta-prefix uses** (see [#312](https://github.com/rzk-lang/rzk/pull/312)). The checker now warns when a definition is used at an object-level position without fully supplying its meta-theoretic parameter prefix (universe, `#!rzk CUBE`, and `#!rzk TOPE` parameters, and functions over those). The `#!rzk warn-meta-prefix` option controls the sensitivity (`"strict"` by default, `"structural"`, or `"off"`); see the options documentation for the discipline this enforces.
+
+- **Holes: a `#!rzk U` goal offers the type formers** (see [#314](https://github.com/rzk-lang/rzk/pull/314)). A hole of type `#!rzk U` now suggests `#!rzk ? → ?`, `#!rzk Σ (x : ?), ?`, `#!rzk ? =_{ ? } ?`, `#!rzk Unit`, and every user-declared datatype in scope applied to holes through its parameter telescope.
+
+- **Language server: postulates and assumptions are highlighted distinctly** (see [#311](https://github.com/rzk-lang/rzk/pull/311)). Depending on an axiom is now visible in the editor, in three tiers of decreasing severity: `#!rzk #postulate` (a permanent axiom), a top-level `#!rzk #assume` (a file-wide axiom), and an `#!rzk #assume` inside a `#!rzk #section` (a hypothesis discharged at `#!rzk #end`), each with its own semantic-token modifiers, at the declaration and at every use site. All modifiers are standard, but full colouring needs a matching `vscode-rzk` release.
+
+- **Language server: use-site highlighting for `#!rzk #data` products** (see [#309](https://github.com/rzk-lang/rzk/pull/309)). A constructor colours as an enum member wherever it appears, the datatype as a class, and the generated induction and recursion principles as library functions; completion items carry the same kinds. In passing, declarations inside a section no longer all report the `#!rzk #end` line as their location.
+
+Changed:
+
+- **The deprecated syntax forms are removed** (see [#304](https://github.com/rzk-lang/rzk/pull/304)). **Breaking**: the seven productions deprecated since v0.5.0 no longer parse — braces around parameters (`{p : A}`, `{p : I | φ}`, `{(p : I) | φ}`), angle brackets around extension types (`<Φ → A>`, Unicode and ASCII), and the 4-argument `recOR(ψ, φ, a, b)`. The modern replacements (`(p : A)`, `(p : I | φ)`, plain shaped function types, `recOR(ψ ↦ a, φ ↦ b)`) have been available since v0.5.0; the corpus code (sHoTT, hottbook, the rzk docs) uses none of the removed forms. The removal frees the `{…}` braces for implicit binders later.
+
+- **A binder repeated within one binder group is an error** (see [#323](https://github.com/rzk-lang/rzk/pull/323), closing [#321](https://github.com/rzk-lang/rzk/issues/321)). Mildly breaking: `#!rzk \ x x → e` was silently accepted (the later `#!rzk x` shadowing the earlier one) and is now a structured error carrying both positions. A group is the parameter list of a λ, a declaration, or a `#!rzk #data` constructor, and the leaves of a single pattern. Shadowing across separate groups is untouched and keeps its warning.
+
+- **The browser playground is back, built on the GHC WebAssembly backend** (see [#302](https://github.com/rzk-lang/rzk/pull/302), [#301](https://github.com/rzk-lang/rzk/pull/301), [#307](https://github.com/rzk-lang/rzk/pull/307)). The playground's logic core, unbuildable with GHCJS since the free-foil migration in v0.10.0, is now compiled to `wasm32-wasi` and instantiated in the browser; the playground deploy lane is restored accordingly. The initial example is modernised for the removed syntax and typechecked in CI, so it cannot rot again.
+
+Fixed:
+
+- **Editor positions on lines with astral-plane characters** (see [#305](https://github.com/rzk-lang/rzk/pull/305), fixing [#303](https://github.com/rzk-lang/rzk/issues/303)). Typing `#!rzk 𝕀` used to break highlighting, hover, and go-to-definition to its right on the same line: LSP positions count UTF-16 code units, while rzk counted Unicode code points. Positions are now converted at the wire boundary, in both directions, with an identity fast path for all-BMP lines.
+
+- **Hole suggestions are now guaranteed to mean what they show** (see [#317](https://github.com/rzk-lang/rzk/pull/317), [#318](https://github.com/rzk-lang/rzk/pull/318)). A suggested move is inserted as source text, so it must resolve, at the hole, to the very term it renders. Moves are now rendered with source names and every emitted move is checked to parse back to an α-equivalent term; every binder a move introduces is named from one taken-name environment per hole, so a move never shadows anything writable at the hole and never collides with the names the context panel shows.
+
+- **Holes: shadowing and hidden-binder fixes** (see [#313](https://github.com/rzk-lang/rzk/pull/313), [#315](https://github.com/rzk-lang/rzk/pull/315), [#324](https://github.com/rzk-lang/rzk/pull/324), closing [#320](https://github.com/rzk-lang/rzk/issues/320)). Offered introductions and `#!rzk idJ` motives no longer shadow enclosing binders; the hidden scrutinee of a destructuring λ no longer claims a user-visible name from the context panel; and a unit pattern `#!rzk \ unit → e` no longer shows a spurious `#!rzk unit : Unit` hypothesis or suppress the moves that mention its point.
+
+Performance:
+
+- The tope solver skips its modal inversion pass on an all-identity tope context, where it provably contributes nothing; this was about 7.5% of the checker's allocation on the (modality-free) sHoTT corpus (see [#300](https://github.com/rzk-lang/rzk/pull/300)).
+
+- Declarations and name lists are sunk into extended scopes by coercion instead of per-element rebuilds (see [#308](https://github.com/rzk-lang/rzk/pull/308)).
+
+CI / infrastructure:
+
+- The WebAssembly toolchain is pinned to a fixed ghc-wasm-meta revision and cached, with a read-only mirror as a secondary source, so toolchain-host outages no longer fail the lane (see [#316](https://github.com/rzk-lang/rzk/pull/316)).
+
 ## v0.10.0 — 2026-07-15
 
 This release replaces the typechecker's internal term representation and makes checking roughly nine times faster. There are no surface-language changes; for users the release is a performance release, plus one new option. For packagers and library users it is a major version: the library API is reorganised, **GHC 9.8 or newer is now required** to build rzk, and the GHCJS-built browser playground is not rebuilt for this release (see below).
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -29,7 +29,8 @@
 
 import           Paths_rzk               (version)
 import           Rzk.Diagnostic          (Diagnostic (..), Severity (..),
-                                          diagnoseHole, diagnoseTypeError,
+                                          diagnoseCheckWarning, diagnoseHole,
+                                          diagnoseTypeError, ppCheckWarning,
                                           ppHoleInfo)
 import           Rzk.Format              (formatFile, formatFileWrite,
                                           isWellFormattedFile)
@@ -84,21 +85,26 @@
         then do
           let diagnostics = case typecheckModulesWithHoles modules of
                 Left err -> [diagnoseTypeError BottomUp err]
-                Right (Checked _ctx _decls errors, holes) ->
-                  map (diagnoseTypeError BottomUp) errors ++ map diagnoseHole holes
+                Right (Checked _ctx _decls errors warnings, holes) ->
+                  map (diagnoseTypeError BottomUp) errors
+                    ++ map diagnoseCheckWarning warnings
+                    ++ map diagnoseHole holes
           BL8.putStrLn (encode diagnostics)
           when (any ((== SeverityError) . diagnosticSeverity) diagnostics) exitFailure
         else if allowHolesFlag
           then case typecheckModulesWithHoles modules of
             Left err -> reportError err >> exitFailure
-            Right (Checked _ctx _decls errors, holes) -> do
+            Right (Checked _ctx _decls errors warnings, holes) -> do
+              forM_ warnings (putStrLn . ppCheckWarning)
               forM_ holes (putStr . ppHoleInfo)
               case errors of
                 [] -> putStrLn ("Everything is ok! (" <> show (length holes) <> " hole(s))")
                 _  -> do forM_ errors reportError; exitFailure
           else case typecheckModules modules of
             Left err -> reportError err >> exitFailure
-            Right _checked -> putStrLn "Everything is ok!"
+            Right checked -> do
+              forM_ (checkedWarnings checked) (putStrLn . ppCheckWarning)
+              putStrLn "Everything is ok!"
 
     Lsp ->
 #ifdef LSP_ENABLED
diff --git a/grammar/Syntax.cf b/grammar/Syntax.cf
--- a/grammar/Syntax.cf
+++ b/grammar/Syntax.cf
@@ -47,6 +47,10 @@
 define commandDef x vars params ty term = CommandDefine x vars params ty term ;
 commandDefNoParams.       Command ::= "#def" VarIdent DeclUsedVars ":" Term ":=" Term ;
 define commandDefNoParams x vars ty term = CommandDefine x vars [] ty term ;
+
+CommandData.              Command ::= "#data" VarIdent DeclUsedVars [Param] DataSort DataBody ;
+commandDataNoParams.      Command ::= "#data" VarIdent DeclUsedVars DataSort DataBody ;
+define commandDataNoParams x vars sort body = CommandData x vars [] sort body ;
 terminator Command ";" ;
 
 DeclUsedVars. DeclUsedVars ::= "uses" "(" [VarIdent] ")" ;
@@ -56,6 +60,34 @@
 NoSectionName.    SectionName ::= ;
 SomeSectionName.  SectionName ::= VarIdent ;
 
+-- The sort of a #data declaration (defaults to U when omitted)
+SomeDataSort. DataSort ::= ":" Term ;
+NoDataSort.   DataSort ::= ;
+
+-- The constructor list of a #data declaration (omitted for an empty family)
+SomeDataBody. DataBody ::= ":=" [Constructor] [DataElim] ;
+NoDataBody.   DataBody ::= ;
+
+-- A constructor: name, fields, and an optional return type (defaults to
+-- the declared type applied to its parameters)
+Constructor.           Constructor ::= VarIdent [Param] ConstructorType ;
+constructorNoParams.   Constructor ::= VarIdent ConstructorType ;
+define constructorNoParams x ty = Constructor x [] ty ;
+separator nonempty Constructor "|" ;
+
+SomeConstructorType. ConstructorType ::= ":" Term ;
+NoConstructorType.   ConstructorType ::= ;
+
+-- An optional re-ascription of a generated eliminator's type
+DataElim. DataElim ::= "eliminator" VarIdent ":" Term ;
+terminator DataElim "" ;
+
+-- A match branch: constructor name, one binder per method argument
+MatchBranch.         MatchBranch ::= VarIdent [Pattern] "⇒" Term ;
+matchBranchNoParams. MatchBranch ::= VarIdent "⇒" Term ;
+define matchBranchNoParams x t = MatchBranch x [] t ;
+separator nonempty MatchBranch "|" ;
+
 -- Patterns
 PatternUnit.      Pattern ::= "unit" ;
 PatternVar.       Pattern ::= VarIdent ;
@@ -69,7 +101,6 @@
 ParamPattern.          Param ::= Pattern ;
 ParamPatternType.      Param ::= "(" [Pattern] ":" Term ")" ;
 ParamPatternShape.     Param ::= "(" [Pattern] ":" Term "|" Term ")" ;
-ParamPatternShapeDeprecated. Param ::= "{" Pattern ":" Term "|" Term "}" ;
 ParamPatternModalType. Param ::= "(" [Pattern] ModalColon Term ")" ;
 ParamPatternModalShape. Param ::= "(" [Pattern] ModalColon Term "|" Term ")" ;
 separator nonempty Param "" ;
@@ -82,10 +113,6 @@
 ParamType.             ParamDecl ::= Term6 ;
 ParamTermType.         ParamDecl ::= "(" Term ":" Term ")" ;
 ParamTermShape.        ParamDecl ::= "(" Term ":" Term "|" Term ")" ;
-ParamTermTypeDeprecated. ParamDecl ::= "{" Pattern ":" Term "}" ;
-ParamVarShapeDeprecated. ParamDecl ::= "{" "(" Pattern ":" Term ")" "|" Term "}" ;
-paramVarShapeDeprecated. ParamDecl ::= "{" Pattern ":" Term "|" Term "}" ;
-define paramVarShapeDeprecated pat cube tope = ParamVarShapeDeprecated pat cube tope ;
 ParamTermModalType.    ParamDecl ::= "(" Term ModalColon Term ")" ;
 ParamTermModalShape.   ParamDecl ::= "(" Term ModalColon Term "|" Term ")" ;
 
@@ -133,6 +160,9 @@
 CubeI_0.        Term7 ::= "0ᵢ" ;
 CubeI_1.        Term7 ::= "1ᵢ" ;
 CubeProduct.    Term5 ::= Term5 "×" Term6 ;
+-- Lattice operations on cube points (join/meet)
+CubeSup.        Term5 ::= Term5 "⊔" Term6 ;
+CubeInf.        Term5 ::= Term5 "⊓" Term6 ;
 -- Topes
 TopeTop.        Term7 ::= "⊤" ;
 TopeBottom.     Term7 ::= "⊥" ;
@@ -155,7 +185,6 @@
 -- Tope disjunction elimination
 RecBottom.        Term7 ::= "recBOT" ;
 RecOr.            Term7 ::= "recOR" "(" [Restriction] ")" ;
-RecOrDeprecated.  Term7 ::= "recOR" "(" Term "," Term "," Term "," Term ")" ;
 -- Types
 TypeFun.        Term1 ::= ParamDecl "→" Term1 ;
 TypeSigma.      Term1 ::= "Σ" "(" Pattern ":" Term ")" "," Term1 ;
@@ -165,7 +194,6 @@
 TypeId.         Term1 ::= Term2 "=_{" Term "}" Term2 ;
 TypeIdSimple.   Term1 ::= Term2 "=" Term2 ;
 TypeRestricted. Term6  ::= Term6 "[" [Restriction] "]" ;
-TypeExtensionDeprecated.  Term7 ::= "<" ParamDecl "→" Term ">" ;
 -- Terms
 Let.            Term1 ::= "let" Bind ":=" Term "in" Term ;
 App.            Term6 ::= Term6 Term7 ;
@@ -183,6 +211,8 @@
 ReflTerm.       Term7 ::= "refl_{" Term "}" ;
 ReflTermType.   Term7 ::= "refl_{" Term ":" Term "}" ;
 IdJ.            Term7 ::= "idJ" "(" Term "," Term "," Term "," Term "," Term "," Term ")" ;
+Match.          Term7 ::= "match" Term7 "(" [MatchBranch] ")" ;
+MatchInto.      Term7 ::= "match" Term7 "into" Term7 "(" [MatchBranch] ")" ;
 -- Variables and holes
 Hole.           Term7 ::= HoleIdent;
 Var.            Term7 ::= VarIdent ;
@@ -196,6 +226,10 @@
 
 ascii_CubeProduct.    Term5 ::= Term5 "*" Term6 ;
 define ascii_CubeProduct l r = CubeProduct l r ;
+ascii_CubeSup.        Term6 ::= "sup" Term7 Term7 ;
+define ascii_CubeSup l r = CubeSup l r ;
+ascii_CubeInf.        Term6 ::= "inf" Term7 Term7 ;
+define ascii_CubeInf l r = CubeInf l r ;
 
 ASCII_CubeUnitStar.   Term7 ::= "*_1" ;
 ASCII_Cube2_0.        Term7 ::= "0_2" ;
@@ -220,10 +254,13 @@
 ASCII_Lambda.         Term1 ::= "\\" [Param] "->" Term1 ;
 ASCII_Restriction. Restriction ::= Term "|->" Term ;
 
-ASCII_TypeExtensionDeprecated.  Term7 ::= "<" ParamDecl "->" Term ">" ;
-
 ASCII_First.          Term6 ::= "first" Term7 ;
 ASCII_Second.         Term6 ::= "second" Term7 ;
+
+ascii_MatchBranch.         MatchBranch ::= VarIdent [Pattern] "=>" Term ;
+define ascii_MatchBranch x ps t = MatchBranch x ps t ;
+ascii_matchBranchNoParams. MatchBranch ::= VarIdent "=>" Term ;
+define ascii_matchBranchNoParams x t = MatchBranch x [] t ;
 
 -- Alternative Unicode syntax rules
 
diff --git a/rzk.cabal b/rzk.cabal
--- a/rzk.cabal
+++ b/rzk.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           rzk
-version:        0.10.0
+version:        0.11.0
 synopsis:       An experimental proof assistant for synthetic ∞-categories
 description:    Please see the README on GitHub at <https://github.com/rzk-lang/rzk#readme>
 category:       Dependent Types
@@ -21,10 +21,30 @@
     grammar/Syntax.cf
     test/typecheck/SCHEMA.md
     test/typecheck/cases/happy-check.rzk
+    test/typecheck/cases/happy-data-bool.rzk
+    test/typecheck/cases/happy-data-coprod.rzk
+    test/typecheck/cases/happy-data-empty.rzk
+    test/typecheck/cases/happy-data-eta-short.rzk
+    test/typecheck/cases/happy-data-hottbook-nat.rzk
+    test/typecheck/cases/happy-data-indices-edge.rzk
+    test/typecheck/cases/happy-data-large-warning.rzk
+    test/typecheck/cases/happy-data-list.rzk
+    test/typecheck/cases/happy-data-nat.rzk
+    test/typecheck/cases/happy-data-rec-section.rzk
+    test/typecheck/cases/happy-data-section.rzk
+    test/typecheck/cases/happy-data-vec.rzk
     test/typecheck/cases/happy-flip-unflip.rzk
     test/typecheck/cases/happy-interval-basics.rzk
     test/typecheck/cases/happy-interval-subtyping.rzk
     test/typecheck/cases/happy-issue-9-relfunext2-id.rzk
+    test/typecheck/cases/happy-lattice-eq-gives-leq.rzk
+    test/typecheck/cases/happy-lattice-mixed-cube.rzk
+    test/typecheck/cases/happy-lattice.rzk
+    test/typecheck/cases/happy-match-basics.rzk
+    test/typecheck/cases/happy-match-case-vec.rzk
+    test/typecheck/cases/happy-match-indexed.rzk
+    test/typecheck/cases/happy-meta-prefix-option-off.rzk
+    test/typecheck/cases/happy-meta-prefix-plumbing.rzk
     test/typecheck/cases/happy-modal-basics.rzk
     test/typecheck/cases/happy-modal-flat-recOR-under-op.rzk
     test/typecheck/cases/happy-modal-flat-under-op.rzk
@@ -40,6 +60,7 @@
     test/typecheck/cases/happy-refl-path.rzk
     test/typecheck/cases/happy-restrict-face-not-contained.rzk
     test/typecheck/cases/happy-set-option-warn-overhang.rzk
+    test/typecheck/cases/happy-shadowing-across-groups.rzk
     test/typecheck/cases/happy-shott-simplicial-subcomplexes.rzk
     test/typecheck/cases/happy-subtype-variance-pi-shape-domain.rzk
     test/typecheck/cases/happy-subtype-variance-restriction-faces.rzk
@@ -53,6 +74,16 @@
     test/typecheck/cases/happy-tope-shapes.rzk
     test/typecheck/cases/ill-bare-lambda-compute.rzk
     test/typecheck/cases/ill-bare-refl-compute.rzk
+    test/typecheck/cases/ill-data-clash-generated.rzk
+    test/typecheck/cases/ill-data-duplicate-constructor.rzk
+    test/typecheck/cases/ill-data-eliminator-clause.rzk
+    test/typecheck/cases/ill-data-fun-field.rzk
+    test/typecheck/cases/ill-data-index-mismatch.rzk
+    test/typecheck/cases/ill-data-missing-return.rzk
+    test/typecheck/cases/ill-data-negative.rzk
+    test/typecheck/cases/ill-data-non-u-sort.rzk
+    test/typecheck/cases/ill-data-return-type.rzk
+    test/typecheck/cases/ill-data-shape-field.rzk
     test/typecheck/cases/ill-duplicate.rzk
     test/typecheck/cases/ill-hole-infer.rzk
     test/typecheck/cases/ill-hole-pattern-binder-names.rzk
@@ -65,6 +96,20 @@
     test/typecheck/cases/ill-issue-13-flip-flip-wrong.rzk
     test/typecheck/cases/ill-issue-206-families-of-extension.rzk
     test/typecheck/cases/ill-issue-33-restriction-coherence.rzk
+    test/typecheck/cases/ill-lattice-endpoints-distinct.rzk
+    test/typecheck/cases/ill-lattice-eq-no-leak.rzk
+    test/typecheck/cases/ill-lattice-non-law.rzk
+    test/typecheck/cases/ill-lattice-not-interval-cube.rzk
+    test/typecheck/cases/ill-lattice-ops-glb-not-entailed.rzk
+    test/typecheck/cases/ill-lattice-ops-lub-not-entailed.rzk
+    test/typecheck/cases/ill-lattice-ops-lub-unconditional.rzk
+    test/typecheck/cases/ill-lattice-total-order-ii.rzk
+    test/typecheck/cases/ill-match-branch-arity.rzk
+    test/typecheck/cases/ill-match-cannot-infer.rzk
+    test/typecheck/cases/ill-match-duplicate-branch.rzk
+    test/typecheck/cases/ill-match-missing-branch.rzk
+    test/typecheck/cases/ill-match-not-data.rzk
+    test/typecheck/cases/ill-match-unknown-branch.rzk
     test/typecheck/cases/ill-modal-b-no-dist.rzk
     test/typecheck/cases/ill-modal-flat-no-commute.rzk
     test/typecheck/cases/ill-modal-not-modal.rzk
@@ -91,6 +136,9 @@
     test/typecheck/cases/ill-recor-coverage-required.rzk
     test/typecheck/cases/ill-recor-guard-disjoint.rzk
     test/typecheck/cases/ill-render-latex-define.rzk
+    test/typecheck/cases/ill-repeated-binder-lambda.rzk
+    test/typecheck/cases/ill-repeated-binder-pair.rzk
+    test/typecheck/cases/ill-repeated-binder-params.rzk
     test/typecheck/cases/ill-restrict-face-disjoint.rzk
     test/typecheck/cases/ill-section-end-mismatch.rzk
     test/typecheck/cases/ill-section-not-closed.rzk
@@ -133,11 +181,35 @@
     test/typecheck/cases/multimodule-two-ok/user.rzk
     test/typecheck/cases/uses-whnf-discarded.rzk
     test/typecheck/cases/uses-whnf-masked-transitive.rzk
+    test/typecheck/cases/warn-meta-prefix-object-position.rzk
+    test/typecheck/cases/warn-meta-prefix-option-structural.rzk
+    test/typecheck/cases/warn-meta-prefix-section.rzk
+    test/typecheck/cases/warn-meta-prefix-strict-only.rzk
     test/typecheck/cases/happy-check.expect.yaml
+    test/typecheck/cases/happy-data-bool.expect.yaml
+    test/typecheck/cases/happy-data-coprod.expect.yaml
+    test/typecheck/cases/happy-data-empty.expect.yaml
+    test/typecheck/cases/happy-data-eta-short.expect.yaml
+    test/typecheck/cases/happy-data-hottbook-nat.expect.yaml
+    test/typecheck/cases/happy-data-indices-edge.expect.yaml
+    test/typecheck/cases/happy-data-large-warning.expect.yaml
+    test/typecheck/cases/happy-data-list.expect.yaml
+    test/typecheck/cases/happy-data-nat.expect.yaml
+    test/typecheck/cases/happy-data-rec-section.expect.yaml
+    test/typecheck/cases/happy-data-section.expect.yaml
+    test/typecheck/cases/happy-data-vec.expect.yaml
     test/typecheck/cases/happy-flip-unflip.expect.yaml
     test/typecheck/cases/happy-interval-basics.expect.yaml
     test/typecheck/cases/happy-interval-subtyping.expect.yaml
     test/typecheck/cases/happy-issue-9-relfunext2-id.expect.yaml
+    test/typecheck/cases/happy-lattice-eq-gives-leq.expect.yaml
+    test/typecheck/cases/happy-lattice-mixed-cube.expect.yaml
+    test/typecheck/cases/happy-lattice.expect.yaml
+    test/typecheck/cases/happy-match-basics.expect.yaml
+    test/typecheck/cases/happy-match-case-vec.expect.yaml
+    test/typecheck/cases/happy-match-indexed.expect.yaml
+    test/typecheck/cases/happy-meta-prefix-option-off.expect.yaml
+    test/typecheck/cases/happy-meta-prefix-plumbing.expect.yaml
     test/typecheck/cases/happy-modal-basics.expect.yaml
     test/typecheck/cases/happy-modal-flat-recOR-under-op.expect.yaml
     test/typecheck/cases/happy-modal-flat-under-op.expect.yaml
@@ -153,6 +225,7 @@
     test/typecheck/cases/happy-refl-path.expect.yaml
     test/typecheck/cases/happy-restrict-face-not-contained.expect.yaml
     test/typecheck/cases/happy-set-option-warn-overhang.expect.yaml
+    test/typecheck/cases/happy-shadowing-across-groups.expect.yaml
     test/typecheck/cases/happy-shott-simplicial-subcomplexes.expect.yaml
     test/typecheck/cases/happy-subtype-variance-pi-shape-domain.expect.yaml
     test/typecheck/cases/happy-subtype-variance-restriction-faces.expect.yaml
@@ -166,6 +239,16 @@
     test/typecheck/cases/happy-tope-shapes.expect.yaml
     test/typecheck/cases/ill-bare-lambda-compute.expect.yaml
     test/typecheck/cases/ill-bare-refl-compute.expect.yaml
+    test/typecheck/cases/ill-data-clash-generated.expect.yaml
+    test/typecheck/cases/ill-data-duplicate-constructor.expect.yaml
+    test/typecheck/cases/ill-data-eliminator-clause.expect.yaml
+    test/typecheck/cases/ill-data-fun-field.expect.yaml
+    test/typecheck/cases/ill-data-index-mismatch.expect.yaml
+    test/typecheck/cases/ill-data-missing-return.expect.yaml
+    test/typecheck/cases/ill-data-negative.expect.yaml
+    test/typecheck/cases/ill-data-non-u-sort.expect.yaml
+    test/typecheck/cases/ill-data-return-type.expect.yaml
+    test/typecheck/cases/ill-data-shape-field.expect.yaml
     test/typecheck/cases/ill-duplicate.expect.yaml
     test/typecheck/cases/ill-hole-infer.expect.yaml
     test/typecheck/cases/ill-hole-pattern-binder-names.expect.yaml
@@ -178,6 +261,20 @@
     test/typecheck/cases/ill-issue-13-flip-flip-wrong.expect.yaml
     test/typecheck/cases/ill-issue-206-families-of-extension.expect.yaml
     test/typecheck/cases/ill-issue-33-restriction-coherence.expect.yaml
+    test/typecheck/cases/ill-lattice-endpoints-distinct.expect.yaml
+    test/typecheck/cases/ill-lattice-eq-no-leak.expect.yaml
+    test/typecheck/cases/ill-lattice-non-law.expect.yaml
+    test/typecheck/cases/ill-lattice-not-interval-cube.expect.yaml
+    test/typecheck/cases/ill-lattice-ops-glb-not-entailed.expect.yaml
+    test/typecheck/cases/ill-lattice-ops-lub-not-entailed.expect.yaml
+    test/typecheck/cases/ill-lattice-ops-lub-unconditional.expect.yaml
+    test/typecheck/cases/ill-lattice-total-order-ii.expect.yaml
+    test/typecheck/cases/ill-match-branch-arity.expect.yaml
+    test/typecheck/cases/ill-match-cannot-infer.expect.yaml
+    test/typecheck/cases/ill-match-duplicate-branch.expect.yaml
+    test/typecheck/cases/ill-match-missing-branch.expect.yaml
+    test/typecheck/cases/ill-match-not-data.expect.yaml
+    test/typecheck/cases/ill-match-unknown-branch.expect.yaml
     test/typecheck/cases/ill-modal-b-no-dist.expect.yaml
     test/typecheck/cases/ill-modal-flat-no-commute.expect.yaml
     test/typecheck/cases/ill-modal-not-modal.expect.yaml
@@ -204,6 +301,9 @@
     test/typecheck/cases/ill-recor-coverage-required.expect.yaml
     test/typecheck/cases/ill-recor-guard-disjoint.expect.yaml
     test/typecheck/cases/ill-render-latex-define.expect.yaml
+    test/typecheck/cases/ill-repeated-binder-lambda.expect.yaml
+    test/typecheck/cases/ill-repeated-binder-pair.expect.yaml
+    test/typecheck/cases/ill-repeated-binder-params.expect.yaml
     test/typecheck/cases/ill-restrict-face-disjoint.expect.yaml
     test/typecheck/cases/ill-section-end-mismatch.expect.yaml
     test/typecheck/cases/ill-section-not-closed.expect.yaml
@@ -242,6 +342,10 @@
     test/typecheck/cases/ill-unused-assumption.expect.yaml
     test/typecheck/cases/uses-whnf-discarded.expect.yaml
     test/typecheck/cases/uses-whnf-masked-transitive.expect.yaml
+    test/typecheck/cases/warn-meta-prefix-object-position.expect.yaml
+    test/typecheck/cases/warn-meta-prefix-option-structural.expect.yaml
+    test/typecheck/cases/warn-meta-prefix-section.expect.yaml
+    test/typecheck/cases/warn-meta-prefix-strict-only.expect.yaml
     test/typecheck/cases/literate-fence/expect.yaml
     test/typecheck/cases/multimodule-first-error/expect.yaml
     test/typecheck/cases/multimodule-two-ok/expect.yaml
@@ -285,6 +389,7 @@
       Rzk.TypeCheck.Error
       Rzk.TypeCheck.Eval
       Rzk.TypeCheck.Judgements
+      Rzk.TypeCheck.MetaPrefix
       Rzk.TypeCheck.Monad
       Rzk.TypeCheck.NbE
       Rzk.TypeCheck.Render
@@ -325,6 +430,7 @@
         Language.Rzk.VSCode.Handlers
         Language.Rzk.VSCode.Logging
         Language.Rzk.VSCode.Lsp
+        Language.Rzk.VSCode.PositionEncoding
         Language.Rzk.VSCode.Tokenize
         Language.Rzk.VSCode.ReferenceIndex
     build-depends:
@@ -417,6 +523,8 @@
       Rzk.FoilCoreSpec
       Rzk.FormatSpec
       Rzk.HolesSpec
+      Rzk.ParserSpec
+      Rzk.PositionEncodingSpec
       Rzk.RefIndexSpec
       Rzk.SemanticTokensSpec
       Rzk.TypeCheckSpec
diff --git a/src/Language/Rzk/Foil/Convert.hs b/src/Language/Rzk/Foil/Convert.hs
--- a/src/Language/Rzk/Foil/Convert.hs
+++ b/src/Language/Rzk/Foil/Convert.hs
@@ -1,4 +1,9 @@
-{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+-- The scope-extension evidence on 'sinkBound' (a coercion) is its soundness
+-- contract, not an argument it can consume, so GHC calls it redundant (and
+-- suggests "simplifying" foil's quantified-constraint Ext instance into the
+-- signature, which would be absurd). Both warnings stay off.
+{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-redundant-constraints
+                -fno-warn-simplifiable-class-constraints #-}
 {-# LANGUAGE DataKinds           #-}
 {-# LANGUAGE LambdaCase          #-}
 {-# LANGUAGE OverloadedStrings   #-}
@@ -33,6 +38,7 @@
 import qualified Data.Map                 as Map
 import qualified Data.Set                 as Set
 import           Debug.Trace              (trace)   -- FIXME: use proper mechanisms for warnings
+import           Unsafe.Coerce            (unsafeCoerce)
 
 import           Language.Rzk.Foil.Syntax
 import           Language.Rzk.Foil.Names (Binder (..), Display, TModality (..),
@@ -51,20 +57,31 @@
   where
     unbound x = error ("undefined variable: " <> show x)
 
--- | Enter a pattern binder: bind one fresh name, map the pattern's leaves to
--- projections of it, and carry the rest of the environment in with 'Foil.sink'.
-toScopedPattern
+-- | Enter a pattern binder with an explicit continuation for the body: bind one
+-- fresh name, map the pattern's leaves to projections of it, and carry the rest
+-- of the environment in with 'Foil.sink'. 'toScopedPattern' is the plain-body
+-- special case; a match branch chains further arms through the continuation.
+toScopedPatternWith
   :: Distinct n
-  => Scope n -> Rzk.Pattern -> Env n -> Rzk.Term -> ScopedAST NameBinder TermSig n
-toScopedPattern scope pat env body =
+  => Scope n -> Rzk.Pattern -> Env n
+  -> (forall l. Distinct l => Scope l -> Env l -> Term l)
+  -> ScopedAST NameBinder TermSig n
+toScopedPatternWith scope pat env k =
   Foil.withFresh scope $ \binder ->
     let scope' = Foil.extendScope binder scope
         bound = bindings pat (Var (Foil.nameOf binder))
         env' x = case lookup x bound of
           Just t  -> t
           Nothing -> Foil.sink (env x)   -- O(1): the old representation shifted every node
-     in ScopedAST binder (toTerm scope' env' body)
+     in ScopedAST binder (k scope' env')
 
+-- | Enter a pattern binder over a surface body.
+toScopedPattern
+  :: Distinct n
+  => Scope n -> Rzk.Pattern -> Env n -> Rzk.Term -> ScopedAST NameBinder TermSig n
+toScopedPattern scope pat env body =
+  toScopedPatternWith scope pat env (\scope' env' -> toTerm scope' env' body)
+
 -- | Enter an anonymous binder (a non-dependent function type binds nothing).
 toScopedAnon
   :: Distinct n
@@ -87,17 +104,6 @@
 toTerm :: forall n. Distinct n => Scope n -> Env n -> Rzk.Term -> Term n
 toTerm scope env = go
   where
-    -- Desugar a deprecated notation, telling the user what to write instead.
-    deprecated t t' = trace msg (go t')
-      where
-        msg = unlines
-          [ "[DEPRECATED]:" <> ppBNFC'Position (Rzk.hasPosition t)
-          , "the following notation is deprecated and will be removed from future version of rzk:"
-          , "  " <> Rzk.printTree t
-          , "instead consider using the following notation:"
-          , "  " <> Rzk.printTree t'
-          ]
-
     ppBNFC'Position Nothing = ""
     ppBNFC'Position (Just (line_, col)) = " at line " <> show line_ <> " column " <> show col
 
@@ -111,18 +117,7 @@
 
     go :: Rzk.Term -> Term n
     go = \case
-      -- ASCII aliases and deprecations are desugared exactly as before.
-      t@(Rzk.RecOrDeprecated loc psi phi a_psi a_phi) -> deprecated t
-        (Rzk.RecOr loc [Rzk.Restriction loc psi a_psi, Rzk.Restriction loc phi a_phi])
-      t@(Rzk.TypeExtensionDeprecated loc shape type_) -> deprecated t
-        (Rzk.TypeFun loc shape type_)
-      t@(Rzk.TypeFun loc (Rzk.ParamTermTypeDeprecated loc' pat type_) ret) -> deprecated t
-        (Rzk.TypeFun loc (Rzk.ParamTermType loc' (Free.patternToTerm pat) type_) ret)
-      t@(Rzk.TypeFun loc (Rzk.ParamVarShapeDeprecated loc' pat cube tope) ret) -> deprecated t
-        (Rzk.TypeFun loc (Rzk.ParamTermShape loc' (Free.patternToTerm pat) cube tope) ret)
-      t@(Rzk.Lambda loc (Rzk.ParamPatternShapeDeprecated loc' pat cube tope : params) body) -> deprecated t
-        (Rzk.Lambda loc (Rzk.ParamPatternShape loc' [pat] cube tope : params) body)
-
+      -- ASCII aliases are desugared exactly as before.
       Rzk.ASCII_CubeUnitStar loc -> go (Rzk.CubeUnitStar loc)
       Rzk.ASCII_Cube2_0 loc -> go (Rzk.Cube2_0 loc)
       Rzk.ASCII_Cube2_1 loc -> go (Rzk.Cube2_1 loc)
@@ -136,8 +131,6 @@
       Rzk.ASCII_TypeSigma loc pat ty ret -> go (Rzk.TypeSigma loc pat ty ret)
       Rzk.ASCII_TypeSigmaTuple loc p ps tN -> go (Rzk.TypeSigmaTuple loc p ps tN)
       Rzk.ASCII_Lambda loc pat ret -> go (Rzk.Lambda loc pat ret)
-      Rzk.ASCII_TypeExtensionDeprecated loc shape type_ ->
-        go (Rzk.TypeExtensionDeprecated loc shape type_)
       Rzk.ASCII_First loc term -> go (Rzk.First loc term)
       Rzk.ASCII_Second loc term -> go (Rzk.Second loc term)
       Rzk.ASCII_CubeI loc -> go (Rzk.CubeI loc)
@@ -167,6 +160,8 @@
       Rzk.TopeUninv _loc t -> TopeUninv (go t)
       Rzk.CubeFlip _loc t -> CubeFlip (go t)
       Rzk.CubeUnflip _loc t -> CubeUnflip (go t)
+      Rzk.CubeSup _loc l r -> CubeSup (go l) (go r)
+      Rzk.CubeInf _loc l r -> CubeInf (go l) (go r)
       Rzk.RecBottom _loc -> RecBottom
       Rzk.RecOr _loc rs -> RecOr (map restriction rs)
       Rzk.TypeId _loc x tA y -> TypeId (go x) (Just (go tA)) (go y)
@@ -183,6 +178,10 @@
       Rzk.ReflTerm _loc term -> Refl (Just (go term, Nothing))
       Rzk.ReflTermType _loc x tA -> Refl (Just (go x, Just (go tA)))
       Rzk.IdJ _loc a b c d e f -> IdJ (go a) (go b) (go c) (go d) (go e) (go f)
+      Rzk.Match _loc scrut branches ->
+        Match (go scrut) Nothing (map matchBranch branches)
+      Rzk.MatchInto _loc scrut motive branches ->
+        Match (go scrut) (Just (go motive)) (map matchBranch branches)
       Rzk.TypeAsc _loc x t -> TypeAsc (go x) (go t)
 
       -- A binder may name several variables sharing a type, e.g. @(x y : A)@,
@@ -307,6 +306,17 @@
       Rzk.Restriction _loc tope term       -> (go tope, go term)
       Rzk.ASCII_Restriction _loc tope term -> (go tope, go term)
 
+    -- One branch of a match: each pattern becomes one 'MatchArm' binder, and
+    -- the last arm's scope holds the branch body.
+    matchBranch (Rzk.MatchBranch _loc con pats body) =
+      (varIdent con, arms scope env pats)
+      where
+        arms :: forall m. Distinct m => Scope m -> Env m -> [Rzk.Pattern] -> Term m
+        arms sc en []       = toTerm sc en body
+        arms sc en (p : ps) =
+          MatchArm (toBinder p)
+            (toScopedPatternWith sc p en (\sc' en' -> arms sc' en' ps))
+
 -- * Open terms
 
 -- | Elaborate a surface term whose free identifiers are not known in advance.
@@ -333,7 +343,7 @@
     go scope bound names (x : xs) =
       Foil.withFresh scope $ \binder ->
         let scope' = Foil.extendScope binder scope
-            bound' = (x, Foil.nameOf binder) : map (fmap Foil.sink) bound
+            bound' = (x, Foil.nameOf binder) : sinkBound bound
          in go scope' bound' (Map.insert x (x, BinderVar (Just x)) names) xs
 
     envOf bound x = case lookup x bound of
@@ -346,6 +356,14 @@
       | (x, v) <- bound
       , Just display <- [Map.lookup x names]
       ]
+
+-- | Sink an association list of binders by coercion, with no per-entry
+-- rebuild ('withOpenTerm' calls this at every binder it opens).
+-- 'Foil.sinkContainer' cannot see through the pair (its element must be the
+-- sunk type itself), but the sinkability argument is the same: only the
+-- names mention the scope, and a name sinks by coercion.
+sinkBound :: Foil.DExt n l => [(VarIdent, Foil.Name n)] -> [(VarIdent, Foil.Name l)]
+sinkBound = unsafeCoerce
 
 -- | Every identifier occurring in a piece of surface syntax, bound or free.
 collectVarIdents :: Data a => a -> [Rzk.VarIdent]
diff --git a/src/Language/Rzk/Foil/Names.hs b/src/Language/Rzk/Foil/Names.hs
--- a/src/Language/Rzk/Foil/Names.hs
+++ b/src/Language/Rzk/Foil/Names.hs
@@ -330,6 +330,20 @@
   | x `Set.member` taken = refreshVarIn taken (incVarIdentIndex x)
   | otherwise            = x
 
+-- | 'freshenBinderLeaves' against a /set/ of taken names, for the same
+-- reason 'refreshVarIn' exists beside 'refreshVar'.
+freshenBinderLeavesIn :: Set VarIdent -> Binder -> Binder
+freshenBinderLeavesIn used = snd . go used
+  where
+    go u (BinderVar (Just x)) =
+      let x' = refreshVarIn u x in (Set.insert x' u, BinderVar (Just x'))
+    go u b@(BinderVar Nothing) = (u, b)
+    go u BinderUnit            = (u, BinderUnit)
+    go u (BinderPair l r)      =
+      let (u1, l') = go u l
+          (u2, r') = go u1 r
+      in (u2, BinderPair l' r')
+
 incVarIdentIndex :: VarIdent -> VarIdent
 incVarIdentIndex (VarIdent (Rzk.VarIdent loc token)) =
   VarIdent (Rzk.VarIdent loc (coerce incIndex token))
diff --git a/src/Language/Rzk/Foil/Print.hs b/src/Language/Rzk/Foil/Print.hs
--- a/src/Language/Rzk/Foil/Print.hs
+++ b/src/Language/Rzk/Foil/Print.hs
@@ -82,29 +82,6 @@
         printScope (ScopedAST binder body) =
           fromTerm used' supply'' (Foil.addNameBinder binder (x, z') names) body
 
-    -- The name standing for the variable itself. A single-variable binder uses
-    -- its own name; a pattern binder needs a placeholder, which is only shown if
-    -- the whole point is used (in a shape tope, say), and then it is printed as
-    -- the pattern anyway.
-    displayNameOf (BinderVar (Just x)) _ = x
-    displayNameOf _ (x : _)              = x
-    displayNameOf _ []                   = error "not enough fresh variables!"
-
-    -- Refresh a binder's named leaves against the names already in use; draw
-    -- fresh names for anonymous leaves from the remaining supply.
-    freshenBinder _ stream (BinderVar Nothing) =
-      case stream of
-        x : xs -> (BinderVar (Just x), xs)
-        _      -> error "not enough fresh variables!"
-    freshenBinder used' stream (BinderVar (Just z)) =
-      (BinderVar (Just z'), filter (/= z') stream)
-      where z' = refreshVar used' z
-    freshenBinder _ stream BinderUnit = (BinderUnit, stream)
-    freshenBinder used' stream (BinderPair l r) =
-      let (l', s1) = freshenBinder used' stream l
-          (r', s2) = freshenBinder (used' <> binderLeaves l') s1 r
-       in (BinderPair l' r', s2)
-
     -- A projection chain over a pattern binder's variable is shown as the
     -- component's name: @π₁ x@ is @t@.
     projChain :: Term n -> Maybe ([Proj], Foil.Name n)
@@ -144,6 +121,8 @@
     go CubeI_0 = Rzk.CubeI_0 loc
     go CubeI_1 = Rzk.CubeI_1 loc
     go (CubeProduct l r) = Rzk.CubeProduct loc (go l) (go r)
+    go (CubeSup l r) = Rzk.CubeSup loc (go l) (go r)
+    go (CubeInf l r) = Rzk.CubeInf loc (go l) (go r)
     go (CubeFlip t) = Rzk.CubeFlip loc (go t)
     go (CubeUnflip t) = Rzk.CubeUnflip loc (go t)
     go TopeTop = Rzk.TopeTop loc
@@ -214,6 +193,17 @@
     go (Refl (Just (t, Nothing))) = Rzk.ReflTerm loc (go t)
     go (Refl (Just (t, Just ty))) = Rzk.ReflTermType loc (go t) (go ty)
     go (IdJ a b c d e f) = Rzk.IdJ loc (go a) (go b) (go c) (go d) (go e) (go f)
+
+    go (Match scrut mmotive branches) =
+      case mmotive of
+        Nothing     -> Rzk.Match loc (go scrut) (map goBranch branches)
+        Just motive -> Rzk.MatchInto loc (go scrut) (go motive) (map goBranch branches)
+      where
+        goBranch (con, chain) = Rzk.MatchBranch loc (fromVarIdent con) pats body
+          where (pats, body) = matchArms used supply names chain
+    -- An arm never stands alone: the conversion only builds it inside a match
+    -- branch, and 'matchArms' peels it before 'go' can see it.
+    go MatchArm{} = error "fromTerm: MatchArm outside of a match branch"
     go (TypeAsc l r) = Rzk.TypeAsc loc (go l) (go r)
     go (TypeRestricted ty rs) =
       Rzk.TypeRestricted loc (go ty) [Rzk.Restriction loc (go tope) (go term) | (tope, term) <- rs]
@@ -225,6 +215,49 @@
             Nothing -> Rzk.BindPattern loc (binderToPattern z')
             Just ty -> Rzk.BindPatternType loc (binderToPattern z') (go ty)
        in Rzk.LetMod loc (modsToModComp app inn) bind (go val) body'
+
+-- | Peel a match branch's arm chain back into its binder patterns and body.
+--
+-- Each 'MatchArm' contributes one pattern; the bookkeeping per binder is the
+-- same as 'fromTerm' does for a λ (freshen the binder's leaves, record the
+-- display name, spend a supply name for a placeholder).
+matchArms :: [VarIdent] -> [VarIdent] -> NameMap n Display -> Term n -> ([Rzk.Pattern], Rzk.Term)
+matchArms used supply names = \case
+  MatchArm z (ScopedAST binder body) ->
+    let (z', supply') = freshenBinder used supply z
+        x = displayNameOf z' supply'
+        supply'' = case z' of
+          BinderVar (Just _) -> supply'
+          _                  -> drop 1 supply'
+        used' = x : used <> binderLeaves z'
+        (pats, t) = matchArms used' supply'' (Foil.addNameBinder binder (x, z') names) body
+     in (binderToPattern z' : pats, t)
+  body -> ([], fromTerm used supply names body)
+
+-- | The name standing for the variable itself. A single-variable binder uses
+-- its own name; a pattern binder needs a placeholder, which is only shown if
+-- the whole point is used (in a shape tope, say), and then it is printed as
+-- the pattern anyway.
+displayNameOf :: Binder -> [VarIdent] -> VarIdent
+displayNameOf (BinderVar (Just x)) _ = x
+displayNameOf _ (x : _)              = x
+displayNameOf _ []                   = error "not enough fresh variables!"
+
+-- | Refresh a binder's named leaves against the names already in use; draw
+-- fresh names for anonymous leaves from the remaining supply.
+freshenBinder :: [VarIdent] -> [VarIdent] -> Binder -> (Binder, [VarIdent])
+freshenBinder _ stream (BinderVar Nothing) =
+  case stream of
+    x : xs -> (BinderVar (Just x), xs)
+    _      -> error "not enough fresh variables!"
+freshenBinder used' stream (BinderVar (Just z)) =
+  (BinderVar (Just z'), filter (/= z') stream)
+  where z' = refreshVar used' z
+freshenBinder _ stream BinderUnit = (BinderUnit, stream)
+freshenBinder used' stream (BinderPair l r) =
+  let (l', s1) = freshenBinder used' stream l
+      (r', s2) = freshenBinder (used' <> binderLeaves l') s1 r
+   in (BinderPair l' r', s2)
 
 -- | Does a scope actually use the variable it binds?
 --
diff --git a/src/Language/Rzk/Foil/Syntax.hs b/src/Language/Rzk/Foil/Syntax.hs
--- a/src/Language/Rzk/Foil/Syntax.hs
+++ b/src/Language/Rzk/Foil/Syntax.hs
@@ -66,8 +66,8 @@
 -- * The signature
 --
 -- A transliteration of @TermF@: same constructors, same fields, same order. The
--- @scope@ positions are the ones that bind, and there are seven of them across
--- five constructors ('TypeFunF' and 'LambdaF' each carry a tope scope as well as
+-- @scope@ positions are the ones that bind, and there are eight of them across
+-- six constructors ('TypeFunF' and 'LambdaF' each carry a tope scope as well as
 -- a body scope, under the same binder).
 
 -- | The optional domain annotation of a λ: its modality, its parameter type,
@@ -92,6 +92,8 @@
     | CubeProductF term term
     | CubeFlipF term
     | CubeUnflipF term
+    | CubeSupF term term
+    | CubeInfF term term
     | TopeTopF
     | TopeBottomF
     | TopeEQF term term
@@ -113,6 +115,15 @@
     | SecondF term
     | ReflF (Maybe (term, Maybe term))
     | IdJF term term term term term term
+    -- | A match over a @#data@ scrutinee: scrutinee, optional motive, and one
+    -- branch per constructor (constructor name, arm chain). The node is
+    -- elaborated into the generated eliminator during typechecking, so a
+    -- /typed/ match never exists.
+    | MatchF term (Maybe term) [(VarIdent, term)]
+    -- | One branch binder of a match; the body is the next arm, or the branch
+    -- body once the binders run out. Valid only inside a 'MatchF' branch; the
+    -- parser cannot produce it anywhere else.
+    | MatchArmF Binder scope
     | UnitF
     | TypeUnitF
     | TypeAscF term term
@@ -279,6 +290,18 @@
 freeVarsOfTermT :: TermT n -> [Foil.Name n]
 freeVarsOfTermT = freeVarsOfTerm . untyped
 
+-- | Does the term mention the universe @U@ anywhere? A constructor field
+-- whose type does is what makes an inductive type /large/ (see the
+-- largeness warning in "Rzk.TypeCheck.Decl").
+containsUniverse :: Term n -> Bool
+containsUniverse Universe   = True
+containsUniverse (Var _)    = False
+containsUniverse (Node sig) =
+  bifoldr (\scoped acc -> containsUniverseScoped scoped || acc)
+          (\t acc -> containsUniverse t || acc) False sig
+  where
+    containsUniverseScoped (ScopedAST _ body) = containsUniverse body
+
 -- * Holes
 
 isHoleT :: TermT n -> Bool
@@ -452,6 +475,8 @@
 pattern CubeProductT info l r = Node (AnnSig info (CubeProductF l r))
 pattern CubeFlipT info t = Node (AnnSig info (CubeFlipF t))
 pattern CubeUnflipT info t = Node (AnnSig info (CubeUnflipF t))
+pattern CubeSupT info l r = Node (AnnSig info (CubeSupF l r))
+pattern CubeInfT info l r = Node (AnnSig info (CubeInfF l r))
 pattern TopeTopT info = Node (AnnSig info TopeTopF)
 pattern TopeBottomT info = Node (AnnSig info TopeBottomF)
 pattern TopeEQT info l r = Node (AnnSig info (TopeEQF l r))
@@ -473,6 +498,8 @@
 pattern SecondT info t = Node (AnnSig info (SecondF t))
 pattern ReflT info mx = Node (AnnSig info (ReflF mx))
 pattern IdJT info a b c d e f = Node (AnnSig info (IdJF a b c d e f))
+pattern MatchT info scrut mmotive branches = Node (AnnSig info (MatchF scrut mmotive branches))
+pattern MatchArmT info orig arm = Node (AnnSig info (MatchArmF orig arm))
 pattern UnitT info = Node (AnnSig info UnitF)
 pattern TypeUnitT info = Node (AnnSig info TypeUnitF)
 pattern TypeAscT info term ty = Node (AnnSig info (TypeAscF term ty))
@@ -485,11 +512,11 @@
 
 {-# COMPLETE Var, UniverseT, UniverseCubeT, UniverseTopeT, CubeUnitT,
   CubeUnitStarT, Cube2T, Cube2_0T, Cube2_1T, CubeIT, CubeI_0T, CubeI_1T,
-  CubeProductT, CubeFlipT, CubeUnflipT, TopeTopT, TopeBottomT, TopeEQT, TopeLEQT,
-  TopeAndT, TopeOrT, TopeInvT, TopeUninvT, RecBottomT, RecOrT, TypeFunT,
-  TypeSigmaT, TypeIdT, AppT, LetT, LambdaT, PairT, FirstT, SecondT, ReflT, IdJT,
-  UnitT, TypeUnitT, TypeAscT, TypeRestrictedT, TypeModalT, ModAppT, ModExtractT,
-  LetModT, HoleT #-}
+  CubeProductT, CubeFlipT, CubeUnflipT, CubeSupT, CubeInfT, TopeTopT, TopeBottomT,
+  TopeEQT, TopeLEQT, TopeAndT, TopeOrT, TopeInvT, TopeUninvT, RecBottomT, RecOrT,
+  TypeFunT, TypeSigmaT, TypeIdT, AppT, LetT, LambdaT, PairT, FirstT, SecondT,
+  ReflT, IdJT, MatchT, MatchArmT, UnitT, TypeUnitT, TypeAscT, TypeRestrictedT,
+  TypeModalT, ModAppT, ModExtractT, LetModT, HoleT #-}
 
 -- ** Untyped patterns
 --
@@ -510,6 +537,8 @@
 pattern CubeProduct l r = Node (CubeProductF l r)
 pattern CubeFlip t = Node (CubeFlipF t)
 pattern CubeUnflip t = Node (CubeUnflipF t)
+pattern CubeSup l r = Node (CubeSupF l r)
+pattern CubeInf l r = Node (CubeInfF l r)
 pattern TopeTop = Node TopeTopF
 pattern TopeBottom = Node TopeBottomF
 pattern TopeEQ l r = Node (TopeEQF l r)
@@ -531,6 +560,8 @@
 pattern Second t = Node (SecondF t)
 pattern Refl mx = Node (ReflF mx)
 pattern IdJ a b c d e f = Node (IdJF a b c d e f)
+pattern Match scrut mmotive branches = Node (MatchF scrut mmotive branches)
+pattern MatchArm orig arm = Node (MatchArmF orig arm)
 pattern Unit = Node UnitF
 pattern TypeUnit = Node TypeUnitF
 pattern TypeAsc term ty = Node (TypeAscF term ty)
@@ -543,10 +574,10 @@
 
 {-# COMPLETE Var, Universe, UniverseCube, UniverseTope, CubeUnit, CubeUnitStar,
   Cube2, Cube2_0, Cube2_1, CubeI, CubeI_0, CubeI_1, CubeProduct, CubeFlip,
-  CubeUnflip, TopeTop, TopeBottom, TopeEQ, TopeLEQ, TopeAnd, TopeOr, TopeInv,
-  TopeUninv, RecBottom, RecOr, TypeFun, TypeSigma, TypeId, App, Let, Lambda,
-  Pair, First, Second, Refl, IdJ, Unit, TypeUnit, TypeAsc, TypeRestricted,
-  TypeModal, ModApp, ModExtract, LetMod, Hole #-}
+  CubeUnflip, CubeSup, CubeInf, TopeTop, TopeBottom, TopeEQ, TopeLEQ, TopeAnd,
+  TopeOr, TopeInv, TopeUninv, RecBottom, RecOr, TypeFun, TypeSigma, TypeId, App,
+  Let, Lambda, Pair, First, Second, Refl, IdJ, Match, MatchArm, Unit, TypeUnit,
+  TypeAsc, TypeRestricted, TypeModal, ModApp, ModExtract, LetMod, Hole #-}
 
 -- * Closed constants
 --
@@ -661,6 +692,12 @@
 
 cubeUnflipT :: TermT n -> TermT n -> TermT n
 cubeUnflipT cubeTy t = CubeUnflipT (topeInfo cubeTy) t
+
+cubeSupT :: TermT n -> TermT n -> TermT n -> TermT n
+cubeSupT cubeTy l r = CubeSupT (topeInfo cubeTy) l r
+
+cubeInfT :: TermT n -> TermT n -> TermT n -> TermT n
+cubeInfT cubeTy l r = CubeInfT (topeInfo cubeTy) l r
 
 -- ** Types
 
diff --git a/src/Language/Rzk/Syntax/Abs.hs b/src/Language/Rzk/Syntax/Abs.hs
--- a/src/Language/Rzk/Syntax/Abs.hs
+++ b/src/Language/Rzk/Syntax/Abs.hs
@@ -58,6 +58,7 @@
     | CommandSection a (SectionName' a)
     | CommandSectionEnd a (SectionName' a)
     | CommandDefine a (VarIdent' a) (DeclUsedVars' a) [Param' a] (Term' a) (Term' a)
+    | CommandData a (VarIdent' a) (DeclUsedVars' a) [Param' a] (DataSort' a) (DataBody' a)
   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Generic)
 
 type DeclUsedVars = DeclUsedVars' BNFC'Position
@@ -69,6 +70,34 @@
     = NoSectionName a | SomeSectionName a (VarIdent' a)
   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Generic)
 
+type DataSort = DataSort' BNFC'Position
+data DataSort' a = SomeDataSort a (Term' a) | NoDataSort a
+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Generic)
+
+type DataBody = DataBody' BNFC'Position
+data DataBody' a
+    = SomeDataBody a [Constructor' a] [DataElim' a] | NoDataBody a
+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Generic)
+
+type Constructor = Constructor' BNFC'Position
+data Constructor' a
+    = Constructor a (VarIdent' a) [Param' a] (ConstructorType' a)
+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Generic)
+
+type ConstructorType = ConstructorType' BNFC'Position
+data ConstructorType' a
+    = SomeConstructorType a (Term' a) | NoConstructorType a
+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Generic)
+
+type DataElim = DataElim' BNFC'Position
+data DataElim' a = DataElim a (VarIdent' a) (Term' a)
+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Generic)
+
+type MatchBranch = MatchBranch' BNFC'Position
+data MatchBranch' a
+    = MatchBranch a (VarIdent' a) [Pattern' a] (Term' a)
+  deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Generic)
+
 type Pattern = Pattern' BNFC'Position
 data Pattern' a
     = PatternUnit a
@@ -82,7 +111,6 @@
     = ParamPattern a (Pattern' a)
     | ParamPatternType a [Pattern' a] (Term' a)
     | ParamPatternShape a [Pattern' a] (Term' a) (Term' a)
-    | ParamPatternShapeDeprecated a (Pattern' a) (Term' a) (Term' a)
     | ParamPatternModalType a [Pattern' a] (ModalColon' a) (Term' a)
     | ParamPatternModalShape a [Pattern' a] (ModalColon' a) (Term' a) (Term' a)
   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Generic)
@@ -98,8 +126,6 @@
     = ParamType a (Term' a)
     | ParamTermType a (Term' a) (Term' a)
     | ParamTermShape a (Term' a) (Term' a) (Term' a)
-    | ParamTermTypeDeprecated a (Pattern' a) (Term' a)
-    | ParamVarShapeDeprecated a (Pattern' a) (Term' a) (Term' a)
     | ParamTermModalType a (Term' a) (ModalColon' a) (Term' a)
     | ParamTermModalShape a (Term' a) (ModalColon' a) (Term' a) (Term' a)
   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Generic)
@@ -157,6 +183,8 @@
     | CubeI_0 a
     | CubeI_1 a
     | CubeProduct a (Term' a) (Term' a)
+    | CubeSup a (Term' a) (Term' a)
+    | CubeInf a (Term' a) (Term' a)
     | TopeTop a
     | TopeBottom a
     | TopeEQ a (Term' a) (Term' a)
@@ -169,7 +197,6 @@
     | CubeUnflip a (Term' a)
     | RecBottom a
     | RecOr a [Restriction' a]
-    | RecOrDeprecated a (Term' a) (Term' a) (Term' a) (Term' a)
     | TypeFun a (ParamDecl' a) (Term' a)
     | TypeSigma a (Pattern' a) (Term' a) (Term' a)
     | TypeSigmaModal a (Pattern' a) (ModalColon' a) (Term' a) (Term' a)
@@ -178,7 +205,6 @@
     | TypeId a (Term' a) (Term' a) (Term' a)
     | TypeIdSimple a (Term' a) (Term' a)
     | TypeRestricted a (Term' a) [Restriction' a]
-    | TypeExtensionDeprecated a (ParamDecl' a) (Term' a)
     | Let a (Bind' a) (Term' a) (Term' a)
     | App a (Term' a) (Term' a)
     | Lambda a [Param' a] (Term' a)
@@ -195,6 +221,8 @@
     | ReflTerm a (Term' a)
     | ReflTermType a (Term' a) (Term' a)
     | IdJ a (Term' a) (Term' a) (Term' a) (Term' a) (Term' a) (Term' a)
+    | Match a (Term' a) [MatchBranch' a]
+    | MatchInto a (Term' a) (Term' a) [MatchBranch' a]
     | Hole a (HoleIdent' a)
     | Var a (VarIdent' a)
     | TypeAsc a (Term' a) (Term' a)
@@ -214,7 +242,6 @@
     | ASCII_TypeSigma a (Pattern' a) (Term' a) (Term' a)
     | ASCII_TypeSigmaTuple a (SigmaParam' a) [SigmaParam' a] (Term' a)
     | ASCII_Lambda a [Param' a] (Term' a)
-    | ASCII_TypeExtensionDeprecated a (ParamDecl' a) (Term' a)
     | ASCII_First a (Term' a)
     | ASCII_Second a (Term' a)
   deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Generic)
@@ -237,12 +264,18 @@
 commandDefNoParams :: a -> VarIdent' a -> DeclUsedVars' a -> Term' a -> Term' a -> Command' a
 commandDefNoParams = \ _a x vars ty term -> CommandDefine _a x vars [] ty term
 
+commandDataNoParams :: a -> VarIdent' a -> DeclUsedVars' a -> DataSort' a -> DataBody' a -> Command' a
+commandDataNoParams = \ _a x vars sort body -> CommandData _a x vars [] sort body
+
 noDeclUsedVars :: a -> DeclUsedVars' a
 noDeclUsedVars = \ _a -> DeclUsedVars _a []
 
-paramVarShapeDeprecated :: a -> Pattern' a -> Term' a -> Term' a -> ParamDecl' a
-paramVarShapeDeprecated = \ _a pat cube tope -> ParamVarShapeDeprecated _a pat cube tope
+constructorNoParams :: a -> VarIdent' a -> ConstructorType' a -> Constructor' a
+constructorNoParams = \ _a x ty -> Constructor _a x [] ty
 
+matchBranchNoParams :: a -> VarIdent' a -> Term' a -> MatchBranch' a
+matchBranchNoParams = \ _a x t -> MatchBranch _a x [] t
+
 ascii_TopeInv :: a -> Term' a -> Term' a
 ascii_TopeInv = \ _a t -> TopeInv _a t
 
@@ -258,9 +291,21 @@
 ascii_CubeProduct :: a -> Term' a -> Term' a -> Term' a
 ascii_CubeProduct = \ _a l r -> CubeProduct _a l r
 
+ascii_CubeSup :: a -> Term' a -> Term' a -> Term' a
+ascii_CubeSup = \ _a l r -> CubeSup _a l r
+
+ascii_CubeInf :: a -> Term' a -> Term' a -> Term' a
+ascii_CubeInf = \ _a l r -> CubeInf _a l r
+
 ascii_TypeSigmaModal :: a -> Pattern' a -> ModalColon' a -> Term' a -> Term' a -> Term' a
 ascii_TypeSigmaModal = \ _a p mc t r -> TypeSigmaModal _a p mc t r
 
+ascii_MatchBranch :: a -> VarIdent' a -> [Pattern' a] -> Term' a -> MatchBranch' a
+ascii_MatchBranch = \ _a x ps t -> MatchBranch _a x ps t
+
+ascii_matchBranchNoParams :: a -> VarIdent' a -> Term' a -> MatchBranch' a
+ascii_matchBranchNoParams = \ _a x t -> MatchBranch _a x [] t
+
 unicode_TypeSigmaAlt :: a -> Pattern' a -> Term' a -> Term' a -> Term' a
 unicode_TypeSigmaAlt = \ _a pat fst snd -> TypeSigma _a pat fst snd
 
@@ -321,6 +366,7 @@
     CommandSection p _ -> p
     CommandSectionEnd p _ -> p
     CommandDefine p _ _ _ _ _ -> p
+    CommandData p _ _ _ _ _ -> p
 
 instance HasPosition DeclUsedVars where
   hasPosition = \case
@@ -331,6 +377,33 @@
     NoSectionName p -> p
     SomeSectionName p _ -> p
 
+instance HasPosition DataSort where
+  hasPosition = \case
+    SomeDataSort p _ -> p
+    NoDataSort p -> p
+
+instance HasPosition DataBody where
+  hasPosition = \case
+    SomeDataBody p _ _ -> p
+    NoDataBody p -> p
+
+instance HasPosition Constructor where
+  hasPosition = \case
+    Constructor p _ _ _ -> p
+
+instance HasPosition ConstructorType where
+  hasPosition = \case
+    SomeConstructorType p _ -> p
+    NoConstructorType p -> p
+
+instance HasPosition DataElim where
+  hasPosition = \case
+    DataElim p _ _ -> p
+
+instance HasPosition MatchBranch where
+  hasPosition = \case
+    MatchBranch p _ _ _ -> p
+
 instance HasPosition Pattern where
   hasPosition = \case
     PatternUnit p -> p
@@ -343,7 +416,6 @@
     ParamPattern p _ -> p
     ParamPatternType p _ _ -> p
     ParamPatternShape p _ _ _ -> p
-    ParamPatternShapeDeprecated p _ _ _ -> p
     ParamPatternModalType p _ _ _ -> p
     ParamPatternModalShape p _ _ _ _ -> p
 
@@ -357,8 +429,6 @@
     ParamType p _ -> p
     ParamTermType p _ _ -> p
     ParamTermShape p _ _ _ -> p
-    ParamTermTypeDeprecated p _ _ -> p
-    ParamVarShapeDeprecated p _ _ _ -> p
     ParamTermModalType p _ _ _ -> p
     ParamTermModalShape p _ _ _ _ -> p
 
@@ -411,6 +481,8 @@
     CubeI_0 p -> p
     CubeI_1 p -> p
     CubeProduct p _ _ -> p
+    CubeSup p _ _ -> p
+    CubeInf p _ _ -> p
     TopeTop p -> p
     TopeBottom p -> p
     TopeEQ p _ _ -> p
@@ -423,7 +495,6 @@
     CubeUnflip p _ -> p
     RecBottom p -> p
     RecOr p _ -> p
-    RecOrDeprecated p _ _ _ _ -> p
     TypeFun p _ _ -> p
     TypeSigma p _ _ _ -> p
     TypeSigmaModal p _ _ _ _ -> p
@@ -432,7 +503,6 @@
     TypeId p _ _ _ -> p
     TypeIdSimple p _ _ -> p
     TypeRestricted p _ _ -> p
-    TypeExtensionDeprecated p _ _ -> p
     Let p _ _ _ -> p
     App p _ _ -> p
     Lambda p _ _ -> p
@@ -449,6 +519,8 @@
     ReflTerm p _ -> p
     ReflTermType p _ _ -> p
     IdJ p _ _ _ _ _ _ -> p
+    Match p _ _ -> p
+    MatchInto p _ _ _ -> p
     Hole p _ -> p
     Var p _ -> p
     TypeAsc p _ _ -> p
@@ -468,7 +540,6 @@
     ASCII_TypeSigma p _ _ _ -> p
     ASCII_TypeSigmaTuple p _ _ _ -> p
     ASCII_Lambda p _ _ -> p
-    ASCII_TypeExtensionDeprecated p _ _ -> p
     ASCII_First p _ -> p
     ASCII_Second p _ -> p
 
diff --git a/src/Language/Rzk/Syntax/Layout.hs b/src/Language/Rzk/Syntax/Layout.hs
--- a/src/Language/Rzk/Syntax/Layout.hs
+++ b/src/Language/Rzk/Syntax/Layout.hs
@@ -37,15 +37,15 @@
 layoutOpen, layoutClose, layoutSep :: [TokSymbol]
 layoutOpen  = List.nub $ mapMaybe (delimOpen  . snd) layoutWords
 layoutClose = List.nub $ mapMaybe (delimClose . snd) layoutWords
-layoutSep   = List.nub $ TokSymbol ";" 45 : map (delimSep . snd) layoutWords
+layoutSep   = List.nub $ TokSymbol ";" 46 : map (delimSep . snd) layoutWords
 
 parenOpen, parenClose :: [TokSymbol]
 parenOpen  =
-  [ TokSymbol "(" 17
+  [ TokSymbol "(" 18
   , TokSymbol "[" 60
   ]
 parenClose =
-  [ TokSymbol ")" 18
+  [ TokSymbol ")" 19
   , TokSymbol "]" 63
   ]
 
@@ -74,7 +74,7 @@
   res Nothing [if topLayout then Implicit topDelim Definitive 1 else Explicit]
   where
   topDelim :: LayoutDelimiters
-  topDelim = LayoutDelimiters (TokSymbol ";" 45) Nothing Nothing
+  topDelim = LayoutDelimiters (TokSymbol ";" 46) Nothing Nothing
 
   res :: Maybe Token -- ^ The previous token, if any.
       -> [Block]     -- ^ A stack of layout blocks.
diff --git a/src/Language/Rzk/Syntax/Lex.hs b/src/Language/Rzk/Syntax/Lex.hs
--- a/src/Language/Rzk/Syntax/Lex.hs
+++ b/src/Language/Rzk/Syntax/Lex.hs
@@ -29,21 +29,21 @@
 alex_tab_size = 8
 alex_base :: AlexAddr
 alex_base = AlexA#
-  "\xf8\xff\xff\xff\x9f\xff\xff\xff\xa2\xff\xff\xff\x94\xff\xff\xff\xa4\xff\xff\xff\x78\x00\x00\x00\xf8\x00\x00\x00\x78\x01\x00\x00\xf8\x01\x00\x00\x78\x02\x00\x00\xf8\x02\x00\x00\x78\x03\x00\x00\xf8\x03\x00\x00\x78\x04\x00\x00\xf8\x04\x00\x00\x78\x05\x00\x00\x78\x06\x00\x00\xf8\x06\x00\x00\x96\xff\xff\xff\x97\xff\xff\xff\x98\xff\xff\xff\xa8\xff\xff\xff\x9a\xff\xff\xff\xae\xff\xff\xff\x9e\xff\xff\xff\xa3\xff\xff\xff\xa1\xff\xff\xff\x7e\xff\xff\xff\x6f\x07\x00\x00\x66\x08\x00\x00\x5d\x09\x00\x00\x54\x0a\x00\x00\x5f\xff\xff\xff\x83\xff\xff\xff\x4b\x0b\x00\x00\x61\xff\xff\xff\xaa\xff\xff\xff\xad\xff\xff\xff\xf1\xff\xff\xff\xb5\xff\xff\xff\xbe\xff\xff\xff\xbd\xff\xff\xff\xbf\xff\xff\xff\xb9\xff\xff\xff\xc3\xff\xff\xff\xc4\xff\xff\xff\xc9\xff\xff\xff\xd1\xff\xff\xff\xd9\xff\xff\xff\xda\xff\xff\xff\x5b\x07\x00\x00\x41\x0c\x00\x00\x00\x00\x00\x00\x36\x00\x00\x00\x38\x0d\x00\x00\x0e\x00\x00\x00\x10\x00\x00\x00\xd5\xff\xff\xff\x15\x00\x00\x00\x2f\x0e\x00\x00\xd2\xff\xff\xff\x00\x00\x00\x00\x26\x0f\x00\x00\xd7\xff\xff\xff\x1d\x10\x00\x00\x14\x11\x00\x00\x0b\x12\x00\x00\x02\x13\x00\x00\xf9\x13\x00\x00\xf0\x14\x00\x00\xe7\x15\x00\x00\xde\x16\x00\x00\xd5\x17\x00\x00\xcc\x18\x00\x00\xc3\x19\x00\x00\xba\x1a\x00\x00\xb1\x1b\x00\x00\xa8\x1c\x00\x00\x9f\x1d\x00\x00\x96\x1e\x00\x00\x8d\x1f\x00\x00\x84\x20\x00\x00\x7b\x21\x00\x00\x00\x00\x00\x00\x4e\x22\x00\x00\xbd\x0b\x00\x00\xbd\x21\x00\x00\x00\x00\x00\x00\x8f\x22\x00\x00\x00\x23\x00\x00\xd3\x23\x00\x00\x41\x23\x00\x00\x14\x24\x00\x00\x85\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x25\x00\x00\xbb\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x26\x00\x00\xa9\x27\x00\x00\xa0\x28\x00\x00\x97\x29\x00\x00\x8e\x2a\x00\x00\x1a\x00\x00\x00\xed\xff\xff\xff\xe7\xff\xff\xff\xe6\xff\xff\xff\xe8\xff\xff\xff\xe5\xff\xff\xff\xea\xff\xff\xff\xf3\xff\xff\xff\xe3\xff\xff\xff\xe4\xff\xff\xff\xee\xff\xff\xff\xeb\xff\xff\xff\xec\xff\xff\xff\xf2\xff\xff\xff\xf4\xff\xff\xff\xef\xff\xff\xff\x85\x2b\x00\x00\x7c\x2c\x00\x00\x73\x2d\x00\x00\x6a\x2e\x00\x00\x29\x00\x00\x00\xf5\xff\xff\xff\xf6\xff\xff\xff\x00\x00\x00\x00\xab\x2e\x00\x00\x1c\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x2f\x00\x00\x5c\x30\x00\x00\xf0\xff\xff\xff\xf9\x06\x00\x00\xfd\x06\x00\x00\xfe\x06\x00\x00\xd3\x30\x00\x00\xf2\x06\x00\x00\x03\x07\x00\x00\xd8\xff\xff\xff\xc8\xff\xff\xff\xcb\xff\xff\xff\xd7\x06\x00\x00\xdd\xff\xff\xff\x00\x00\x00\x00\xff\x06\x00\x00\x14\x31\x00\x00\x85\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\xff\xff\xff\xc5\x31\x00\x00\xe3\x06\x00\x00\xbc\x32\x00\x00\xb3\x33\x00\x00\xaa\x34\x00\x00\xa1\x35\x00\x00\xce\xff\xff\xff\xc5\x06\x00\x00\xdc\xff\xff\xff\xfc\x06\x00\x00\x08\x07\x00\x00\x05\x07\x00\x00\xa1\x36\x00\x00\x52\x07\x00\x00\x66\x07\x00\x00\x30\x07\x00\x00\x27\x07\x00\x00\x37\x07\x00\x00\x28\x07\x00\x00\x33\x07\x00\x00\x39\x07\x00\x00\x32\x07\x00\x00\x3c\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x36\x00\x00\x61\x37\x00\x00\x35\x07\x00\x00"#
+  "\xf8\xff\xff\xff\x9b\xff\xff\xff\xa1\xff\xff\xff\x9a\xff\xff\xff\x9c\xff\xff\xff\xa5\xff\xff\xff\xce\xff\xff\xff\xa6\xff\xff\xff\xef\x00\x00\x00\xe6\x01\x00\x00\xdd\x02\x00\x00\xd4\x03\x00\x00\xcb\x04\x00\x00\xc2\x05\x00\x00\xb9\x06\x00\x00\xb0\x07\x00\x00\xa7\x08\x00\x00\x9e\x09\x00\x00\x95\x0a\x00\x00\x8c\x0b\x00\x00\x83\x0c\x00\x00\x7a\x0d\x00\x00\x71\x0e\x00\x00\x68\x0f\x00\x00\xe8\x0f\x00\x00\x78\xff\xff\xff\x8e\xff\xff\xff\x8d\xff\xff\xff\x8f\xff\xff\xff\x7e\xff\xff\xff\x85\xff\xff\xff\xdf\x10\x00\x00\xd6\x11\x00\x00\xcd\x12\x00\x00\xc4\x13\x00\x00\x5d\xff\xff\xff\x81\xff\xff\xff\xbb\x14\x00\x00\x5f\xff\xff\xff\x7f\xff\xff\xff\xb2\x15\x00\x00\x61\xff\xff\xff\x7b\xff\xff\xff\xf2\x15\x00\x00\xe9\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x17\x00\x00\x9b\x17\x00\x00\xdb\x17\x00\x00\x5b\x18\x00\x00\xdb\x18\x00\x00\xdb\x19\x00\x00\x52\x1a\x00\x00\x00\x00\x00\x00\xaa\xff\xff\xff\xf2\xff\xff\xff\xf6\xff\xff\xff\xff\xff\xff\xff\xd7\xff\xff\xff\xcc\xff\xff\xff\xcd\xff\xff\xff\xd8\xff\xff\xff\xdc\xff\xff\xff\xc3\xff\xff\xff\xdd\xff\xff\xff\xde\xff\xff\xff\xda\xff\xff\xff\xe2\xff\xff\xff\xdb\xff\xff\xff\xdf\xff\xff\xff\xd9\xff\xff\xff\xd2\xff\xff\xff\xe0\xff\xff\xff\xd3\xff\xff\xff\xe1\xff\xff\xff\xe3\xff\xff\xff\xe9\xff\xff\xff\xea\xff\xff\xff\xe7\xff\xff\xff\xe8\xff\xff\xff\xec\xff\xff\xff\xed\xff\xff\xff\xd6\xff\xff\xff\x00\x00\x00\x00\x52\x1b\x00\x00\x53\x1b\x00\x00\xd3\x1b\x00\x00\xee\xff\xff\xff\xef\xff\xff\xff\xf0\xff\xff\xff\xeb\xff\xff\xff\xf4\xff\xff\xff\xf7\xff\xff\xff\xf9\xff\xff\xff\xfb\xff\xff\xff\xe4\xff\xff\xff\xfd\xff\xff\xff\xe5\xff\xff\xff\x07\x00\x00\x00\xfe\xff\xff\xff\xfa\xff\xff\xff\xdb\x00\x00\x00\xc9\x1c\x00\x00\xc9\x1d\x00\x00\xca\x1d\x00\x00\x4a\x1e\x00\x00\x1d\x1f\x00\x00\x9d\x1f\x00\x00\x1d\x20\x00\x00\x8e\x20\x00\x00\x8c\x1e\x00\x00\xce\x20\x00\x00\x0f\x21\x00\x00\x80\x21\x00\x00\xc0\x21\x00\x00\x01\x22\x00\x00\x72\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x23\x00\x00\x3b\x24\x00\x00\x3b\x25\x00\x00\x3c\x25\x00\x00\xbc\x25\x00\x00\xb3\x22\x00\x00\x87\x23\x00\x00\x2d\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x00\x00\x00\x24\x27\x00\x00\x22\x00\x00\x00\x3f\x00\x00\x00\x09\x00\x00\x00\x51\x00\x00\x00\x61\x00\x00\x00\xd4\xff\xff\xff\x67\x00\x00\x00\x96\x00\x00\x00\x64\x00\x00\x00\x80\x00\x00\x00\x6e\x00\x00\x00\x1b\x28\x00\x00\x12\x29\x00\x00\x09\x2a\x00\x00\x00\x2b\x00\x00\x88\x00\x00\x00\x7f\x00\x00\x00\x8b\x00\x00\x00\x8c\x00\x00\x00\xf7\x2b\x00\x00\xf1\xff\xff\xff\xee\x2c\x00\x00\xe5\x2d\x00\x00\xdc\x2e\x00\x00\xd3\x2f\x00\x00\xca\x30\x00\x00\xfc\xff\xff\xff\xa1\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x00\x00\xea\x00\x00\x00\xc1\x31\x00\x00\xb8\x32\x00\x00\xaf\x33\x00\x00\xa6\x34\x00\x00\x9d\x35\x00\x00\x94\x36\x00\x00\x94\x37\x00\x00\xe3\x00\x00\x00\xc1\x00\x00\x00\xaf\x00\x00\x00\xc2\x00\x00\x00\xc3\x00\x00\x00\xbf\x00\x00\x00\xbb\x00\x00\x00\xbe\x00\x00\x00"#
 
 alex_table :: AlexAddr
 alex_table = AlexA#
-  "\x00\x00\x35\x00\x35\x00\x36\x00\x36\x00\x35\x00\x3d\x00\x3c\x00\x04\x00\x3d\x00\x2b\x00\xb2\x00\x73\x00\x16\x00\x6b\x00\x18\x00\x74\x00\x14\x00\x1a\x00\xa7\x00\x21\x00\x22\x00\xa4\x00\x25\x00\x35\x00\xff\xff\x61\x00\x6c\x00\x44\x00\x81\x00\x27\x00\x29\x00\x3d\x00\x3d\x00\x40\x00\xad\x00\x3d\x00\xaa\x00\xff\xff\x3b\x00\x4c\x00\x41\x00\x42\x00\x01\x00\x2f\x00\x77\x00\x2c\x00\x6d\x00\x02\x00\x72\x00\x3e\x00\x3d\x00\x7f\x00\x43\x00\x3d\x00\x52\x00\x24\x00\xae\x00\x31\x00\x5a\x00\x2d\x00\xa9\x00\xb1\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x3d\x00\x3d\x00\x78\x00\x19\x00\x03\x00\xaf\x00\xb0\x00\x14\x00\x76\x00\x30\x00\x79\x00\x6f\x00\x2e\x00\x70\x00\xac\x00\x3d\x00\x3a\x00\x3d\x00\x35\x00\x4e\x00\x6e\x00\x28\x00\xb7\x00\x04\x00\x6b\x00\x3f\x00\x1c\x00\x15\x00\x71\x00\x9f\x00\x2a\x00\x17\x00\x75\x00\x12\x00\x3d\x00\x80\x00\x7a\x00\x42\x00\x6a\x00\x13\x00\x42\x00\xa1\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x37\x00\x38\x00\x3d\x00\x93\x00\x8d\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\xa8\x00\x90\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x92\x00\x9b\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x20\x00\x8f\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0e\x00\xb4\x00\xb4\x00\xb4\x00\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x05\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x10\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x07\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x88\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x09\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x0f\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x1b\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\xb6\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa2\x00\x89\x00\xff\xff\x61\x00\x42\x00\x42\x00\x8b\x00\xa6\x00\x61\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\xa5\x00\x42\x00\x8e\x00\x91\x00\x9d\x00\x42\x00\xff\xff\x3d\x00\xff\xff\xff\xff\x33\x00\x3d\x00\xab\x00\xad\x00\xff\xff\xff\xff\x42\x00\x42\x00\xff\xff\x93\x00\x3d\x00\x3d\x00\x39\x00\x04\x00\x26\x00\x42\x00\x3d\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x00\xff\xff\xff\xff\xff\xff\x61\x00\x00\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x1f\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x20\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x23\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\x56\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\x00\x00\x00\x00\x00\x00\x00\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\xb6\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb3\x00\xb5\x00\x0f\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x97\x00\x0d\x00\x9a\x00\x9a\x00\x9a\x00\x98\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x35\x00\x35\x00\x36\x00\x36\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\x3d\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\x42\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\xff\xff\xff\xff\xff\xff\x00\x00\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x20\x00\x94\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x8a\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\xa3\x00\x96\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\x66\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\xff\xff\xff\xff\xff\xff\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x46\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\x42\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\xa3\x00\x96\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\x3d\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x42\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\x88\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x82\x00\x87\x00\x09\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x83\x00\x0a\x00\x86\x00\x86\x00\x86\x00\x84\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x5b\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x00\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\x11\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5b\x00\x05\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x56\x00\x06\x00\x60\x00\x60\x00\x60\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\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\x58\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\x54\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x11\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5b\x00\x05\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x56\x00\x06\x00\x60\x00\x60\x00\x60\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x62\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\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x63\x00\x62\x00\x07\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x64\x00\x5c\x00\x08\x00\x65\x00\x65\x00\x65\x00\x5d\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\x42\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\x42\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\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x67\x00\x00\x00\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\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x3d\x00\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x7c\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x87\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\x83\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x8c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb5\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\x97\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x9e\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xa0\x00\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\xff\xff\x00\x00\x00\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\xa8\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x95\x00\x9c\x00\x0c\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x57\x00\x58\x00\x0b\x00\xb4\x00\xb4\x00\xb4\x00\x59\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\x8b\x00\x8b\x00\x8c\x00\x8c\x00\x8b\x00\xa9\x00\xa9\x00\x05\x00\xa9\x00\xb6\x00\xa9\x00\xa8\x00\x1a\x00\xaf\x00\x1c\x00\xaf\x00\xaf\x00\x24\x00\x25\x00\x27\x00\xaf\x00\x2a\x00\xaf\x00\x8b\x00\xff\xff\x68\x00\x3c\x00\x08\x00\xaf\x00\x3a\x00\x80\x00\xa9\x00\xa9\x00\xb1\x00\x5f\x00\xa9\x00\x39\x00\xff\xff\xae\x00\x28\x00\xad\x00\xaf\x00\xaf\x00\x6c\x00\xb5\x00\x66\x00\x42\x00\xa9\x00\x07\x00\xac\x00\xa9\x00\x06\x00\xb0\x00\xff\xff\x36\x00\x50\x00\xb9\x00\x64\x00\x3d\x00\x03\x00\x5c\x00\x5a\x00\x45\x00\x43\x00\x01\x00\x3e\x00\x3f\x00\x38\x00\x49\x00\x4a\x00\x4e\x00\x4c\x00\x4f\x00\x44\x00\x41\x00\x61\x00\x40\x00\xb6\x00\xb3\x00\x5d\x00\xb7\x00\x51\x00\xa9\x00\xab\x00\xa9\x00\x3a\x00\x15\x00\x52\x00\xba\x00\x53\x00\x47\x00\x63\x00\x48\x00\x1f\x00\x59\x00\x4b\x00\x99\x00\x54\x00\xb6\x00\x5b\x00\xa7\x00\x62\x00\x49\x00\x5e\x00\x02\x00\xa6\x00\x02\x00\x60\x00\x9b\x00\x8e\x00\x46\x00\x8f\x00\xa0\x00\x65\x00\x3b\x00\x8d\x00\xa9\x00\x4d\x00\xaf\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\xb2\x00\x95\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x92\x00\xa1\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x23\x00\x94\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x18\x00\x78\x00\x78\x00\x78\x00\x6f\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\x90\x00\xaf\x00\xff\xff\x68\x00\xaf\x00\xaf\x00\xaf\x00\x9c\x00\x68\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\x8b\x00\xaf\x00\xaf\x00\x04\x00\xaf\x00\xaf\x00\xaf\x00\x9e\x00\xff\xff\xa9\x00\xff\xff\xff\xff\xaf\x00\xaf\x00\xaf\x00\xaf\x00\xff\xff\xff\xff\xa9\x00\x8b\x00\xff\xff\x1e\x00\x1d\x00\x97\x00\x93\x00\x96\x00\xa9\x00\xa9\x00\xb4\x00\xaf\x00\xaf\x00\xa9\x00\xa9\x00\xaa\x00\xb8\x00\xff\xff\xff\xff\xa9\x00\xff\xff\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xff\xff\xff\xff\xff\xff\x68\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x0a\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x0f\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xa9\x00\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\xaf\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xaf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xa9\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xaf\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x19\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x20\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x22\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x23\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x26\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x29\x00\x1b\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x34\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\x2e\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\x2e\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\x2e\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\x2e\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\x2e\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\x2e\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\x2e\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\x2e\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\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x35\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\x35\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x2f\x00\x32\x00\x34\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\x2e\x00\x2e\x00\x31\x00\x33\x00\x2d\x00\x2d\x00\x2d\x00\x30\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\x00\x00\x56\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x57\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\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\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x74\x00\x6a\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x75\x00\x6b\x00\x7e\x00\x7e\x00\x7e\x00\x76\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\x00\x00\x69\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x7c\x00\x6a\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7d\x00\x7f\x00\x2b\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x71\x00\x57\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x72\x00\x58\x00\x7b\x00\x7b\x00\x7b\x00\x73\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\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\x75\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\x7f\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\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\x56\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x79\x00\x71\x00\x57\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x7a\x00\x72\x00\x58\x00\x7b\x00\x7b\x00\x7b\x00\x73\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\x84\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x81\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x84\x00\x82\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x85\x00\x83\x00\x89\x00\x89\x00\x89\x00\x86\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\x00\x00\x81\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x87\x00\x82\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x88\x00\x85\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\x8b\x00\x8b\x00\x8c\x00\x8c\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\x8b\x00\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x98\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x99\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x9a\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x9f\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\xaf\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xaf\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\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xa3\x00\x00\x00\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\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xa4\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\xaf\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\xff\xff\xff\xff\xff\xff\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x23\x00\x91\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x29\x00\x1b\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xa9\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\xa2\x00\xa9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\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\xff\xff\x00\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\x00\x00\x00\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\xb2\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x2b\x00\x6d\x00\x77\x00\x9d\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x77\x00\x70\x00\x6e\x00\x78\x00\x78\x00\x78\x00\x6f\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x67\x00\x65\x00\x74\x00\x65\x00\x74\x00\x74\x00\x74\x00\x65\x00\x74\x00\x61\x00\x72\x00\x70\x00\x6f\x00\x95\x00\xb5\x00\x92\x00\xb5\x00\x6d\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x70\x00\x2d\x00\x61\x00\x28\x00\x29\x00\x2a\x00\x6e\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x6e\x00\x77\x00\x6e\x00\x75\x00\x6c\x00\x6c\x00\x68\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x6f\x00\x68\x00\x61\x00\x2d\x00\x62\x00\x2d\x00\x69\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x2f\x00\x73\x00\x6f\x00\x2d\x00\x61\x00\x63\x00\x65\x00\x63\x00\x69\x00\x69\x00\x61\x00\x65\x00\x63\x00\x64\x00\x65\x00\x5b\x00\x5c\x00\x5d\x00\x20\x00\x5f\x00\x65\x00\x6c\x00\x6f\x00\x6d\x00\x74\x00\x70\x00\x66\x00\x73\x00\x73\x00\x69\x00\x75\x00\x76\x00\x75\x00\x73\x00\x3d\x00\x73\x00\x73\x00\xa1\x00\x72\x00\x75\x00\xa4\x00\x75\x00\xa3\x00\x97\x00\xa2\x00\x81\x00\x96\x00\x7b\x00\x7c\x00\x7d\x00\x99\x00\x80\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\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\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\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\x3a\x00\x3b\x00\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\x5b\x00\x5c\x00\x5d\x00\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\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x00\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\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\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\x3a\x00\x3b\x00\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\x5b\x00\x5c\x00\x5d\x00\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\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x09\x00\x0a\x00\xb5\x00\x82\x00\x0d\x00\x22\x00\x81\x00\x82\x00\x82\x00\x82\x00\x27\x00\x91\x00\xad\x00\x80\x00\xaf\x00\xa4\x00\xa5\x00\x86\x00\x82\x00\x88\x00\x89\x00\x8a\x00\x92\x00\x20\x00\x3e\x00\x22\x00\x23\x00\x2d\x00\x64\x00\x6e\x00\x6e\x00\x28\x00\x29\x00\xa7\x00\xa8\x00\x2c\x00\x99\x00\x66\x00\x6b\x00\x66\x00\x6e\x00\x65\x00\xa6\x00\x6e\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x5b\x00\x5c\x00\x5d\x00\x72\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6c\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\x3d\x00\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\x3d\x00\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x78\x00\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\x61\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x49\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\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\x22\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\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\x3d\x00\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\x2d\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x6b\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\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\x7a\x00\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x6c\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\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\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\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\x3a\x00\x3b\x00\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\x5b\x00\x5c\x00\x5d\x00\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\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x6e\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\x69\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x6e\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\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\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\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\x3a\x00\x3b\x00\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\x5b\x00\x5c\x00\x5d\x00\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\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\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\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\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\x3a\x00\x3b\x00\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\x5b\x00\x5c\x00\x5d\x00\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\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\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\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x6b\x00\x66\x00\x6e\x00\x64\x00\x6e\x00\x3d\x00\x66\x00\x95\x00\x80\x00\x82\x00\x92\x00\x82\x00\xb5\x00\x92\x00\xb5\x00\x96\x00\xb5\x00\x92\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\xa2\x00\x74\x00\x2d\x00\x28\x00\x29\x00\x2a\x00\x2d\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xa6\x00\x2d\x00\x61\x00\x61\x00\x6c\x00\x3e\x00\x65\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x61\x00\x61\x00\x63\x00\x64\x00\x65\x00\x61\x00\x61\x00\x65\x00\x65\x00\x63\x00\x69\x00\x6c\x00\x65\x00\x63\x00\x74\x00\x70\x00\x75\x00\x69\x00\x73\x00\x75\x00\x75\x00\x76\x00\x6d\x00\x2d\x00\x6d\x00\x6c\x00\x6e\x00\x5b\x00\x5c\x00\x5d\x00\x74\x00\x5f\x00\x6f\x00\x6f\x00\x73\x00\x73\x00\x62\x00\x72\x00\x66\x00\x73\x00\x73\x00\x69\x00\x74\x00\x74\x00\x70\x00\x75\x00\x68\x00\x70\x00\x6f\x00\x6e\x00\x72\x00\x6e\x00\x2d\x00\x75\x00\x65\x00\x68\x00\x74\x00\x80\x00\x77\x00\x7b\x00\x7c\x00\x7d\x00\x6f\x00\xa3\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\x99\x00\x97\x00\x0d\x00\x22\x00\xad\x00\x91\x00\xaf\x00\x82\x00\x27\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xa1\x00\x81\x00\x69\x00\xa4\x00\x81\x00\x82\x00\x82\x00\x20\x00\x73\x00\x22\x00\x23\x00\x93\x00\x94\x00\xa7\x00\xa8\x00\x28\x00\x29\x00\x2f\x00\x20\x00\x2c\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x3e\x00\x61\x00\x74\x00\xa4\x00\xa5\x00\x67\x00\x65\x00\x65\x00\x6e\x00\x3b\x00\x3c\x00\x6e\x00\x3e\x00\xff\xff\x99\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x5b\x00\x5c\x00\x5d\x00\x72\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x65\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x78\x00\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\x61\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x6c\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x63\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x49\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x6c\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\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\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\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\x3a\x00\x3b\x00\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\x5b\x00\x5c\x00\x5d\x00\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\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\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\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\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\x3a\x00\x3b\x00\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\x5b\x00\x5c\x00\x5d\x00\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\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\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\x22\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\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\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\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\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\x3a\x00\x3b\x00\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\x5b\x00\x5c\x00\x5d\x00\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\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\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\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\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\x3a\x00\x3b\x00\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\x5b\x00\x5c\x00\x5d\x00\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\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x6e\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\x69\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x6e\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\x3d\x00\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\x2d\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x6b\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\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\x7a\x00\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\x3d\x00\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\x3d\x00\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\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\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\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\x3b\x00\x3c\x00\xff\xff\x3e\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\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\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\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\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\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\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\x3a\x00\x3b\x00\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\x5b\x00\x5c\x00\x5d\x00\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\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\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"#
 
 alex_deflt :: AlexAddr
 alex_deflt = AlexA#
-  "\x51\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\x61\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x95\x00\x51\x00\x51\x00\x51\x00\x51\x00\x95\x00\x51\x00\x51\x00\x95\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\x33\x00\xff\xff\xff\xff\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\xff\xff\xff\xff\x51\x00\xff\xff\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x52\x00\xff\xff\x5a\x00\x5f\x00\x5e\x00\x95\x00\x95\x00\x57\x00\x5a\x00\x5a\x00\x63\x00\x64\x00\x5a\x00\x5e\x00\x5f\x00\x61\x00\x61\x00\x61\x00\x63\x00\x64\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\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\x51\x00\x51\x00\x51\x00\x51\x00\xff\xff\xff\xff\xff\xff\x52\x00\x82\x00\x85\x00\x82\x00\x85\x00\x52\x00\x52\x00\x51\x00\x95\x00\x51\x00\x95\x00\x51\x00\x51\x00\x95\x00\x51\x00\x51\x00\x51\x00\x51\x00\x95\x00\x51\x00\x95\x00\xb3\x00\x99\x00\xb3\x00\x99\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\x95\x00\x51\x00\x51\x00\x51\x00\x51\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x57\x00\x33\x00\x33\x00\xff\xff"#
+  "\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\xff\xff\x55\x00\x2c\x00\x55\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x55\x00\x2c\x00\x2c\x00\x55\x00\x2c\x00\x2c\x00\x55\x00\x2c\x00\x2c\x00\x2c\x00\x2e\x00\x2f\x00\x36\x00\x2e\x00\x2f\x00\x36\x00\xff\xff\xff\xff\x36\x00\x36\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\x2c\x00\x6c\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\x68\x00\x68\x00\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\x77\x00\x55\x00\x6c\x00\x79\x00\x7a\x00\x68\x00\x7c\x00\x7d\x00\x55\x00\x77\x00\x6c\x00\x79\x00\x7a\x00\x68\x00\x7c\x00\x7d\x00\x6c\x00\x80\x00\x80\x00\xff\xff\xff\xff\x80\x00\x87\x00\x88\x00\x80\x00\x87\x00\x88\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\x2c\x00\x55\x00\x2c\x00\x2c\x00\x55\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x55\x00\x2c\x00\x55\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
 
-alex_accept = Data.Array.listArray (0 :: Int, 183)
+alex_accept = Data.Array.listArray (0 :: Int, 186)
   [ AlexAccNone
   , AlexAccNone
   , AlexAccNone
@@ -52,6 +52,22 @@
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
+  , AlexAcc 46
+  , AlexAcc 45
+  , AlexAcc 44
+  , AlexAcc 43
+  , AlexAcc 42
+  , AlexAcc 41
+  , AlexAcc 40
+  , AlexAcc 39
+  , AlexAcc 38
+  , AlexAcc 37
+  , AlexAcc 36
+  , AlexAcc 35
+  , AlexAcc 34
+  , AlexAcc 33
+  , AlexAcc 32
+  , AlexAcc 31
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
@@ -59,30 +75,33 @@
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
+  , AlexAcc 30
+  , AlexAcc 29
+  , AlexAcc 28
+  , AlexAcc 27
   , AlexAccNone
   , AlexAccNone
+  , AlexAcc 26
   , AlexAccNone
   , AlexAccNone
+  , AlexAcc 25
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
+  , AlexAcc 24
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
-  , AlexAcc 48
-  , AlexAcc 47
-  , AlexAcc 46
-  , AlexAcc 45
   , AlexAccNone
   , AlexAccNone
-  , AlexAcc 44
   , AlexAccNone
+  , AlexAcc 23
+  , AlexAcc 22
   , AlexAccNone
   , AlexAccNone
-  , AlexAcc 43
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
@@ -95,39 +114,7 @@
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
-  , AlexAccSkip
-  , AlexAccSkip
-  , AlexAccSkip
-  , AlexAccSkip
-  , AlexAcc 42
-  , AlexAcc 41
-  , AlexAcc 40
-  , AlexAcc 39
-  , AlexAcc 38
-  , AlexAcc 37
-  , AlexAcc 36
-  , AlexAcc 35
   , AlexAccNone
-  , AlexAcc 34
-  , AlexAcc 33
-  , AlexAcc 32
-  , AlexAcc 31
-  , AlexAcc 30
-  , AlexAcc 29
-  , AlexAcc 28
-  , AlexAcc 27
-  , AlexAcc 26
-  , AlexAcc 25
-  , AlexAcc 24
-  , AlexAcc 23
-  , AlexAcc 22
-  , AlexAcc 21
-  , AlexAcc 20
-  , AlexAcc 19
-  , AlexAcc 18
-  , AlexAcc 17
-  , AlexAcc 16
-  , AlexAcc 15
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
@@ -146,11 +133,6 @@
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
-  , AlexAcc 14
-  , AlexAcc 13
-  , AlexAcc 12
-  , AlexAcc 11
-  , AlexAcc 10
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
@@ -167,11 +149,6 @@
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
-  , AlexAcc 9
-  , AlexAcc 8
-  , AlexAcc 7
-  , AlexAcc 6
-  , AlexAcc 5
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
@@ -185,7 +162,6 @@
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
-  , AlexAcc 4
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
@@ -196,19 +172,21 @@
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
+  , AlexAccSkip
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
-  , AlexAcc 3
-  , AlexAcc 2
-  , AlexAcc 1
-  , AlexAcc 0
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
+  , AlexAccSkip
+  , AlexAccSkip
+  , AlexAccSkip
+  , AlexAcc 21
+  , AlexAcc 20
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
@@ -218,37 +196,60 @@
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
+  , AlexAcc 19
+  , AlexAcc 18
+  , AlexAcc 17
+  , AlexAcc 16
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
+  , AlexAcc 15
   , AlexAccNone
+  , AlexAcc 14
+  , AlexAcc 13
+  , AlexAcc 12
+  , AlexAcc 11
+  , AlexAcc 10
   , AlexAccNone
+  , AlexAcc 9
+  , AlexAcc 8
+  , AlexAcc 7
+  , AlexAcc 6
+  , AlexAcc 5
+  , AlexAcc 4
+  , AlexAcc 3
+  , AlexAcc 2
+  , AlexAcc 1
+  , AlexAcc 0
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
   , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
+  , AlexAccNone
   ]
 
-alex_actions = Data.Array.array (0 :: Int, 49)
-  [ (48,alex_action_4)
-  , (47,alex_action_4)
-  , (46,alex_action_4)
+alex_actions = Data.Array.array (0 :: Int, 47)
+  [ (46,alex_action_4)
   , (45,alex_action_4)
   , (44,alex_action_4)
-  , (43,alex_action_3)
-  , (42,alex_action_3)
-  , (41,alex_action_3)
-  , (40,alex_action_3)
-  , (39,alex_action_3)
-  , (38,alex_action_3)
-  , (37,alex_action_3)
-  , (36,alex_action_3)
-  , (35,alex_action_3)
-  , (34,alex_action_3)
-  , (33,alex_action_3)
-  , (32,alex_action_3)
-  , (31,alex_action_3)
+  , (43,alex_action_4)
+  , (42,alex_action_4)
+  , (41,alex_action_4)
+  , (40,alex_action_4)
+  , (39,alex_action_4)
+  , (38,alex_action_4)
+  , (37,alex_action_4)
+  , (36,alex_action_4)
+  , (35,alex_action_4)
+  , (34,alex_action_4)
+  , (33,alex_action_4)
+  , (32,alex_action_4)
+  , (31,alex_action_4)
   , (30,alex_action_4)
   , (29,alex_action_4)
   , (28,alex_action_4)
@@ -256,30 +257,30 @@
   , (26,alex_action_4)
   , (25,alex_action_4)
   , (24,alex_action_4)
-  , (23,alex_action_4)
-  , (22,alex_action_4)
-  , (21,alex_action_4)
-  , (20,alex_action_4)
+  , (23,alex_action_5)
+  , (22,alex_action_7)
+  , (21,alex_action_3)
+  , (20,alex_action_3)
   , (19,alex_action_4)
   , (18,alex_action_4)
   , (17,alex_action_4)
-  , (16,alex_action_5)
-  , (15,alex_action_7)
+  , (16,alex_action_4)
+  , (15,alex_action_4)
   , (14,alex_action_4)
   , (13,alex_action_4)
   , (12,alex_action_4)
   , (11,alex_action_4)
   , (10,alex_action_4)
-  , (9,alex_action_4)
-  , (8,alex_action_4)
-  , (7,alex_action_4)
-  , (6,alex_action_4)
+  , (9,alex_action_3)
+  , (8,alex_action_3)
+  , (7,alex_action_3)
+  , (6,alex_action_3)
   , (5,alex_action_3)
-  , (4,alex_action_4)
-  , (3,alex_action_4)
-  , (2,alex_action_4)
-  , (1,alex_action_4)
-  , (0,alex_action_4)
+  , (4,alex_action_3)
+  , (3,alex_action_3)
+  , (2,alex_action_3)
+  , (1,alex_action_3)
+  , (0,alex_action_3)
   ]
 
 alex_action_3 = tok (eitherResIdent TV)
@@ -625,70 +626,70 @@
 -- | The keywords and symbols of the language organized as binary search tree.
 resWords :: BTree
 resWords =
-  b "TOP" 56
-    (b "0\7522" 28
-       (b "#variable" 14
-          (b "#define" 7
+  b "Unit" 59
+    (b "0\8322" 30
+       (b "#variable" 15
+          (b "#define" 8
              (b "#compute-nf" 4
                 (b "#check" 2 (b "#assume" 1 N N) (b "#compute" 3 N N))
-                (b "#def" 6 (b "#compute-whnf" 5 N N) N))
-             (b "#section" 11
-                (b "#lang" 9 (b "#end" 8 N N) (b "#postulate" 10 N N))
-                (b "#unset-option" 13 (b "#set-option" 12 N N) N)))
-          (b "*\8321" 21
-             (b ")" 18
-                (b "$extract$" 16 (b "#variables" 15 N N) (b "(" 17 N N))
-                (b "*_1" 20 (b "*" 19 N N) N))
-             (b "/\\" 25
-                (b "->" 23 (b "," 22 N N) (b "/" 24 N N))
-                (b "0_I" 27 (b "0_2" 26 N N) N))))
-       (b ":\7506\7510" 42
-          (b "2" 35
-             (b "1_I" 32
-                (b "1" 30 (b "0\8322" 29 N N) (b "1_2" 31 N N))
-                (b "1\8322" 34 (b "1\7522" 33 N N) N))
-             (b ":_b" 39
-                (b ":=" 37 (b ":" 36 N N) (b ":_#" 38 N N))
-                (b ":_op" 41 (b ":_id" 40 N N) N)))
-          (b "===" 49
-             (b "<" 46
-                (b ":\9839" 44 (b ":\9837" 43 N N) (b ";" 45 N N))
-                (b "=" 48 (b "<=" 47 N N) N))
-             (b "CUBE" 53
-                (b ">" 51 (b "=_{" 50 N N) (b "BOT" 52 N N))
-                (b "Sigma" 55 (b "II" 54 N N) N)))))
-    (b "unflip_op" 84
-       (b "flip_op" 70
-          (b "]" 63
-             (b "[" 60
-                (b "U" 58 (b "TOPE" 57 N N) (b "Unit" 59 N N))
-                (b "\\/" 62 (b "\\" 61 N N) N))
-             (b "_op" 67
-                (b "_b" 65 (b "_#" 64 N N) (b "_id" 66 N N))
-                (b "first" 69 (b "as" 68 N N) N)))
-          (b "mod" 77
-             (b "inv_op" 74
-                (b "idJ" 72 (b "flip\7506\7510" 71 N N) (b "in" 73 N N))
-                (b "let" 76 (b "inv\7506\7510" 75 N N) N))
-             (b "refl_{" 81
-                (b "recOR" 79 (b "recBOT" 78 N N) (b "refl" 80 N N))
-                (b "second" 83 (b "rzk-1" 82 N N) N))))
-       (b "\7506\7510" 98
-          (b "|" 91
-             (b "unit" 88
-                (b "uninv_op" 86
-                   (b "unflip\7506\7510" 85 N N) (b "uninv\7506\7510" 87 N N))
-                (b "{" 90 (b "uses" 89 N N) N))
-             (b "\931" 95
-                (b "}" 93 (b "|->" 92 N N) (b "\215" 94 N N))
-                (b "\960\8322" 97 (b "\960\8321" 96 N N) N)))
-          (b "\8804" 105
-             (b "\8743" 102
-                (b "\8614" 100 (b "\8594" 99 N N) (b "\8721" 101 N N))
-                (b "\8801" 104 (b "\8744" 103 N N) N))
-             (b "\9837" 108
-                (b "\8869" 107 (b "\8868" 106 N N) N)
-                (b "\120128" 110 (b "\9839" 109 N N) N)))))
+                (b "#data" 6 (b "#compute-whnf" 5 N N) (b "#def" 7 N N)))
+             (b "#section" 12
+                (b "#lang" 10 (b "#end" 9 N N) (b "#postulate" 11 N N))
+                (b "#unset-option" 14 (b "#set-option" 13 N N) N)))
+          (b "," 23
+             (b ")" 19
+                (b "$extract$" 17 (b "#variables" 16 N N) (b "(" 18 N N))
+                (b "*_1" 21 (b "*" 20 N N) (b "*\8321" 22 N N)))
+             (b "0_2" 27
+                (b "/" 25 (b "->" 24 N N) (b "/\\" 26 N N))
+                (b "0\7522" 29 (b "0_I" 28 N N) N))))
+       (b ":\9839" 45
+          (b ":=" 38
+             (b "1\7522" 34
+                (b "1_2" 32 (b "1" 31 N N) (b "1_I" 33 N N))
+                (b "2" 36 (b "1\8322" 35 N N) (b ":" 37 N N)))
+             (b ":_op" 42
+                (b ":_b" 40 (b ":_#" 39 N N) (b ":_id" 41 N N))
+                (b ":\9837" 44 (b ":\7506\7510" 43 N N) N)))
+          (b "BOT" 52
+             (b "===" 49
+                (b "<=" 47 (b ";" 46 N N) (b "=" 48 N N))
+                (b "=_{" 51 (b "=>" 50 N N) N))
+             (b "TOP" 56
+                (b "II" 54 (b "CUBE" 53 N N) (b "Sigma" 55 N N))
+                (b "U" 58 (b "TOPE" 57 N N) N)))))
+    (b "unflip_op" 89
+       (b "in" 74
+          (b "_op" 67
+             (b "]" 63
+                (b "\\" 61 (b "[" 60 N N) (b "\\/" 62 N N))
+                (b "_b" 65 (b "_#" 64 N N) (b "_id" 66 N N)))
+             (b "flip_op" 71
+                (b "eliminator" 69 (b "as" 68 N N) (b "first" 70 N N))
+                (b "idJ" 73 (b "flip\7506\7510" 72 N N) N)))
+          (b "recBOT" 82
+             (b "inv\7506\7510" 78
+                (b "into" 76 (b "inf" 75 N N) (b "inv_op" 77 N N))
+                (b "match" 80 (b "let" 79 N N) (b "mod" 81 N N)))
+             (b "rzk-1" 86
+                (b "refl" 84 (b "recOR" 83 N N) (b "refl_{" 85 N N))
+                (b "sup" 88 (b "second" 87 N N) N))))
+       (b "\8614" 104
+          (b "}" 97
+             (b "unit" 93
+                (b "uninv_op" 91
+                   (b "unflip\7506\7510" 90 N N) (b "uninv\7506\7510" 92 N N))
+                (b "|" 95 (b "uses" 94 N N) (b "|->" 96 N N)))
+             (b "\960\8322" 101
+                (b "\931" 99 (b "\215" 98 N N) (b "\960\8321" 100 N N))
+                (b "\8594" 103 (b "\7506\7510" 102 N N) N)))
+          (b "\8851" 111
+             (b "\8744" 108
+                (b "\8721" 106 (b "\8658" 105 N N) (b "\8743" 107 N N))
+                (b "\8804" 110 (b "\8801" 109 N N) N))
+             (b "\9837" 115
+                (b "\8868" 113 (b "\8852" 112 N N) (b "\8869" 114 N N))
+                (b "\120128" 117 (b "\9839" 116 N N) N)))))
   where
   b s n = B bs (TS bs n)
     where
diff --git a/src/Language/Rzk/Syntax/Par.hs b/src/Language/Rzk/Syntax/Par.hs
--- a/src/Language/Rzk/Syntax/Par.hs
+++ b/src/Language/Rzk/Syntax/Par.hs
@@ -24,2620 +24,2935 @@
   , pListCommand
   , pDeclUsedVars
   , pSectionName
-  , pPattern
-  , pListPattern
-  , pPattern1
-  , pListPattern1
-  , pParam
-  , pListParam
-  , pBind
-  , pParamDecl
-  , pSigmaParam
-  , pListSigmaParam
-  , pRestriction
-  , pListRestriction
-  , pModality
-  , pModComp
-  , pModalColon
-  , pTerm7
-  , pTerm5
-  , pTerm4
-  , pTerm3
-  , pTerm2
-  , pTerm6
-  , pTerm1
-  , pTerm
-  , pListTerm
-  ) where
-
-import Prelude
-
-import qualified Language.Rzk.Syntax.Abs
-import Language.Rzk.Syntax.Lex
-import qualified Data.Text
-import qualified Control.Monad as Happy_Prelude
-import qualified Data.Bool as Happy_Prelude
-import qualified Data.Function as Happy_Prelude
-import qualified Data.Int as Happy_Prelude
-import qualified Data.List as Happy_Prelude
-import qualified Data.Maybe as Happy_Prelude
-import qualified Data.String as Happy_Prelude
-import qualified Data.Tuple as Happy_Prelude
-import qualified GHC.Err as Happy_Prelude
-import qualified GHC.Num as Happy_Prelude
-import qualified Text.Show as Happy_Prelude
-import qualified Data.Array as Happy_Data_Array
-import qualified Data.Bits as Bits
-import qualified GHC.Exts as Happy_GHC_Exts
-import Control.Applicative(Applicative(..))
-import Control.Monad (ap)
-
--- parser produced by Happy Version 2.2
-
-newtype HappyAbsSyn  = HappyAbsSyn HappyAny
-#if __GLASGOW_HASKELL__ >= 607
-type HappyAny = Happy_GHC_Exts.Any
-#else
-type HappyAny = forall a . a
-#endif
-newtype HappyWrap38 = HappyWrap38 ((Language.Rzk.Syntax.Abs.BNFC'Position, String))
-happyIn38 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, String)) -> (HappyAbsSyn )
-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap38 x)
-{-# INLINE happyIn38 #-}
-happyOut38 :: (HappyAbsSyn ) -> HappyWrap38
-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut38 #-}
-newtype HappyWrap39 = HappyWrap39 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdentToken))
-happyIn39 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdentToken)) -> (HappyAbsSyn )
-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap39 x)
-{-# INLINE happyIn39 #-}
-happyOut39 :: (HappyAbsSyn ) -> HappyWrap39
-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut39 #-}
-newtype HappyWrap40 = HappyWrap40 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdentToken))
-happyIn40 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdentToken)) -> (HappyAbsSyn )
-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap40 x)
-{-# INLINE happyIn40 #-}
-happyOut40 :: (HappyAbsSyn ) -> HappyWrap40
-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut40 #-}
-newtype HappyWrap41 = HappyWrap41 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module))
-happyIn41 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module)) -> (HappyAbsSyn )
-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap41 x)
-{-# INLINE happyIn41 #-}
-happyOut41 :: (HappyAbsSyn ) -> HappyWrap41
-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut41 #-}
-newtype HappyWrap42 = HappyWrap42 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent))
-happyIn42 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent)) -> (HappyAbsSyn )
-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap42 x)
-{-# INLINE happyIn42 #-}
-happyOut42 :: (HappyAbsSyn ) -> HappyWrap42
-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut42 #-}
-newtype HappyWrap43 = HappyWrap43 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent))
-happyIn43 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent)) -> (HappyAbsSyn )
-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap43 x)
-{-# INLINE happyIn43 #-}
-happyOut43 :: (HappyAbsSyn ) -> HappyWrap43
-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut43 #-}
-newtype HappyWrap44 = HappyWrap44 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.VarIdent]))
-happyIn44 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.VarIdent])) -> (HappyAbsSyn )
-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap44 x)
-{-# INLINE happyIn44 #-}
-happyOut44 :: (HappyAbsSyn ) -> HappyWrap44
-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut44 #-}
-newtype HappyWrap45 = HappyWrap45 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl))
-happyIn45 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl)) -> (HappyAbsSyn )
-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap45 x)
-{-# INLINE happyIn45 #-}
-happyOut45 :: (HappyAbsSyn ) -> HappyWrap45
-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut45 #-}
-newtype HappyWrap46 = HappyWrap46 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Language))
-happyIn46 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Language)) -> (HappyAbsSyn )
-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap46 x)
-{-# INLINE happyIn46 #-}
-happyOut46 :: (HappyAbsSyn ) -> HappyWrap46
-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut46 #-}
-newtype HappyWrap47 = HappyWrap47 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command))
-happyIn47 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command)) -> (HappyAbsSyn )
-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap47 x)
-{-# INLINE happyIn47 #-}
-happyOut47 :: (HappyAbsSyn ) -> HappyWrap47
-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut47 #-}
-newtype HappyWrap48 = HappyWrap48 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command]))
-happyIn48 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command])) -> (HappyAbsSyn )
-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap48 x)
-{-# INLINE happyIn48 #-}
-happyOut48 :: (HappyAbsSyn ) -> HappyWrap48
-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut48 #-}
-newtype HappyWrap49 = HappyWrap49 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DeclUsedVars))
-happyIn49 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DeclUsedVars)) -> (HappyAbsSyn )
-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap49 x)
-{-# INLINE happyIn49 #-}
-happyOut49 :: (HappyAbsSyn ) -> HappyWrap49
-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut49 #-}
-newtype HappyWrap50 = HappyWrap50 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SectionName))
-happyIn50 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SectionName)) -> (HappyAbsSyn )
-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap50 x)
-{-# INLINE happyIn50 #-}
-happyOut50 :: (HappyAbsSyn ) -> HappyWrap50
-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut50 #-}
-newtype HappyWrap51 = HappyWrap51 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern))
-happyIn51 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern)) -> (HappyAbsSyn )
-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap51 x)
-{-# INLINE happyIn51 #-}
-happyOut51 :: (HappyAbsSyn ) -> HappyWrap51
-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut51 #-}
-newtype HappyWrap52 = HappyWrap52 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern]))
-happyIn52 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern])) -> (HappyAbsSyn )
-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap52 x)
-{-# INLINE happyIn52 #-}
-happyOut52 :: (HappyAbsSyn ) -> HappyWrap52
-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut52 #-}
-newtype HappyWrap53 = HappyWrap53 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern))
-happyIn53 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern)) -> (HappyAbsSyn )
-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap53 x)
-{-# INLINE happyIn53 #-}
-happyOut53 :: (HappyAbsSyn ) -> HappyWrap53
-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut53 #-}
-newtype HappyWrap54 = HappyWrap54 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern]))
-happyIn54 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern])) -> (HappyAbsSyn )
-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap54 x)
-{-# INLINE happyIn54 #-}
-happyOut54 :: (HappyAbsSyn ) -> HappyWrap54
-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut54 #-}
-newtype HappyWrap55 = HappyWrap55 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Param))
-happyIn55 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Param)) -> (HappyAbsSyn )
-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap55 x)
-{-# INLINE happyIn55 #-}
-happyOut55 :: (HappyAbsSyn ) -> HappyWrap55
-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut55 #-}
-newtype HappyWrap56 = HappyWrap56 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Param]))
-happyIn56 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Param])) -> (HappyAbsSyn )
-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap56 x)
-{-# INLINE happyIn56 #-}
-happyOut56 :: (HappyAbsSyn ) -> HappyWrap56
-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut56 #-}
-newtype HappyWrap57 = HappyWrap57 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Bind))
-happyIn57 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Bind)) -> (HappyAbsSyn )
-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap57 x)
-{-# INLINE happyIn57 #-}
-happyOut57 :: (HappyAbsSyn ) -> HappyWrap57
-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut57 #-}
-newtype HappyWrap58 = HappyWrap58 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ParamDecl))
-happyIn58 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ParamDecl)) -> (HappyAbsSyn )
-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap58 x)
-{-# INLINE happyIn58 #-}
-happyOut58 :: (HappyAbsSyn ) -> HappyWrap58
-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut58 #-}
-newtype HappyWrap59 = HappyWrap59 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SigmaParam))
-happyIn59 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SigmaParam)) -> (HappyAbsSyn )
-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap59 x)
-{-# INLINE happyIn59 #-}
-happyOut59 :: (HappyAbsSyn ) -> HappyWrap59
-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut59 #-}
-newtype HappyWrap60 = HappyWrap60 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.SigmaParam]))
-happyIn60 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.SigmaParam])) -> (HappyAbsSyn )
-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap60 x)
-{-# INLINE happyIn60 #-}
-happyOut60 :: (HappyAbsSyn ) -> HappyWrap60
-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut60 #-}
-newtype HappyWrap61 = HappyWrap61 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Restriction))
-happyIn61 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Restriction)) -> (HappyAbsSyn )
-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap61 x)
-{-# INLINE happyIn61 #-}
-happyOut61 :: (HappyAbsSyn ) -> HappyWrap61
-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut61 #-}
-newtype HappyWrap62 = HappyWrap62 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Restriction]))
-happyIn62 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Restriction])) -> (HappyAbsSyn )
-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap62 x)
-{-# INLINE happyIn62 #-}
-happyOut62 :: (HappyAbsSyn ) -> HappyWrap62
-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut62 #-}
-newtype HappyWrap63 = HappyWrap63 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Modality))
-happyIn63 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Modality)) -> (HappyAbsSyn )
-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap63 x)
-{-# INLINE happyIn63 #-}
-happyOut63 :: (HappyAbsSyn ) -> HappyWrap63
-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut63 #-}
-newtype HappyWrap64 = HappyWrap64 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ModComp))
-happyIn64 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ModComp)) -> (HappyAbsSyn )
-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap64 x)
-{-# INLINE happyIn64 #-}
-happyOut64 :: (HappyAbsSyn ) -> HappyWrap64
-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut64 #-}
-newtype HappyWrap65 = HappyWrap65 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ModalColon))
-happyIn65 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ModalColon)) -> (HappyAbsSyn )
-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap65 x)
-{-# INLINE happyIn65 #-}
-happyOut65 :: (HappyAbsSyn ) -> HappyWrap65
-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut65 #-}
-newtype HappyWrap66 = HappyWrap66 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn66 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap66 x)
-{-# INLINE happyIn66 #-}
-happyOut66 :: (HappyAbsSyn ) -> HappyWrap66
-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut66 #-}
-newtype HappyWrap67 = HappyWrap67 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn67 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap67 x)
-{-# INLINE happyIn67 #-}
-happyOut67 :: (HappyAbsSyn ) -> HappyWrap67
-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut67 #-}
-newtype HappyWrap68 = HappyWrap68 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn68 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap68 x)
-{-# INLINE happyIn68 #-}
-happyOut68 :: (HappyAbsSyn ) -> HappyWrap68
-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut68 #-}
-newtype HappyWrap69 = HappyWrap69 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn69 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap69 x)
-{-# INLINE happyIn69 #-}
-happyOut69 :: (HappyAbsSyn ) -> HappyWrap69
-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut69 #-}
-newtype HappyWrap70 = HappyWrap70 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn70 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap70 x)
-{-# INLINE happyIn70 #-}
-happyOut70 :: (HappyAbsSyn ) -> HappyWrap70
-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut70 #-}
-newtype HappyWrap71 = HappyWrap71 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn71 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap71 x)
-{-# INLINE happyIn71 #-}
-happyOut71 :: (HappyAbsSyn ) -> HappyWrap71
-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut71 #-}
-newtype HappyWrap72 = HappyWrap72 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn72 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap72 x)
-{-# INLINE happyIn72 #-}
-happyOut72 :: (HappyAbsSyn ) -> HappyWrap72
-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut72 #-}
-newtype HappyWrap73 = HappyWrap73 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
-happyIn73 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap73 x)
-{-# INLINE happyIn73 #-}
-happyOut73 :: (HappyAbsSyn ) -> HappyWrap73
-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut73 #-}
-newtype HappyWrap74 = HappyWrap74 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Term]))
-happyIn74 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Term])) -> (HappyAbsSyn )
-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap74 x)
-{-# INLINE happyIn74 #-}
-happyOut74 :: (HappyAbsSyn ) -> HappyWrap74
-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut74 #-}
-happyInTok :: (Token) -> (HappyAbsSyn )
-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyInTok #-}
-happyOutTok :: (HappyAbsSyn ) -> (Token)
-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOutTok #-}
-
-
-{-# NOINLINE happyTokenStrings #-}
-happyTokenStrings = ["'#assume'","'#check'","'#compute'","'#compute-nf'","'#compute-whnf'","'#def'","'#define'","'#end'","'#lang'","'#postulate'","'#section'","'#set-option'","'#unset-option'","'#variable'","'#variables'","'$extract$'","'('","')'","'*'","'*_1'","'*\8321'","','","'->'","'/'","'/\\\\'","'0_2'","'0_I'","'0\7522'","'0\8322'","'1'","'1_2'","'1_I'","'1\7522'","'1\8322'","'2'","':'","':='","':_#'","':_b'","':_id'","':_op'","':\7506\7510'","':\9837'","':\9839'","';'","'<'","'<='","'='","'==='","'=_{'","'>'","'BOT'","'CUBE'","'II'","'Sigma'","'TOP'","'TOPE'","'U'","'Unit'","'['","'\\\\'","'\\\\/'","']'","'_#'","'_b'","'_id'","'_op'","'as'","'first'","'flip_op'","'flip\7506\7510'","'idJ'","'in'","'inv_op'","'inv\7506\7510'","'let'","'mod'","'recBOT'","'recOR'","'refl'","'refl_{'","'rzk-1'","'second'","'unflip_op'","'unflip\7506\7510'","'uninv_op'","'uninv\7506\7510'","'unit'","'uses'","'{'","'|'","'|->'","'}'","'\215'","'\931'","'\960\8321'","'\960\8322'","'\7506\7510'","'\8594'","'\8614'","'\8721'","'\8743'","'\8744'","'\8801'","'\8804'","'\8868'","'\8869'","'\9837'","'\9839'","'\120128'","L_quoted","L_VarIdentToken","L_HoleIdentToken","%eof"]
-
-happyActOffsets :: HappyAddr
-happyActOffsets = HappyA# "\xf9\xff\xff\xff\xae\xff\xff\xff\xbe\xff\xff\xff\xbe\xff\xff\xff\x2b\x00\x00\x00\x06\x00\x00\x00\xaa\x0a\x00\x00\xaa\x0a\x00\x00\x30\x00\x00\x00\x48\x00\x00\x00\xf5\xff\xff\xff\xf5\xff\xff\xff\xf5\xff\xff\xff\xf5\xff\xff\xff\x11\x00\x00\x00\x11\x00\x00\x00\xf5\xff\xff\xff\x52\x00\x00\x00\xf5\xff\xff\xff\xf5\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\xfb\x00\x00\x00\xfb\x00\x00\x00\xc5\x0a\x00\x00\x30\x02\x00\x00\xb4\x00\x00\x00\xb4\x00\x00\x00\xb4\x00\x00\x00\xb4\x00\x00\x00\xb4\x00\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x08\x01\x00\x00\x13\x00\x00\x00\xe2\xff\xff\xff\xd7\xff\xff\xff\x74\x01\x00\x00\x00\x00\x00\x00\xe2\x00\x00\x00\x8b\x00\x00\x00\xfb\x00\x00\x00\xf0\xff\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\x52\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x02\x00\x00\x30\x02\x00\x00\x30\x02\x00\x00\x17\x01\x00\x00\x30\x02\x00\x00\x30\x02\x00\x00\x07\x00\x00\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x18\x01\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\x30\x02\x00\x00\x30\x02\x00\x00\x30\x02\x00\x00\x30\x02\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x19\x01\x00\x00\x30\x02\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x1a\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\x00\x00\xa5\x00\x00\x00\x27\x00\x00\x00\xa5\x00\x00\x00\x12\x01\x00\x00\xf0\xff\xff\xff\xa5\x00\x00\x00\xd2\x01\x00\x00\xa5\x00\x00\x00\xa5\x00\x00\x00\xa8\x00\x00\x00\xa5\x00\x00\x00\xa5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00\x00\xd7\x00\x00\x00\xd7\x00\x00\x00\x39\x01\x00\x00\xde\x00\x00\x00\xb8\xff\xff\xff\xde\x00\x00\x00\x00\x00\x00\x00\x99\x0a\x00\x00\x3b\x01\x00\x00\xe4\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\xe4\x00\x00\x00\xe4\x00\x00\x00\xd2\x01\x00\x00\x34\x01\x00\x00\xec\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\xec\x00\x00\x00\x12\x00\x00\x00\x12\x00\x00\x00\xec\x00\x00\x00\x00\x00\x00\x00\x4e\x01\x00\x00\xf3\x00\x00\x00\xf3\x00\x00\x00\x12\x00\x00\x00\xf3\x00\x00\x00\xf3\x00\x00\x00\x00\x00\x00\x00\xf3\x00\x00\x00\xf3\x00\x00\x00\x5b\x01\x00\x00\x4b\x01\x00\x00\x09\x01\x00\x00\x11\x01\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\x11\x01\x00\x00\x11\x01\x00\x00\x11\x01\x00\x00\x11\x01\x00\x00\x11\x01\x00\x00\x1d\x01\x00\x00\x1d\x01\x00\x00\x16\x01\x00\x00\x16\x01\x00\x00\x15\x01\x00\x00\x15\x01\x00\x00\x00\x00\x00\x00\x15\x01\x00\x00\x5f\x01\x00\x00\x42\x01\x00\x00\x4d\x01\x00\x00\x4d\x01\x00\x00\x4d\x01\x00\x00\x4d\x01\x00\x00\xaa\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x01\x00\x00\xa4\x01\x00\x00\xb5\x01\x00\x00\x00\x00\x00\x00\xaa\x01\x00\x00\x00\x00\x00\x00\x82\x01\x00\x00\x00\x00\x00\x00\x82\x01\x00\x00\x82\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x01\x00\x00\xc6\x01\x00\x00\xaa\x0a\x00\x00\x89\x01\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\xd9\x01\x00\x00\x69\x00\x00\x00\xa3\x0a\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\xf0\xff\xff\xff\xf9\x01\x00\x00\x12\x00\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\xfb\x00\x00\x00\xb4\x00\x00\x00\xb4\x00\x00\x00\x06\x01\x00\x00\xb4\x00\x00\x00\xf0\xff\xff\xff\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\xec\x01\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xff\xff\xff\xf0\xff\xff\xff\x30\x02\x00\x00\xf2\x01\x00\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x12\x00\x00\x00\x78\x00\x00\x00\x32\x0a\x00\x00\x30\x02\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\xb4\x00\x00\x00\xb4\x00\x00\x00\xb4\x00\x00\x00\xb4\x00\x00\x00\xb4\x00\x00\x00\xb4\x00\x00\x00\xb4\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x38\x00\x00\x00\x38\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\xac\x0a\x00\x00\x05\x02\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\x07\x02\x00\x00\x12\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\x14\x02\x00\x00\xf2\xff\xff\xff\xf0\xff\xff\xff\x00\x00\x00\x00\x7a\x00\x00\x00\xf0\xff\xff\xff\xb5\x0a\x00\x00\x12\x02\x00\x00\xbe\x0a\x00\x00\x20\x02\x00\x00\xda\x01\x00\x00\x00\x00\x00\x00\xd2\x01\x00\x00\xd2\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\x00\x00\x12\x00\x00\x00\x08\x02\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\x00\x00\x00\x00\x26\x02\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\x1e\x00\x00\x00\x57\x00\x00\x00\x80\x00\x00\x00\xea\x01\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x02\x00\x00\xf0\xff\xff\xff\x38\x02\x00\x00\xf0\xff\xff\xff\x39\x02\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x02\x00\x00\xf1\xff\xff\xff\x6b\x00\x00\x00\x00\x00\x00\x00\x24\x01\x00\x00\xb4\x00\x00\x00\x12\x00\x00\x00\xf0\xff\xff\xff\x12\x00\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\x50\x00\x00\x00\xf0\xff\xff\xff\x03\x02\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\x2c\x02\x00\x00\x49\x02\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\x48\x02\x00\x00\x4f\x02\x00\x00\x71\x00\x00\x00\x2d\x01\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x71\x02\x00\x00\x72\x02\x00\x00\x6f\x02\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\x70\x02\x00\x00\x00\x00\x00\x00\x77\x02\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\x78\x02\x00\x00\x82\x02\x00\x00\x83\x02\x00\x00\x9e\x02\x00\x00\x9f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\x74\x02\x00\x00\xf0\xff\xff\xff\x8d\x02\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\x93\x02\x00\x00\xf0\xff\xff\xff\x94\x02\x00\x00\xf0\xff\xff\xff\x5e\x02\x00\x00\xaa\x02\x00\x00\xb5\x02\x00\x00\xb6\x02\x00\x00\xc1\x02\x00\x00\xc2\x02\x00\x00\xc3\x02\x00\x00\xcc\x02\x00\x00\xcd\x02\x00\x00\x8f\x02\x00\x00\x98\x02\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\xa5\x02\x00\x00\xf0\xff\xff\xff\xd9\x02\x00\x00\xde\x02\x00\x00\xec\x02\x00\x00\xf2\x02\x00\x00\xf3\x02\x00\x00\xf4\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\xf1\x02\x00\x00\xf0\xff\xff\xff\xf7\x02\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\xf0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\xf0\xff\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\xb9\x02\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\xf0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x03\x00\x00\x10\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\x11\x03\x00\x00\xf0\xff\xff\xff\x21\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-
-happyGotoOffsets :: HappyAddr
-happyGotoOffsets = HappyA# "\x55\x01\x00\x00\xad\x00\x00\x00\x98\x01\x00\x00\xb5\x00\x00\x00\x30\x03\x00\x00\x32\x03\x00\x00\x2f\x03\x00\x00\x0e\x00\x00\x00\x2e\x03\x00\x00\xc7\x01\x00\x00\x15\x00\x00\x00\x9a\x01\x00\x00\xba\x0a\x00\x00\x6b\x01\x00\x00\x0d\x01\x00\x00\x87\x02\x00\x00\x99\x01\x00\x00\xa0\x01\x00\x00\xc9\x01\x00\x00\xba\x01\x00\x00\x31\x03\x00\x00\xc9\x02\x00\x00\x22\x03\x00\x00\x9e\x00\x00\x00\x24\x03\x00\x00\x41\x01\x00\x00\x9f\x09\x00\x00\x99\x09\x00\x00\x68\x09\x00\x00\x15\x09\x00\x00\x54\x02\x00\x00\x22\x08\x00\x00\x42\x03\x00\x00\x8c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x00\x00\x00\x58\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\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\x00\x00\x00\x00\x00\x00\x79\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x02\x00\x00\x3c\x03\x00\x00\xdb\x09\x00\x00\x00\x00\x00\x00\xec\x09\x00\x00\xf1\x09\x00\x00\xf7\x01\x00\x00\x23\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x03\x00\x00\xf7\x09\x00\x00\xfc\x09\x00\x00\x02\x0a\x00\x00\x0a\x0a\x00\x00\x15\x0a\x00\x00\x00\x00\x00\x00\xe7\x00\x00\x00\x00\x00\x00\x00\x1b\x0a\x00\x00\x20\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x0a\x00\x00\x7f\x03\x00\x00\x00\x00\x00\x00\x26\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x0a\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\xac\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x00\x00\x00\x90\x03\x00\x00\xa6\x03\x00\x00\xb7\x03\x00\x00\xcd\x03\x00\x00\x9b\x01\x00\x00\xb9\x01\x00\x00\x25\x02\x00\x00\xd8\x01\x00\x00\xff\x02\x00\x00\x49\x03\x00\x00\x4b\x03\x00\x00\xf6\x01\x00\x00\x0e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x03\x00\x00\x69\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x03\x00\x00\x00\x00\x00\x00\x5b\x03\x00\x00\x5c\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe9\x00\x00\x00\x35\x02\x00\x00\x00\x00\x00\x00\x96\x0a\x00\x00\x00\x00\x00\x00\x56\x02\x00\x00\x4d\x03\x00\x00\x00\x00\x00\x00\xde\x03\x00\x00\x00\x00\x00\x00\xda\x02\x00\x00\x00\x00\x00\x00\x18\x02\x00\x00\xf4\x03\x00\x00\x05\x04\x00\x00\x1b\x04\x00\x00\x2c\x04\x00\x00\xfd\x02\x00\x00\x50\x03\x00\x00\x76\x02\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x26\x09\x00\x00\x42\x04\x00\x00\x27\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x0a\x00\x00\x00\x00\x00\x00\xd6\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x03\x00\x00\x2b\x0a\x00\x00\x00\x00\x00\x00\xf7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x0a\x00\x00\x00\x00\x00\x00\x54\x03\x00\x00\x31\x0a\x00\x00\xa2\x02\x00\x00\x38\x08\x00\x00\x36\x09\x00\x00\x47\x09\x00\x00\x78\x09\x00\x00\x89\x09\x00\x00\xaa\x09\x00\x00\xbd\x09\x00\x00\xc8\x09\x00\x00\xce\x09\x00\x00\x00\x00\x00\x00\x49\x08\x00\x00\x5a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x04\x00\x00\x00\x00\x00\x00\x7a\x04\x00\x00\x90\x04\x00\x00\xa1\x04\x00\x00\xb7\x04\x00\x00\x55\x03\x00\x00\x00\x00\x00\x00\x6b\x08\x00\x00\x7c\x08\x00\x00\x00\x00\x00\x00\x5b\x02\x00\x00\xc8\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x04\x00\x00\x57\x03\x00\x00\x00\x00\x00\x00\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x0a\x00\x00\x39\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x05\x00\x00\x16\x05\x00\x00\x2c\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x05\x00\x00\x53\x05\x00\x00\x82\x0a\x00\x00\x84\x0a\x00\x00\x8d\x0a\x00\x00\x73\x03\x00\x00\x64\x05\x00\x00\x7a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x05\x00\x00\x00\x00\x00\x00\xa1\x05\x00\x00\x00\x00\x00\x00\xb2\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x09\x00\x00\x4b\x0a\x00\x00\xc8\x05\x00\x00\x61\x0a\x00\x00\xd9\x05\x00\x00\xef\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x16\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x0a\x00\x00\x3d\x06\x00\x00\x4e\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x06\x00\x00\x00\x00\x00\x00\xb3\x02\x00\x00\x00\x00\x00\x00\x75\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x06\x00\x00\x9c\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x0a\x00\x00\x00\x00\x00\x00\xc3\x06\x00\x00\x00\x00\x00\x00\xd9\x06\x00\x00\xea\x06\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x11\x07\x00\x00\x00\x00\x00\x00\x27\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x07\x00\x00\x00\x00\x00\x00\x4e\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8d\x08\x00\x00\x9e\x08\x00\x00\xaf\x08\x00\x00\x00\x00\x00\x00\x86\x07\x00\x00\x00\x00\x00\x00\x9c\x07\x00\x00\x00\x00\x00\x00\xc0\x08\x00\x00\xd1\x08\x00\x00\xe2\x08\x00\x00\xf3\x08\x00\x00\x04\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xad\x07\x00\x00\x00\x00\x00\x00\xc3\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x07\x00\x00\x00\x00\x00\x00\xea\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x07\x00\x00\x00\x00\x00\x00\x11\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-
-happyDefActions :: HappyAddr
-happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\xff\xff\xff\xbf\xff\xff\xff\xbe\xff\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\xdd\xff\xff\xff\xd8\xff\xff\xff\xd9\xff\xff\xff\x6e\xff\xff\xff\x6d\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x47\xff\xff\xff\x5d\xff\xff\xff\x59\xff\xff\xff\x56\xff\xff\xff\x3b\xff\xff\xff\x61\xff\xff\xff\x32\xff\xff\xff\x31\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\xff\xff\xff\x85\xff\xff\xff\x6a\xff\xff\xff\x67\xff\xff\xff\x80\xff\xff\xff\x83\xff\xff\xff\x86\xff\xff\xff\x69\xff\xff\xff\x66\xff\xff\xff\x7f\xff\xff\xff\x82\xff\xff\xff\x84\xff\xff\xff\x00\x00\x00\x00\x64\xff\xff\xff\x88\xff\xff\xff\x68\xff\xff\xff\x00\x00\x00\x00\x65\xff\xff\xff\x87\xff\xff\xff\x89\xff\xff\xff\x79\xff\xff\xff\x00\x00\x00\x00\x96\xff\xff\xff\x98\xff\xff\xff\x93\xff\xff\xff\x94\xff\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\x7c\xff\xff\xff\x00\x00\x00\x00\x72\xff\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\x73\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\xff\xff\xff\x00\x00\x00\x00\x7e\xff\xff\xff\x7d\xff\xff\xff\x99\xff\xff\xff\x97\xff\xff\xff\x81\xff\xff\xff\xdc\xff\xff\xff\xdb\xff\xff\xff\x00\x00\x00\x00\x3b\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\xff\xff\xff\x8c\xff\xff\xff\x8d\xff\xff\xff\x8a\xff\xff\xff\x8e\xff\xff\xff\x90\xff\xff\xff\x8f\xff\xff\xff\x92\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9b\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\xff\xff\xff\x00\x00\x00\x00\x9f\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xbc\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa9\xff\xff\xff\xab\xff\xff\xff\x00\x00\x00\x00\xb3\xff\xff\xff\xad\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\xff\xff\xff\xb5\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb8\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xbd\xff\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\xbe\xff\xff\xff\x00\x00\x00\x00\xbe\xff\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\xd4\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xd7\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\xff\xff\xff\xda\xff\xff\xff\xd6\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\xff\xff\xff\x00\x00\x00\x00\xc8\xff\xff\xff\xbf\xff\xff\xff\xc7\xff\xff\xff\xbf\xff\xff\xff\xbf\xff\xff\xff\xcf\xff\xff\xff\xce\xff\xff\xff\xd0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc2\xff\xff\xff\x00\x00\x00\x00\xb7\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb8\xff\xff\xff\x00\x00\x00\x00\xac\xff\xff\xff\x00\x00\x00\x00\x4b\xff\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\x48\xff\xff\xff\x49\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\xff\xff\xff\x51\xff\xff\xff\x4e\xff\xff\xff\x4d\xff\xff\xff\x45\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\xff\xff\xff\x53\xff\xff\xff\x00\x00\x00\x00\x50\xff\xff\xff\x4f\xff\xff\xff\x46\xff\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\x74\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\x3a\xff\xff\xff\x5e\xff\xff\xff\x5f\xff\xff\xff\x5c\xff\xff\xff\x5b\xff\xff\xff\x5a\xff\xff\xff\x58\xff\xff\xff\x57\xff\xff\xff\x55\xff\xff\xff\x33\xff\xff\xff\x30\xff\xff\xff\x4a\xff\xff\xff\x00\x00\x00\x00\x6c\xff\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\x75\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\xff\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\x3f\xff\xff\xff\x62\xff\xff\xff\x60\xff\xff\xff\x91\xff\xff\xff\x9a\xff\xff\xff\x9d\xff\xff\xff\x9c\xff\xff\xff\xa1\xff\xff\xff\xa0\xff\xff\xff\x9e\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xaa\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\xff\xff\x00\x00\x00\x00\xc1\xff\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\xd5\xff\xff\xff\xc9\xff\xff\xff\xca\xff\xff\xff\xd3\xff\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\xd1\xff\xff\xff\xcb\xff\xff\xff\xc0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\xff\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\x7b\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xff\xff\xff\x36\xff\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\xa3\xff\xff\xff\x00\x00\x00\x00\x77\xff\xff\xff\x00\x00\x00\x00\xa8\xff\xff\xff\x00\x00\x00\x00\x63\xff\xff\xff\x78\xff\xff\xff\xa1\xff\xff\xff\xa0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa6\xff\xff\xff\xa1\xff\xff\xff\xa0\xff\xff\xff\x00\x00\x00\x00\xa1\xff\xff\xff\x00\x00\x00\x00\x40\xff\xff\xff\xba\xff\xff\xff\x00\x00\x00\x00\xaf\xff\xff\xff\x00\x00\x00\x00\xb2\xff\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\xcc\xff\xff\xff\x00\x00\x00\x00\xcd\xff\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\x3e\xff\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\xa2\xff\xff\xff\x76\xff\xff\xff\xa7\xff\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\xa4\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\xff\xff\xff\xae\xff\xff\xff\xb1\xff\xff\xff\xb0\xff\xff\xff\xc3\xff\xff\xff\x00\x00\x00\x00\xc5\xff\xff\xff\x00\x00\x00\x00\xc6\xff\xff\xff\xc4\xff\xff\xff\x34\xff\xff\xff\x35\xff\xff\xff\x41\xff\xff\xff\x42\xff\xff\xff\x43\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xff\xff\xff\x00\x00\x00\x00\x37\xff\xff\xff\x38\xff\xff\xff\x39\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa5\xff\xff\xff\x7a\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\xff\xff\xff"#
-
-happyCheck :: HappyAddr
-happyCheck = HappyA# "\xff\xff\xff\xff\x11\x00\x00\x00\x12\x00\x00\x00\x0a\x00\x00\x00\x13\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x31\x00\x00\x00\x17\x00\x00\x00\x33\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x5d\x00\x00\x00\x01\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x12\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x45\x00\x00\x00\x65\x00\x00\x00\x12\x00\x00\x00\x2f\x00\x00\x00\x72\x00\x00\x00\x3f\x00\x00\x00\x0d\x00\x00\x00\x12\x00\x00\x00\x12\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x1a\x00\x00\x00\x3e\x00\x00\x00\x71\x00\x00\x00\x12\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x0a\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x18\x00\x00\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x25\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x68\x00\x00\x00\x5b\x00\x00\x00\x14\x00\x00\x00\x5c\x00\x00\x00\x59\x00\x00\x00\x5d\x00\x00\x00\x60\x00\x00\x00\x61\x00\x00\x00\x62\x00\x00\x00\x63\x00\x00\x00\x5e\x00\x00\x00\x4e\x00\x00\x00\x66\x00\x00\x00\x65\x00\x00\x00\x31\x00\x00\x00\x53\x00\x00\x00\x33\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x59\x00\x00\x00\x71\x00\x00\x00\x72\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x59\x00\x00\x00\x71\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x59\x00\x00\x00\x59\x00\x00\x00\x5b\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x59\x00\x00\x00\x71\x00\x00\x00\x5b\x00\x00\x00\x67\x00\x00\x00\x12\x00\x00\x00\x25\x00\x00\x00\x71\x00\x00\x00\x13\x00\x00\x00\x18\x00\x00\x00\x17\x00\x00\x00\x2f\x00\x00\x00\x71\x00\x00\x00\x71\x00\x00\x00\x13\x00\x00\x00\x12\x00\x00\x00\x64\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x5a\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x71\x00\x00\x00\x18\x00\x00\x00\x17\x00\x00\x00\x12\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x5f\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x13\x00\x00\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x25\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x25\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5c\x00\x00\x00\x5b\x00\x00\x00\x5e\x00\x00\x00\x02\x00\x00\x00\x59\x00\x00\x00\x04\x00\x00\x00\x5b\x00\x00\x00\x61\x00\x00\x00\x62\x00\x00\x00\x63\x00\x00\x00\x01\x00\x00\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x71\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x14\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x59\x00\x00\x00\x71\x00\x00\x00\x72\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x5c\x00\x00\x00\x71\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x64\x00\x00\x00\x59\x00\x00\x00\x5c\x00\x00\x00\x5b\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x59\x00\x00\x00\x71\x00\x00\x00\x5b\x00\x00\x00\x64\x00\x00\x00\x01\x00\x00\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x70\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x2f\x00\x00\x00\x71\x00\x00\x00\x5c\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x01\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x05\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x71\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x0d\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x17\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x73\x00\x00\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x12\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x5f\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x61\x00\x00\x00\x62\x00\x00\x00\x63\x00\x00\x00\x73\x00\x00\x00\x13\x00\x00\x00\x0d\x00\x00\x00\x73\x00\x00\x00\x14\x00\x00\x00\x17\x00\x00\x00\x11\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x12\x00\x00\x00\x71\x00\x00\x00\x72\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x12\x00\x00\x00\x12\x00\x00\x00\x12\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x13\x00\x00\x00\x30\x00\x00\x00\x19\x00\x00\x00\x32\x00\x00\x00\x17\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x13\x00\x00\x00\x2f\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x17\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x73\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x17\x00\x00\x00\x73\x00\x00\x00\x17\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x73\x00\x00\x00\x03\x00\x00\x00\x25\x00\x00\x00\x19\x00\x00\x00\x49\x00\x00\x00\x07\x00\x00\x00\x1c\x00\x00\x00\x63\x00\x00\x00\x73\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x17\x00\x00\x00\x73\x00\x00\x00\x5f\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x01\x00\x00\x00\x59\x00\x00\x00\x01\x00\x00\x00\x12\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x05\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x63\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x0d\x00\x00\x00\x2e\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x73\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x71\x00\x00\x00\x71\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x12\x00\x00\x00\x71\x00\x00\x00\x73\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x19\x00\x00\x00\x18\x00\x00\x00\x70\x00\x00\x00\x1c\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x2f\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x0d\x00\x00\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x13\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x53\x00\x00\x00\x71\x00\x00\x00\x14\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x19\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x49\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x73\x00\x00\x00\x21\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x0d\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x2e\x00\x00\x00\x05\x00\x00\x00\x59\x00\x00\x00\x05\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x0d\x00\x00\x00\x63\x00\x00\x00\x64\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x31\x00\x00\x00\x5a\x00\x00\x00\x05\x00\x00\x00\x15\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x12\x00\x00\x00\x71\x00\x00\x00\x72\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x19\x00\x00\x00\x25\x00\x00\x00\x25\x00\x00\x00\x1c\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x71\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x2f\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x0d\x00\x00\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x13\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x17\x00\x00\x00\x25\x00\x00\x00\x14\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x19\x00\x00\x00\x26\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x49\x00\x00\x00\x17\x00\x00\x00\x05\x00\x00\x00\x17\x00\x00\x00\x21\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x0d\x00\x00\x00\x01\x00\x00\x00\x13\x00\x00\x00\x01\x00\x00\x00\x17\x00\x00\x00\x05\x00\x00\x00\x59\x00\x00\x00\x05\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x0d\x00\x00\x00\x63\x00\x00\x00\x01\x00\x00\x00\x17\x00\x00\x00\x5e\x00\x00\x00\x13\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x15\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x12\x00\x00\x00\x71\x00\x00\x00\x72\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x19\x00\x00\x00\x40\x00\x00\x00\x25\x00\x00\x00\x1c\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x70\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x25\x00\x00\x00\x2f\x00\x00\x00\x05\x00\x00\x00\x5e\x00\x00\x00\x5c\x00\x00\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x0d\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x19\x00\x00\x00\x13\x00\x00\x00\x26\x00\x00\x00\x1c\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x21\x00\x00\x00\x4a\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x49\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x34\x00\x00\x00\x13\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x34\x00\x00\x00\x13\x00\x00\x00\x13\x00\x00\x00\x17\x00\x00\x00\x17\x00\x00\x00\x01\x00\x00\x00\x59\x00\x00\x00\x13\x00\x00\x00\x13\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x63\x00\x00\x00\x0d\x00\x00\x00\x13\x00\x00\x00\x13\x00\x00\x00\x21\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x26\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x14\x00\x00\x00\x71\x00\x00\x00\x72\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x13\x00\x00\x00\x13\x00\x00\x00\x26\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x26\x00\x00\x00\x26\x00\x00\x00\x19\x00\x00\x00\x5e\x00\x00\x00\x13\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x14\x00\x00\x00\x13\x00\x00\x00\x13\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x17\x00\x00\x00\x17\x00\x00\x00\x17\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x17\x00\x00\x00\x18\x00\x00\x00\x19\x00\x00\x00\x17\x00\x00\x00\x17\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x5e\x00\x00\x00\x14\x00\x00\x00\x4a\x00\x00\x00\x17\x00\x00\x00\x17\x00\x00\x00\x18\x00\x00\x00\x19\x00\x00\x00\x5c\x00\x00\x00\x17\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x17\x00\x00\x00\x05\x00\x00\x00\x13\x00\x00\x00\x13\x00\x00\x00\x13\x00\x00\x00\x17\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x0c\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x17\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x17\x00\x00\x00\x18\x00\x00\x00\x19\x00\x00\x00\x5e\x00\x00\x00\x17\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x19\x00\x00\x00\x14\x00\x00\x00\x13\x00\x00\x00\x1c\x00\x00\x00\x17\x00\x00\x00\x18\x00\x00\x00\x19\x00\x00\x00\x17\x00\x00\x00\x21\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x13\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x07\x00\x00\x00\x09\x00\x00\x00\x0b\x00\x00\x00\x08\x00\x00\x00\x19\x00\x00\x00\x19\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x1b\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x19\x00\x00\x00\x14\x00\x00\x00\x0b\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x0b\x00\x00\x00\x0b\x00\x00\x00\x1b\x00\x00\x00\x19\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1b\x00\x00\x00\x1b\x00\x00\x00\x19\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x1b\x00\x00\x00\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\xff\xff\xff\xff\x21\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x05\x00\x00\x00\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x0d\x00\x00\x00\x21\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\xff\xff\xff\xff\x21\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x05\x00\x00\x00\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x19\x00\x00\x00\x0d\x00\x00\x00\x21\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x00\x00\xff\xff\xff\xff\x1c\x00\x00\x00\x1d\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x19\x00\x00\x00\xff\xff\xff\xff\x0d\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\x21\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x19\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x19\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\xff\xff\xff\xff\x19\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\xff\xff\xff\xff\x19\x00\x00\x00\x13\x00\x00\x00\xff\xff\xff\xff\x1c\x00\x00\x00\xff\xff\xff\xff\x17\x00\x00\x00\x19\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x1c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x05\x00\x00\x00\xff\xff\xff\xff\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\xff\xff\xff\xff\x25\x00\x00\x00\x0d\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\xff\xff\xff\xff\x05\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\xff\xff\xff\xff\x05\x00\x00\x00\xff\xff\xff\xff\x05\x00\x00\x00\x0d\x00\x00\x00\xff\xff\xff\xff\x0d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x00\x00\xff\xff\xff\xff\x0d\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x15\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\x15\x00\x00\x00\x01\x00\x00\x00\x15\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x0d\x00\x00\x00\x05\x00\x00\x00\x0d\x00\x00\x00\x05\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x01\x00\x00\x00\x0d\x00\x00\x00\xff\xff\xff\xff\x0d\x00\x00\x00\x05\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x11\x00\x00\x00\x12\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x0d\x00\x00\x00\xff\xff\xff\xff\x0f\x00\x00\x00\x10\x00\x00\x00\xff\xff\xff\xff\x0d\x00\x00\x00\x0d\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\xff\xff\xff\xff\x0b\x00\x00\x00\x0c\x00\x00\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x05\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x0d\x00\x00\x00\x25\x00\x00\x00\x0f\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x25\x00\x00\x00\xff\xff\xff\xff\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x25\x00\x00\x00\xff\xff\xff\xff\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x25\x00\x00\x00\xff\xff\xff\xff\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\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"#
-
-happyTable :: HappyAddr
-happyTable = HappyA# "\x00\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\xb9\x00\x00\x00\x99\x01\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x8d\x00\x00\x00\xe7\x00\x00\x00\x6d\x01\x00\x00\xe8\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x41\x00\x00\x00\xe0\x00\x00\x00\x24\x00\x00\x00\xa4\x00\x00\x00\xa5\x00\x00\x00\x8d\x00\x00\x00\x88\x00\x00\x00\x2e\x01\x00\x00\x05\x01\x00\x00\xe1\x00\x00\x00\xee\x00\x00\x00\x42\x00\x00\x00\x6e\x00\x00\x00\x06\x01\x00\x00\x9f\x00\x00\x00\x97\x00\x00\x00\x8d\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x08\x01\x00\x00\x4b\x00\x00\x00\x6d\x00\x00\x00\x97\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\xb9\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x0f\x01\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\x5b\x01\x00\x00\x5c\x00\x00\x00\x5d\x00\x00\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x61\x00\x00\x00\x07\x01\x00\x00\x62\x00\x00\x00\xe4\x00\x00\x00\x9a\x01\x00\x00\x8e\x00\x00\x00\xe0\x00\x00\x00\x63\x00\x00\x00\x64\x00\x00\x00\x65\x00\x00\x00\x66\x00\x00\x00\x2f\x01\x00\x00\xf8\x00\x00\x00\x67\x00\x00\x00\xe1\x00\x00\x00\xe7\x00\x00\x00\xb7\x00\x00\x00\xe8\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x8e\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x8e\x00\x00\x00\x6d\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x97\x00\x00\x00\x8e\x00\x00\x00\x8e\x00\x00\x00\x98\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x41\x00\x00\x00\x8e\x00\x00\x00\x6d\x00\x00\x00\x98\x00\x00\x00\x09\x01\x00\x00\x8d\x00\x00\x00\x59\x01\x00\x00\x6d\x00\x00\x00\x97\x01\x00\x00\x26\x01\x00\x00\x41\x01\x00\x00\x42\x00\x00\x00\x6d\x00\x00\x00\x6d\x00\x00\x00\x80\x01\x00\x00\x97\x00\x00\x00\x10\x01\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xa4\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x6d\x00\x00\x00\x22\x01\x00\x00\x41\x01\x00\x00\x97\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\xe5\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x7c\x01\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x6b\x01\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\x57\x01\x00\x00\x5c\x00\x00\x00\x5d\x00\x00\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x61\x00\x00\x00\x8d\x01\x00\x00\x62\x00\x00\x00\x8e\x01\x00\x00\x25\x00\x00\x00\x8e\x00\x00\x00\xbc\x00\x00\x00\x98\x00\x00\x00\x64\x00\x00\x00\x65\x00\x00\x00\x66\x00\x00\x00\x24\x00\x00\x00\x81\x00\x00\x00\x82\x00\x00\x00\x6d\x00\x00\x00\xb9\x00\x00\x00\xba\x00\x00\x00\xe4\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x8e\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x34\x00\x00\x00\x73\x00\x00\x00\x98\x01\x00\x00\x6d\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x27\x01\x00\x00\x8e\x00\x00\x00\x81\x01\x00\x00\x98\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x41\x00\x00\x00\x8e\x00\x00\x00\x6d\x00\x00\x00\x98\x00\x00\x00\x23\x01\x00\x00\x24\x00\x00\x00\x81\x00\x00\x00\x02\x01\x00\x00\x24\x00\x00\x00\xb9\x00\x00\x00\xcf\x00\x00\x00\x42\x00\x00\x00\x6d\x00\x00\x00\x7d\x01\x00\x00\xa4\x00\x00\x00\xbf\x00\x00\x00\x24\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x88\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x6d\x00\x00\x00\xa4\x00\x00\x00\x48\x01\x00\x00\xec\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x04\x01\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\xff\xff\xff\xff\x54\x00\x00\x00\x55\x00\x00\x00\x00\x01\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\xe5\x00\x00\x00\x5c\x00\x00\x00\x5d\x00\x00\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x61\x00\x00\x00\x24\x00\x00\x00\x24\x00\x00\x00\x81\x00\x00\x00\x28\x01\x00\x00\x88\x00\x00\x00\xb9\x00\x00\x00\xc2\x00\x00\x00\x64\x00\x00\x00\x65\x00\x00\x00\x66\x00\x00\x00\xff\xff\xff\xff\x1f\x01\x00\x00\x93\x00\x00\x00\xff\xff\xff\xff\xe4\x00\x00\x00\x20\x01\x00\x00\x98\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x73\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\xfb\x00\x00\x00\xf5\x00\x00\x00\xec\x00\x00\x00\xe9\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x41\x00\x00\x00\x95\x01\x00\x00\x0a\x01\x00\x00\xe3\x00\x00\x00\x0b\x01\x00\x00\x96\x01\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x7e\x01\x00\x00\x42\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x7f\x01\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xff\xff\xff\xff\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\xdb\x00\x00\x00\xe2\x00\x00\x00\xff\xff\xff\xff\xdd\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\xff\xff\xff\xff\xbd\x00\x00\x00\xd9\x00\x00\x00\x29\x00\x00\x00\x53\x00\x00\x00\xbe\x00\x00\x00\x78\x00\x00\x00\x66\x00\x00\x00\xff\xff\xff\xff\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\xd4\x00\x00\x00\xff\xff\xff\xff\xe5\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x24\x00\x00\x00\x61\x00\x00\x00\x24\x00\x00\x00\xd2\x00\x00\x00\xb9\x00\x00\x00\xc0\x00\x00\x00\x88\x00\x00\x00\x0c\x01\x00\x00\x0d\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x66\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x99\x00\x00\x00\xd1\x00\x00\x00\x9a\x00\x00\x00\x9b\x00\x00\x00\xff\xff\xff\xff\x68\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\xff\xff\xff\xff\x73\x00\x00\x00\x6d\x00\x00\x00\xff\xff\xff\xff\x36\x00\x00\x00\x37\x00\x00\x00\x29\x00\x00\x00\xa9\xff\xff\xff\x24\x00\x00\x00\x0d\x01\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x41\x00\x00\x00\x24\x00\x00\x00\x24\x00\x00\x00\x24\x00\x00\x00\x24\x00\x00\x00\xbb\x00\x00\x00\x88\x00\x00\x00\x88\x00\x00\x00\xca\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x42\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x91\x00\x00\x00\x9d\x00\x00\x00\x9e\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x92\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\xdb\x00\x00\x00\xb7\x00\x00\x00\x6d\x00\x00\x00\x8f\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x29\x00\x00\x00\x24\x00\x00\x00\x24\x00\x00\x00\x2a\x00\x00\x00\x53\x00\x00\x00\xc9\x00\x00\x00\x88\x00\x00\x00\xff\xff\xff\xff\x90\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\x89\x00\x00\x00\x24\x00\x00\x00\x51\x01\x00\x00\x24\x00\x00\x00\x52\x01\x00\x00\xa0\x00\x00\x00\x61\x00\x00\x00\x88\x00\x00\x00\x8a\x00\x00\x00\x8b\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\xa1\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x89\x00\x00\x00\x66\x00\x00\x00\xa9\xff\xff\xff\x24\x00\x00\x00\x50\x01\x00\x00\x4f\x01\x00\x00\xa4\x00\x00\x00\xc7\x00\x00\x00\x8e\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x73\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x29\x00\x00\x00\x4b\x01\x00\x00\x4a\x01\x00\x00\xd9\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x41\x00\x00\x00\x24\x00\x00\x00\x24\x00\x00\x00\x24\x00\x00\x00\x6d\x00\x00\x00\xc3\x00\x00\x00\x88\x00\x00\x00\x88\x00\x00\x00\x46\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x42\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x91\x00\x00\x00\xd5\x00\x00\x00\xd6\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xf6\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\xdb\x00\x00\x00\x41\x01\x00\x00\x31\x01\x00\x00\x00\x01\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x29\x00\x00\x00\x2a\x01\x00\x00\x24\x00\x00\x00\x2a\x00\x00\x00\x53\x00\x00\x00\x74\x01\x00\x00\x88\x00\x00\x00\x71\x01\x00\x00\x90\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\x89\x00\x00\x00\x24\x00\x00\x00\x6e\x01\x00\x00\x24\x00\x00\x00\x67\x01\x00\x00\xa0\x00\x00\x00\x61\x00\x00\x00\x88\x00\x00\x00\x8a\x00\x00\x00\x3f\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\xc8\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x33\x01\x00\x00\x66\x00\x00\x00\x24\x00\x00\x00\x65\x01\x00\x00\x64\x01\x00\x00\x5e\x01\x00\x00\xb9\x00\x00\x00\x47\x01\x00\x00\x34\x01\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x73\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x29\x00\x00\x00\x62\x01\x00\x00\xa1\x01\x00\x00\xfd\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x41\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x24\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x24\x00\x00\x00\x88\x00\x00\x00\x24\x00\x00\x00\x9f\x01\x00\x00\x9d\x01\x00\x00\x42\x00\x00\x00\x88\x00\x00\x00\x8b\x01\x00\x00\x9b\x01\x00\x00\x9d\x00\x00\x00\xd2\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x91\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x29\x00\x00\x00\x6f\x01\x00\x00\x88\x01\x00\x00\x2a\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x71\x00\x00\x00\x89\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x53\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x83\x01\x00\x00\xb8\x01\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\x82\x01\x00\x00\xb7\x01\x00\x00\xb6\x01\x00\x00\xb5\x01\x00\x00\xb2\x01\x00\x00\x24\x00\x00\x00\x61\x00\x00\x00\xb1\x01\x00\x00\xaf\x01\x00\x00\x88\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x66\x00\x00\x00\x93\x00\x00\x00\xae\x01\x00\x00\xad\x01\x00\x00\x38\x01\x00\x00\x94\x00\x00\x00\x95\x00\x00\x00\xa6\x01\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x28\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x31\x00\x00\x00\x32\x00\x00\x00\xac\x01\x00\x00\xab\x01\x00\x00\xa4\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\xd3\x01\x00\x00\xd1\x01\x00\x00\x29\x00\x00\x00\xcf\x01\x00\x00\xce\x01\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x31\x00\x00\x00\x1b\x01\x00\x00\x28\x00\x00\x00\xcd\x01\x00\x00\xcc\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x31\x00\x00\x00\xb9\x01\x00\x00\xcb\x01\x00\x00\xca\x01\x00\x00\xc9\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x84\x00\x00\x00\x85\x00\x00\x00\x29\x00\x00\x00\xc8\x01\x00\x00\xc7\x01\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x86\x00\x00\x00\xc6\x01\x00\x00\x28\x00\x00\x00\xc3\x01\x00\x00\xc1\x01\x00\x00\x84\x00\x00\x00\x41\x01\x00\x00\x29\x00\x00\x00\xc5\x01\x00\x00\xc0\x01\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x86\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x24\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\xbf\x01\x00\x00\xa0\x00\x00\x00\xbe\x01\x00\x00\xbd\x01\x00\x00\xbc\x01\x00\x00\xde\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\xc6\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\xdc\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x84\x00\x00\x00\x3a\x01\x00\x00\x29\x00\x00\x00\xe4\x01\x00\x00\xe6\x01\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x86\x00\x00\x00\x29\x00\x00\x00\x28\x00\x00\x00\xe5\x01\x00\x00\x2a\x00\x00\x00\x84\x00\x00\x00\x2b\x01\x00\x00\x29\x00\x00\x00\xe8\x01\x00\x00\x37\x01\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x2c\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\xea\x01\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\xb7\x00\x00\x00\xb4\x00\x00\x00\xa2\x00\x00\x00\xb5\x00\x00\x00\x83\x00\x00\x00\xf5\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x79\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\xdd\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x87\x00\x00\x00\xc5\x00\x00\x00\x29\x00\x00\x00\xc4\x00\x00\x00\xc1\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x86\x00\x00\x00\x29\x00\x00\x00\x28\x00\x00\x00\x4d\x01\x00\x00\xfc\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x6e\x00\x00\x00\x4c\x01\x00\x00\x4b\x01\x00\x00\x43\x01\x00\x00\x39\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x1d\x01\x00\x00\x74\x01\x00\x00\x29\x00\x00\x00\x67\x01\x00\x00\x54\x01\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x01\x01\x00\x00\xdd\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xf3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xe5\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xcd\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xcc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xcb\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x42\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x3e\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x3d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x3c\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x3b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x35\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x27\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x7a\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x79\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x78\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x77\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x76\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x6e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x6b\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x69\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x60\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x5e\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x5c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x5b\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x53\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x52\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x9f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x9d\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x9b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x91\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x8f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x8e\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x8b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x89\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x86\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x84\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x83\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xba\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xb8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xb3\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xb2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xaf\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xa7\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xa6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xa4\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xa2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xa1\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xd1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xcf\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xc3\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xc1\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xdc\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xda\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xd4\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xd3\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xe2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xe1\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xe6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xe8\x01\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\x1a\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\x11\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\x10\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\x72\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\x71\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\xe0\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\xdf\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\xde\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\xd9\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\xd8\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\xd7\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\xd6\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6f\x00\x00\x00\x2f\x00\x00\x00\xd5\x01\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x36\x01\x00\x00\x74\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x19\x01\x00\x00\x74\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x18\x01\x00\x00\x74\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x93\x01\x00\x00\x74\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x24\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x17\x01\x00\x00\xdb\x00\x00\x00\x74\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x16\x01\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x24\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x76\x00\x00\x00\x29\x00\x00\x00\xd4\x00\x00\x00\x74\x00\x00\x00\x2a\x00\x00\x00\x77\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x74\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x15\x01\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x74\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x14\x01\x00\x00\x88\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x74\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x2f\x01\x00\x00\x2a\x00\x00\x00\x13\x01\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00\x2a\x00\x00\x00\x12\x01\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x74\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\xfb\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\xf9\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\xf8\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\xf1\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x29\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\xf0\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\xef\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\xee\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x29\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\xea\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\xe9\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x1f\x01\x00\x00\x00\x00\x00\x00\x2a\x01\x00\x00\x00\x00\x00\x00\x20\x01\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x1c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\x00\x00\x21\x01\x00\x00\x89\x00\x00\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x7d\x00\x00\x00\x7e\x00\x00\x00\x7f\x00\x00\x00\x80\x00\x00\x00\x81\x00\x00\x00\x8a\x00\x00\x00\x92\x01\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x24\x00\x00\x00\x88\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x01\x00\x00\x00\x00\x00\x00\x23\x01\x00\x00\x8a\x00\x00\x00\x90\x01\x00\x00\x8a\x00\x00\x00\x85\x01\x00\x00\x24\x00\x00\x00\x32\x01\x00\x00\x24\x00\x00\x00\x24\x01\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x93\x00\x00\x00\x88\x00\x00\x00\x93\x00\x00\x00\x88\x00\x00\x00\x94\x00\x00\x00\xfe\x00\x00\x00\x94\x00\x00\x00\xd7\x00\x00\x00\x24\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x88\x00\x00\x00\x94\x00\x00\x00\x59\x01\x00\x00\x94\x00\x00\x00\x57\x01\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x88\x00\x00\x00\x24\x00\x00\x00\x24\x00\x00\x00\x94\x00\x00\x00\x55\x01\x00\x00\x88\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x00\x00\x00\x00\x9a\x00\x00\x00\x46\x01\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x62\x01\x00\x00\x9a\x00\x00\x00\xa9\x01\x00\x00\xa7\x00\x00\x00\xa8\x00\x00\x00\xa9\x00\x00\x00\xaa\x00\x00\x00\xab\x00\x00\x00\xac\x00\x00\x00\xad\x00\x00\x00\xae\x00\x00\x00\x00\x00\x00\x00\xaf\x00\x00\x00\xb0\x00\x00\x00\xb1\x00\x00\x00\xb2\x00\x00\x00\xb3\x00\x00\x00\xb4\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x00\x00\x00\x88\x00\x00\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x7d\x00\x00\x00\x7e\x00\x00\x00\x7f\x00\x00\x00\x80\x00\x00\x00\x81\x00\x00\x00\x99\x00\x00\x00\x45\x01\x00\x00\x9c\x00\x00\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x7d\x00\x00\x00\x7e\x00\x00\x00\x7f\x00\x00\x00\x80\x00\x00\x00\x81\x00\x00\x00\x76\x01\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x7d\x00\x00\x00\x7e\x00\x00\x00\x7f\x00\x00\x00\x80\x00\x00\x00\x81\x00\x00\x00\x69\x01\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x7d\x00\x00\x00\x7e\x00\x00\x00\x7f\x00\x00\x00\x80\x00\x00\x00\x81\x00\x00\x00\x66\x01\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x7d\x00\x00\x00\x7e\x00\x00\x00\x7f\x00\x00\x00\x80\x00\x00\x00\x81\x00\x00\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x7d\x00\x00\x00\x7e\x00\x00\x00\x7f\x00\x00\x00\x80\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 = Happy_Data_Array.array (34, 207) [
-        (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)
-        ]
-
-happyRuleArr :: HappyAddr
-happyRuleArr = HappyA# "\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x03\x00\x00\x00\x08\x00\x00\x00\x01\x00\x00\x00\x09\x00\x00\x00\x04\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x04\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x06\x00\x00\x00\x09\x00\x00\x00\x05\x00\x00\x00\x09\x00\x00\x00\x04\x00\x00\x00\x09\x00\x00\x00\x04\x00\x00\x00\x09\x00\x00\x00\x04\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\x07\x00\x00\x00\x09\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\x07\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x03\x00\x00\x00\x0b\x00\x00\x00\x04\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0d\x00\x00\x00\x01\x00\x00\x00\x0d\x00\x00\x00\x01\x00\x00\x00\x0d\x00\x00\x00\x05\x00\x00\x00\x0d\x00\x00\x00\x07\x00\x00\x00\x0e\x00\x00\x00\x01\x00\x00\x00\x0e\x00\x00\x00\x02\x00\x00\x00\x0f\x00\x00\x00\x01\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x10\x00\x00\x00\x03\x00\x00\x00\x11\x00\x00\x00\x01\x00\x00\x00\x11\x00\x00\x00\x05\x00\x00\x00\x11\x00\x00\x00\x07\x00\x00\x00\x11\x00\x00\x00\x07\x00\x00\x00\x11\x00\x00\x00\x05\x00\x00\x00\x11\x00\x00\x00\x07\x00\x00\x00\x12\x00\x00\x00\x01\x00\x00\x00\x12\x00\x00\x00\x02\x00\x00\x00\x13\x00\x00\x00\x01\x00\x00\x00\x13\x00\x00\x00\x03\x00\x00\x00\x14\x00\x00\x00\x01\x00\x00\x00\x14\x00\x00\x00\x05\x00\x00\x00\x14\x00\x00\x00\x07\x00\x00\x00\x14\x00\x00\x00\x05\x00\x00\x00\x14\x00\x00\x00\x09\x00\x00\x00\x14\x00\x00\x00\x07\x00\x00\x00\x14\x00\x00\x00\x05\x00\x00\x00\x14\x00\x00\x00\x07\x00\x00\x00\x15\x00\x00\x00\x03\x00\x00\x00\x15\x00\x00\x00\x03\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\x16\x00\x00\x00\x03\x00\x00\x00\x17\x00\x00\x00\x03\x00\x00\x00\x17\x00\x00\x00\x03\x00\x00\x00\x18\x00\x00\x00\x01\x00\x00\x00\x18\x00\x00\x00\x03\x00\x00\x00\x19\x00\x00\x00\x01\x00\x00\x00\x19\x00\x00\x00\x01\x00\x00\x00\x19\x00\x00\x00\x01\x00\x00\x00\x19\x00\x00\x00\x01\x00\x00\x00\x19\x00\x00\x00\x01\x00\x00\x00\x19\x00\x00\x00\x01\x00\x00\x00\x19\x00\x00\x00\x01\x00\x00\x00\x1a\x00\x00\x00\x01\x00\x00\x00\x1a\x00\x00\x00\x03\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x04\x00\x00\x00\x1c\x00\x00\x00\x0a\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x07\x00\x00\x00\x1c\x00\x00\x00\x03\x00\x00\x00\x1c\x00\x00\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x03\x00\x00\x00\x1c\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x0e\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x03\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x05\x00\x00\x00\x1d\x00\x00\x00\x03\x00\x00\x00\x1d\x00\x00\x00\x01\x00\x00\x00\x1d\x00\x00\x00\x03\x00\x00\x00\x1e\x00\x00\x00\x03\x00\x00\x00\x1e\x00\x00\x00\x03\x00\x00\x00\x1e\x00\x00\x00\x01\x00\x00\x00\x1e\x00\x00\x00\x03\x00\x00\x00\x1e\x00\x00\x00\x03\x00\x00\x00\x1f\x00\x00\x00\x03\x00\x00\x00\x1f\x00\x00\x00\x01\x00\x00\x00\x1f\x00\x00\x00\x03\x00\x00\x00\x20\x00\x00\x00\x03\x00\x00\x00\x20\x00\x00\x00\x01\x00\x00\x00\x20\x00\x00\x00\x03\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x04\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x03\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x01\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x21\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x03\x00\x00\x00\x22\x00\x00\x00\x08\x00\x00\x00\x22\x00\x00\x00\x08\x00\x00\x00\x22\x00\x00\x00\x08\x00\x00\x00\x22\x00\x00\x00\x05\x00\x00\x00\x22\x00\x00\x00\x03\x00\x00\x00\x22\x00\x00\x00\x06\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x22\x00\x00\x00\x08\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x03\x00\x00\x00\x22\x00\x00\x00\x08\x00\x00\x00\x22\x00\x00\x00\x08\x00\x00\x00\x22\x00\x00\x00\x08\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x22\x00\x00\x00\x08\x00\x00\x00\x22\x00\x00\x00\x08\x00\x00\x00\x23\x00\x00\x00\x03\x00\x00\x00\x23\x00\x00\x00\x01\x00\x00\x00\x24\x00\x00\x00\x01\x00\x00\x00\x24\x00\x00\x00\x03\x00\x00\x00"#
-
-happyCatchStates :: [Happy_Prelude.Int]
-happyCatchStates = []
-
-happy_n_terms = 116 :: Happy_Prelude.Int
-happy_n_nonterms = 37 :: Happy_Prelude.Int
-
-happy_n_starts = 34 :: Happy_Prelude.Int
-
-happyReduce_34 = happySpecReduce_1  0# happyReduction_34
-happyReduction_34 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn38
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), (Data.Text.unpack ((\(PT _ (TL s)) -> s) happy_var_1)))
-        )}
-
-happyReduce_35 = happySpecReduce_1  1# happyReduction_35
-happyReduction_35 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn39
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.VarIdentToken (tokenText happy_var_1))
-        )}
-
-happyReduce_36 = happySpecReduce_1  2# happyReduction_36
-happyReduction_36 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn40
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.HoleIdentToken (tokenText happy_var_1))
-        )}
-
-happyReduce_37 = happySpecReduce_2  3# happyReduction_37
-happyReduction_37 happy_x_2
-        happy_x_1
-         =  case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) -> 
-        case happyOut48 happy_x_2 of { (HappyWrap48 happy_var_2) -> 
-        happyIn41
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Module (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))
-        )}}
-
-happyReduce_38 = happySpecReduce_1  4# happyReduction_38
-happyReduction_38 happy_x_1
-         =  case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) -> 
-        happyIn42
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.HoleIdent (fst happy_var_1) (snd happy_var_1))
-        )}
-
-happyReduce_39 = happySpecReduce_1  5# happyReduction_39
-happyReduction_39 happy_x_1
-         =  case happyOut39 happy_x_1 of { (HappyWrap39 happy_var_1) -> 
-        happyIn43
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.VarIdent (fst happy_var_1) (snd happy_var_1))
-        )}
-
-happyReduce_40 = happySpecReduce_1  6# happyReduction_40
-happyReduction_40 happy_x_1
-         =  case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) -> 
-        happyIn44
-                 ((fst happy_var_1, (:[]) (snd happy_var_1))
-        )}
-
-happyReduce_41 = happySpecReduce_2  6# happyReduction_41
-happyReduction_41 happy_x_2
-        happy_x_1
-         =  case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) -> 
-        case happyOut44 happy_x_2 of { (HappyWrap44 happy_var_2) -> 
-        happyIn44
-                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
-        )}}
-
-happyReduce_42 = happySpecReduce_3  7# happyReduction_42
-happyReduction_42 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut46 happy_x_2 of { (HappyWrap46 happy_var_2) -> 
-        happyIn45
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.LanguageDecl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_43 = happySpecReduce_1  8# happyReduction_43
-happyReduction_43 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn46
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Rzk1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_44 = happyReduce 4# 9# happyReduction_44
-happyReduction_44 (happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) -> 
-        case happyOut38 happy_x_4 of { (HappyWrap38 happy_var_4) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_45 = happySpecReduce_2  9# happyReduction_45
-happyReduction_45 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandUnsetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_46 = happyReduce 4# 9# happyReduction_46
-happyReduction_46 (happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandCheck (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_47 = happySpecReduce_2  9# happyReduction_47
-happyReduction_47 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandCompute (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_48 = happySpecReduce_2  9# happyReduction_48
-happyReduction_48 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandComputeWHNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_49 = happySpecReduce_2  9# happyReduction_49
-happyReduction_49 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandComputeNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_50 = happyReduce 6# 9# happyReduction_50
-happyReduction_50 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) -> 
-        case happyOut49 happy_x_3 of { (HappyWrap49 happy_var_3) -> 
-        case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> 
-        case happyOut73 happy_x_6 of { (HappyWrap73 happy_var_6) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandPostulate (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6))
-        ) `HappyStk` happyRest}}}}}
-
-happyReduce_51 = happyReduce 5# 9# happyReduction_51
-happyReduction_51 (happy_x_5 `HappyStk`
-        happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) -> 
-        case happyOut49 happy_x_3 of { (HappyWrap49 happy_var_3) -> 
-        case happyOut73 happy_x_5 of { (HappyWrap73 happy_var_5) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandPostulateNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_52 = happyReduce 4# 9# happyReduction_52
-happyReduction_52 (happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut44 happy_x_2 of { (HappyWrap44 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandAssume (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_53 = happyReduce 4# 9# happyReduction_53
-happyReduction_53 (happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandVariable (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_54 = happyReduce 4# 9# happyReduction_54
-happyReduction_54 (happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut44 happy_x_2 of { (HappyWrap44 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandVariables (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_55 = happySpecReduce_2  9# happyReduction_55
-happyReduction_55 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut50 happy_x_2 of { (HappyWrap50 happy_var_2) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSection (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_56 = happySpecReduce_2  9# happyReduction_56
-happyReduction_56 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut50 happy_x_2 of { (HappyWrap50 happy_var_2) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSectionEnd (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_57 = happyReduce 8# 9# happyReduction_57
-happyReduction_57 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) -> 
-        case happyOut49 happy_x_3 of { (HappyWrap49 happy_var_3) -> 
-        case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> 
-        case happyOut73 happy_x_6 of { (HappyWrap73 happy_var_6) -> 
-        case happyOut73 happy_x_8 of { (HappyWrap73 happy_var_8) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandDefine (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))
-        ) `HappyStk` happyRest}}}}}}
-
-happyReduce_58 = happyReduce 7# 9# happyReduction_58
-happyReduction_58 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) -> 
-        case happyOut49 happy_x_3 of { (HappyWrap49 happy_var_3) -> 
-        case happyOut73 happy_x_5 of { (HappyWrap73 happy_var_5) -> 
-        case happyOut73 happy_x_7 of { (HappyWrap73 happy_var_7) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefineNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))
-        ) `HappyStk` happyRest}}}}}
-
-happyReduce_59 = happyReduce 8# 9# happyReduction_59
-happyReduction_59 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) -> 
-        case happyOut49 happy_x_3 of { (HappyWrap49 happy_var_3) -> 
-        case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> 
-        case happyOut73 happy_x_6 of { (HappyWrap73 happy_var_6) -> 
-        case happyOut73 happy_x_8 of { (HappyWrap73 happy_var_8) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDef (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))
-        ) `HappyStk` happyRest}}}}}}
-
-happyReduce_60 = happyReduce 7# 9# happyReduction_60
-happyReduction_60 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) -> 
-        case happyOut49 happy_x_3 of { (HappyWrap49 happy_var_3) -> 
-        case happyOut73 happy_x_5 of { (HappyWrap73 happy_var_5) -> 
-        case happyOut73 happy_x_7 of { (HappyWrap73 happy_var_7) -> 
-        happyIn47
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))
-        ) `HappyStk` happyRest}}}}}
-
-happyReduce_61 = happySpecReduce_0  10# happyReduction_61
-happyReduction_61  =  happyIn48
-                 ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, [])
-        )
-
-happyReduce_62 = happySpecReduce_3  10# happyReduction_62
-happyReduction_62 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut47 happy_x_1 of { (HappyWrap47 happy_var_1) -> 
-        case happyOut48 happy_x_3 of { (HappyWrap48 happy_var_3) -> 
-        happyIn48
-                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_63 = happyReduce 4# 11# happyReduction_63
-happyReduction_63 (happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) -> 
-        happyIn49
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.DeclUsedVars (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3))
-        ) `HappyStk` happyRest}}
-
-happyReduce_64 = happySpecReduce_0  11# happyReduction_64
-happyReduction_64  =  happyIn49
-                 ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.noDeclUsedVars Language.Rzk.Syntax.Abs.BNFC'NoPosition)
-        )
-
-happyReduce_65 = happySpecReduce_0  12# happyReduction_65
-happyReduction_65  =  happyIn50
-                 ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.NoSectionName Language.Rzk.Syntax.Abs.BNFC'NoPosition)
-        )
-
-happyReduce_66 = happySpecReduce_1  12# happyReduction_66
-happyReduction_66 happy_x_1
-         =  case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) -> 
-        happyIn50
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.SomeSectionName (fst happy_var_1) (snd happy_var_1))
-        )}
-
-happyReduce_67 = happySpecReduce_1  13# happyReduction_67
-happyReduction_67 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn51
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_68 = happySpecReduce_1  13# happyReduction_68
-happyReduction_68 happy_x_1
-         =  case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) -> 
-        happyIn51
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.PatternVar (fst happy_var_1) (snd happy_var_1))
-        )}
-
-happyReduce_69 = happyReduce 5# 13# happyReduction_69
-happyReduction_69 (happy_x_5 `HappyStk`
-        happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) -> 
-        case happyOut51 happy_x_4 of { (HappyWrap51 happy_var_4) -> 
-        happyIn51
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternPair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_70 = happyReduce 7# 13# happyReduction_70
-happyReduction_70 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) -> 
-        case happyOut51 happy_x_4 of { (HappyWrap51 happy_var_4) -> 
-        case happyOut54 happy_x_6 of { (HappyWrap54 happy_var_6) -> 
-        happyIn51
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternTuple (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_71 = happySpecReduce_1  14# happyReduction_71
-happyReduction_71 happy_x_1
-         =  case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> 
-        happyIn52
-                 ((fst happy_var_1, (:[]) (snd happy_var_1))
-        )}
-
-happyReduce_72 = happySpecReduce_2  14# happyReduction_72
-happyReduction_72 happy_x_2
-        happy_x_1
-         =  case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> 
-        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
-        happyIn52
-                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
-        )}}
-
-happyReduce_73 = happySpecReduce_1  15# happyReduction_73
-happyReduction_73 happy_x_1
-         =  case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> 
-        happyIn53
-                 ((fst happy_var_1, (snd happy_var_1))
-        )}
-
-happyReduce_74 = happySpecReduce_1  16# happyReduction_74
-happyReduction_74 happy_x_1
-         =  case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> 
-        happyIn54
-                 ((fst happy_var_1, (:[]) (snd happy_var_1))
-        )}
-
-happyReduce_75 = happySpecReduce_3  16# happyReduction_75
-happyReduction_75 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> 
-        case happyOut54 happy_x_3 of { (HappyWrap54 happy_var_3) -> 
-        happyIn54
-                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_76 = happySpecReduce_1  17# happyReduction_76
-happyReduction_76 happy_x_1
-         =  case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> 
-        happyIn55
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamPattern (fst happy_var_1) (snd happy_var_1))
-        )}
-
-happyReduce_77 = happyReduce 5# 17# happyReduction_77
-happyReduction_77 (happy_x_5 `HappyStk`
-        happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn55
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_78 = happyReduce 7# 17# happyReduction_78
-happyReduction_78 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        case happyOut73 happy_x_6 of { (HappyWrap73 happy_var_6) -> 
-        happyIn55
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_79 = happyReduce 7# 17# happyReduction_79
-happyReduction_79 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        case happyOut73 happy_x_6 of { (HappyWrap73 happy_var_6) -> 
-        happyIn55
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternShapeDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_80 = happyReduce 5# 17# 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)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
-        case happyOut65 happy_x_3 of { (HappyWrap65 happy_var_3) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn55
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternModalType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_81 = happyReduce 7# 17# happyReduction_81
-happyReduction_81 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
-        case happyOut65 happy_x_3 of { (HappyWrap65 happy_var_3) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        case happyOut73 happy_x_6 of { (HappyWrap73 happy_var_6) -> 
-        happyIn55
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternModalShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6))
-        ) `HappyStk` happyRest}}}}}
-
-happyReduce_82 = happySpecReduce_1  18# happyReduction_82
-happyReduction_82 happy_x_1
-         =  case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> 
-        happyIn56
-                 ((fst happy_var_1, (:[]) (snd happy_var_1))
-        )}
-
-happyReduce_83 = happySpecReduce_2  18# happyReduction_83
-happyReduction_83 happy_x_2
-        happy_x_1
-         =  case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> 
-        case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) -> 
-        happyIn56
-                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
-        )}}
-
-happyReduce_84 = happySpecReduce_1  19# happyReduction_84
-happyReduction_84 happy_x_1
-         =  case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> 
-        happyIn57
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.BindPattern (fst happy_var_1) (snd happy_var_1))
-        )}
-
-happyReduce_85 = happySpecReduce_3  19# happyReduction_85
-happyReduction_85 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> 
-        case happyOut73 happy_x_3 of { (HappyWrap73 happy_var_3) -> 
-        happyIn57
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.BindPatternType (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_86 = happySpecReduce_1  20# happyReduction_86
-happyReduction_86 happy_x_1
-         =  case happyOut71 happy_x_1 of { (HappyWrap71 happy_var_1) -> 
-        happyIn58
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamType (fst happy_var_1) (snd happy_var_1))
-        )}
-
-happyReduce_87 = happyReduce 5# 20# happyReduction_87
-happyReduction_87 (happy_x_5 `HappyStk`
-        happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn58
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamTermType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_88 = happyReduce 7# 20# happyReduction_88
-happyReduction_88 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        case happyOut73 happy_x_6 of { (HappyWrap73 happy_var_6) -> 
-        happyIn58
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamTermShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_89 = happyReduce 5# 20# happyReduction_89
-happyReduction_89 (happy_x_5 `HappyStk`
-        happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn58
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamTermTypeDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_90 = happyReduce 9# 20# happyReduction_90
-happyReduction_90 (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)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut51 happy_x_3 of { (HappyWrap51 happy_var_3) -> 
-        case happyOut73 happy_x_5 of { (HappyWrap73 happy_var_5) -> 
-        case happyOut73 happy_x_8 of { (HappyWrap73 happy_var_8) -> 
-        happyIn58
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamVarShapeDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_91 = happyReduce 7# 20# happyReduction_91
-happyReduction_91 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        case happyOut73 happy_x_6 of { (HappyWrap73 happy_var_6) -> 
-        happyIn58
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.paramVarShapeDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_92 = happyReduce 5# 20# happyReduction_92
-happyReduction_92 (happy_x_5 `HappyStk`
-        happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        case happyOut65 happy_x_3 of { (HappyWrap65 happy_var_3) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn58
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamTermModalType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_93 = happyReduce 7# 20# happyReduction_93
-happyReduction_93 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        case happyOut65 happy_x_3 of { (HappyWrap65 happy_var_3) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        case happyOut73 happy_x_6 of { (HappyWrap73 happy_var_6) -> 
-        happyIn58
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamTermModalShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6))
-        ) `HappyStk` happyRest}}}}}
-
-happyReduce_94 = happySpecReduce_3  21# happyReduction_94
-happyReduction_94 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> 
-        case happyOut73 happy_x_3 of { (HappyWrap73 happy_var_3) -> 
-        happyIn59
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.SigmaParam (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_95 = happySpecReduce_3  21# happyReduction_95
-happyReduction_95 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> 
-        case happyOut65 happy_x_2 of { (HappyWrap65 happy_var_2) -> 
-        case happyOut73 happy_x_3 of { (HappyWrap73 happy_var_3) -> 
-        happyIn59
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.SigmaParamModal (fst happy_var_1) (snd happy_var_1) (snd happy_var_2) (snd happy_var_3))
-        )}}}
-
-happyReduce_96 = happySpecReduce_1  22# happyReduction_96
-happyReduction_96 happy_x_1
-         =  case happyOut59 happy_x_1 of { (HappyWrap59 happy_var_1) -> 
-        happyIn60
-                 ((fst happy_var_1, (:[]) (snd happy_var_1))
-        )}
-
-happyReduce_97 = happySpecReduce_3  22# happyReduction_97
-happyReduction_97 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut59 happy_x_1 of { (HappyWrap59 happy_var_1) -> 
-        case happyOut60 happy_x_3 of { (HappyWrap60 happy_var_3) -> 
-        happyIn60
-                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_98 = happySpecReduce_3  23# happyReduction_98
-happyReduction_98 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut73 happy_x_1 of { (HappyWrap73 happy_var_1) -> 
-        case happyOut73 happy_x_3 of { (HappyWrap73 happy_var_3) -> 
-        happyIn61
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Restriction (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_99 = happySpecReduce_3  23# happyReduction_99
-happyReduction_99 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut73 happy_x_1 of { (HappyWrap73 happy_var_1) -> 
-        case happyOut73 happy_x_3 of { (HappyWrap73 happy_var_3) -> 
-        happyIn61
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_Restriction (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_100 = happySpecReduce_1  24# happyReduction_100
-happyReduction_100 happy_x_1
-         =  case happyOut61 happy_x_1 of { (HappyWrap61 happy_var_1) -> 
-        happyIn62
-                 ((fst happy_var_1, (:[]) (snd happy_var_1))
-        )}
-
-happyReduce_101 = happySpecReduce_3  24# happyReduction_101
-happyReduction_101 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut61 happy_x_1 of { (HappyWrap61 happy_var_1) -> 
-        case happyOut62 happy_x_3 of { (HappyWrap62 happy_var_3) -> 
-        happyIn62
-                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_102 = happySpecReduce_1  25# happyReduction_102
-happyReduction_102 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn63
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Flat (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_103 = happySpecReduce_1  25# happyReduction_103
-happyReduction_103 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn63
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Flat (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_104 = happySpecReduce_1  25# happyReduction_104
-happyReduction_104 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn63
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Sharp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_105 = happySpecReduce_1  25# happyReduction_105
-happyReduction_105 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn63
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Sharp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_106 = happySpecReduce_1  25# happyReduction_106
-happyReduction_106 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn63
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Op (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_107 = happySpecReduce_1  25# happyReduction_107
-happyReduction_107 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn63
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Op (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_108 = happySpecReduce_1  25# happyReduction_108
-happyReduction_108 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn63
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Id (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_109 = happySpecReduce_1  26# happyReduction_109
-happyReduction_109 happy_x_1
-         =  case happyOut63 happy_x_1 of { (HappyWrap63 happy_var_1) -> 
-        happyIn64
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Single (fst happy_var_1) (snd happy_var_1))
-        )}
-
-happyReduce_110 = happySpecReduce_3  26# happyReduction_110
-happyReduction_110 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut63 happy_x_1 of { (HappyWrap63 happy_var_1) -> 
-        case happyOut63 happy_x_3 of { (HappyWrap63 happy_var_3) -> 
-        happyIn64
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Comp (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_111 = happySpecReduce_1  27# happyReduction_111
-happyReduction_111 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn65
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ModalColonFlat (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_112 = happySpecReduce_1  27# happyReduction_112
-happyReduction_112 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn65
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ModalColonSharp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_113 = happySpecReduce_1  27# happyReduction_113
-happyReduction_113 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn65
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ModalColonOp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_114 = happySpecReduce_1  27# happyReduction_114
-happyReduction_114 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn65
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ModalColonId (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_115 = happySpecReduce_1  27# happyReduction_115
-happyReduction_115 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn65
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_ModalColonFlat (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_116 = happySpecReduce_1  27# happyReduction_116
-happyReduction_116 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn65
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_ModalColonSharp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_117 = happySpecReduce_1  27# happyReduction_117
-happyReduction_117 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn65
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_ModalColonOp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_118 = happySpecReduce_1  28# happyReduction_118
-happyReduction_118 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Universe (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_119 = happySpecReduce_1  28# happyReduction_119
-happyReduction_119 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseCube (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_120 = happySpecReduce_1  28# happyReduction_120
-happyReduction_120 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseTope (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_121 = happySpecReduce_1  28# happyReduction_121
-happyReduction_121 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_122 = happySpecReduce_1  28# happyReduction_122
-happyReduction_122 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_123 = happySpecReduce_1  28# happyReduction_123
-happyReduction_123 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_124 = happySpecReduce_1  28# happyReduction_124
-happyReduction_124 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_125 = happySpecReduce_1  28# happyReduction_125
-happyReduction_125 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_126 = happySpecReduce_1  28# happyReduction_126
-happyReduction_126 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeI (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_127 = happySpecReduce_1  28# happyReduction_127
-happyReduction_127 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeI_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_128 = happySpecReduce_1  28# happyReduction_128
-happyReduction_128 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeI_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_129 = happySpecReduce_1  28# happyReduction_129
-happyReduction_129 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_130 = happySpecReduce_1  28# happyReduction_130
-happyReduction_130 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_131 = happySpecReduce_1  28# happyReduction_131
-happyReduction_131 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_132 = happyReduce 4# 28# happyReduction_132
-happyReduction_132 (happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut62 happy_x_3 of { (HappyWrap62 happy_var_3) -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3))
-        ) `HappyStk` happyRest}}
-
-happyReduce_133 = happyReduce 10# 28# happyReduction_133
-happyReduction_133 (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)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_3 of { (HappyWrap73 happy_var_3) -> 
-        case happyOut73 happy_x_5 of { (HappyWrap73 happy_var_5) -> 
-        case happyOut73 happy_x_7 of { (HappyWrap73 happy_var_7) -> 
-        case happyOut73 happy_x_9 of { (HappyWrap73 happy_var_9) -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecOrDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9))
-        ) `HappyStk` happyRest}}}}}
-
-happyReduce_134 = happySpecReduce_1  28# happyReduction_134
-happyReduction_134 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_135 = happyReduce 5# 28# happyReduction_135
-happyReduction_135 (happy_x_5 `HappyStk`
-        happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut58 happy_x_2 of { (HappyWrap58 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeExtensionDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_136 = happyReduce 5# 28# happyReduction_136
-happyReduction_136 (happy_x_5 `HappyStk`
-        happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Pair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_137 = happyReduce 7# 28# happyReduction_137
-happyReduction_137 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        case happyOut74 happy_x_6 of { (HappyWrap74 happy_var_6) -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Tuple (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_138 = happySpecReduce_3  28# happyReduction_138
-happyReduction_138 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut63 happy_x_2 of { (HappyWrap63 happy_var_2) -> 
-        case happyOut66 happy_x_3 of { (HappyWrap66 happy_var_3) -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ModApp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3))
-        )}}}
-
-happyReduce_139 = happySpecReduce_2  28# happyReduction_139
-happyReduction_139 happy_x_2
-        happy_x_1
-         =  case happyOut63 happy_x_1 of { (HappyWrap63 happy_var_1) -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn66
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ModType (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))
-        )}}
-
-happyReduce_140 = happySpecReduce_1  28# happyReduction_140
-happyReduction_140 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Unit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_141 = happySpecReduce_1  28# happyReduction_141
-happyReduction_141 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Refl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_142 = happySpecReduce_3  28# happyReduction_142
-happyReduction_142 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTerm (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_143 = happyReduce 5# 28# happyReduction_143
-happyReduction_143 (happy_x_5 `HappyStk`
-        happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTermType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_144 = happyReduce 14# 28# happyReduction_144
-happyReduction_144 (happy_x_14 `HappyStk`
-        happy_x_13 `HappyStk`
-        happy_x_12 `HappyStk`
-        happy_x_11 `HappyStk`
-        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)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_3 of { (HappyWrap73 happy_var_3) -> 
-        case happyOut73 happy_x_5 of { (HappyWrap73 happy_var_5) -> 
-        case happyOut73 happy_x_7 of { (HappyWrap73 happy_var_7) -> 
-        case happyOut73 happy_x_9 of { (HappyWrap73 happy_var_9) -> 
-        case happyOut73 happy_x_11 of { (HappyWrap73 happy_var_11) -> 
-        case happyOut73 happy_x_13 of { (HappyWrap73 happy_var_13) -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.IdJ (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9) (snd happy_var_11) (snd happy_var_13))
-        ) `HappyStk` happyRest}}}}}}}
-
-happyReduce_145 = happySpecReduce_1  28# happyReduction_145
-happyReduction_145 happy_x_1
-         =  case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) -> 
-        happyIn66
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Hole (fst happy_var_1) (snd happy_var_1))
-        )}
-
-happyReduce_146 = happySpecReduce_1  28# happyReduction_146
-happyReduction_146 happy_x_1
-         =  case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) -> 
-        happyIn66
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Var (fst happy_var_1) (snd happy_var_1))
-        )}
-
-happyReduce_147 = happySpecReduce_3  28# happyReduction_147
-happyReduction_147 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut73 happy_x_2 of { (HappyWrap73 happy_var_2) -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), (snd happy_var_2))
-        )}}
-
-happyReduce_148 = happySpecReduce_1  28# happyReduction_148
-happyReduction_148 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_149 = happySpecReduce_1  28# happyReduction_149
-happyReduction_149 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_150 = happySpecReduce_1  28# happyReduction_150
-happyReduction_150 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_151 = happySpecReduce_1  28# happyReduction_151
-happyReduction_151 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_CubeI (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_152 = happySpecReduce_1  28# happyReduction_152
-happyReduction_152 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_CubeI_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_153 = happySpecReduce_1  28# happyReduction_153
-happyReduction_153 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_CubeI_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_154 = happySpecReduce_1  28# happyReduction_154
-happyReduction_154 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_155 = happySpecReduce_1  28# happyReduction_155
-happyReduction_155 happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TopeBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
-        )}
-
-happyReduce_156 = happyReduce 5# 28# 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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut58 happy_x_2 of { (HappyWrap58 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        happyIn66
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TypeExtensionDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_157 = happySpecReduce_3  29# happyReduction_157
-happyReduction_157 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut67 happy_x_1 of { (HappyWrap67 happy_var_1) -> 
-        case happyOut71 happy_x_3 of { (HappyWrap71 happy_var_3) -> 
-        happyIn67
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.CubeProduct (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_158 = happySpecReduce_1  29# happyReduction_158
-happyReduction_158 happy_x_1
-         =  case happyOut71 happy_x_1 of { (HappyWrap71 happy_var_1) -> 
-        happyIn67
-                 ((fst happy_var_1, (snd happy_var_1))
-        )}
-
-happyReduce_159 = happySpecReduce_3  29# happyReduction_159
-happyReduction_159 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut67 happy_x_1 of { (HappyWrap67 happy_var_1) -> 
-        case happyOut71 happy_x_3 of { (HappyWrap71 happy_var_3) -> 
-        happyIn67
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ascii_CubeProduct (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_160 = happySpecReduce_3  30# happyReduction_160
-happyReduction_160 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut67 happy_x_1 of { (HappyWrap67 happy_var_1) -> 
-        case happyOut67 happy_x_3 of { (HappyWrap67 happy_var_3) -> 
-        happyIn68
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_161 = happySpecReduce_3  30# happyReduction_161
-happyReduction_161 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut67 happy_x_1 of { (HappyWrap67 happy_var_1) -> 
-        case happyOut67 happy_x_3 of { (HappyWrap67 happy_var_3) -> 
-        happyIn68
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeLEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_162 = happySpecReduce_1  30# happyReduction_162
-happyReduction_162 happy_x_1
-         =  case happyOut67 happy_x_1 of { (HappyWrap67 happy_var_1) -> 
-        happyIn68
-                 ((fst happy_var_1, (snd happy_var_1))
-        )}
-
-happyReduce_163 = happySpecReduce_3  30# happyReduction_163
-happyReduction_163 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut67 happy_x_1 of { (HappyWrap67 happy_var_1) -> 
-        case happyOut67 happy_x_3 of { (HappyWrap67 happy_var_3) -> 
-        happyIn68
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TopeEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_164 = happySpecReduce_3  30# happyReduction_164
-happyReduction_164 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut67 happy_x_1 of { (HappyWrap67 happy_var_1) -> 
-        case happyOut67 happy_x_3 of { (HappyWrap67 happy_var_3) -> 
-        happyIn68
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TopeLEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_165 = happySpecReduce_3  31# happyReduction_165
-happyReduction_165 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut68 happy_x_1 of { (HappyWrap68 happy_var_1) -> 
-        case happyOut69 happy_x_3 of { (HappyWrap69 happy_var_3) -> 
-        happyIn69
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeAnd (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_166 = happySpecReduce_1  31# happyReduction_166
-happyReduction_166 happy_x_1
-         =  case happyOut68 happy_x_1 of { (HappyWrap68 happy_var_1) -> 
-        happyIn69
-                 ((fst happy_var_1, (snd happy_var_1))
-        )}
-
-happyReduce_167 = happySpecReduce_3  31# happyReduction_167
-happyReduction_167 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut68 happy_x_1 of { (HappyWrap68 happy_var_1) -> 
-        case happyOut69 happy_x_3 of { (HappyWrap69 happy_var_3) -> 
-        happyIn69
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TopeAnd (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_168 = happySpecReduce_3  32# happyReduction_168
-happyReduction_168 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut69 happy_x_1 of { (HappyWrap69 happy_var_1) -> 
-        case happyOut70 happy_x_3 of { (HappyWrap70 happy_var_3) -> 
-        happyIn70
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeOr (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_169 = happySpecReduce_1  32# happyReduction_169
-happyReduction_169 happy_x_1
-         =  case happyOut69 happy_x_1 of { (HappyWrap69 happy_var_1) -> 
-        happyIn70
-                 ((fst happy_var_1, (snd happy_var_1))
-        )}
-
-happyReduce_170 = happySpecReduce_3  32# happyReduction_170
-happyReduction_170 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut69 happy_x_1 of { (HappyWrap69 happy_var_1) -> 
-        case happyOut70 happy_x_3 of { (HappyWrap70 happy_var_3) -> 
-        happyIn70
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TopeOr (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_171 = happySpecReduce_2  33# happyReduction_171
-happyReduction_171 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeInv (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_172 = happySpecReduce_2  33# happyReduction_172
-happyReduction_172 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ascii_TopeInv (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_173 = happySpecReduce_2  33# happyReduction_173
-happyReduction_173 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeUninv (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_174 = happySpecReduce_2  33# happyReduction_174
-happyReduction_174 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ascii_TopeUninv (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_175 = happySpecReduce_2  33# happyReduction_175
-happyReduction_175 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeFlip (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_176 = happySpecReduce_2  33# happyReduction_176
-happyReduction_176 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ascii_CubeFlip (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_177 = happySpecReduce_2  33# happyReduction_177
-happyReduction_177 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnflip (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_178 = happySpecReduce_2  33# happyReduction_178
-happyReduction_178 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ascii_CubeUnflip (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_179 = happyReduce 4# 33# happyReduction_179
-happyReduction_179 (happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOut71 happy_x_1 of { (HappyWrap71 happy_var_1) -> 
-        case happyOut62 happy_x_3 of { (HappyWrap62 happy_var_3) -> 
-        happyIn71
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeRestricted (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        ) `HappyStk` happyRest}}
-
-happyReduce_180 = happySpecReduce_2  33# happyReduction_180
-happyReduction_180 happy_x_2
-        happy_x_1
-         =  case happyOut71 happy_x_1 of { (HappyWrap71 happy_var_1) -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.App (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))
-        )}}
-
-happyReduce_181 = happySpecReduce_3  33# happyReduction_181
-happyReduction_181 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut64 happy_x_2 of { (HappyWrap64 happy_var_2) -> 
-        case happyOut66 happy_x_3 of { (HappyWrap66 happy_var_3) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ModExtract (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3))
-        )}}}
-
-happyReduce_182 = happySpecReduce_2  33# happyReduction_182
-happyReduction_182 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.First (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_183 = happySpecReduce_2  33# happyReduction_183
-happyReduction_183 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Second (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_184 = happySpecReduce_1  33# happyReduction_184
-happyReduction_184 happy_x_1
-         =  case happyOut66 happy_x_1 of { (HappyWrap66 happy_var_1) -> 
-        happyIn71
-                 ((fst happy_var_1, (snd happy_var_1))
-        )}
-
-happyReduce_185 = happySpecReduce_2  33# happyReduction_185
-happyReduction_185 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_First (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_186 = happySpecReduce_2  33# happyReduction_186
-happyReduction_186 happy_x_2
-        happy_x_1
-         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
-        happyIn71
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Second (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
-        )}}
-
-happyReduce_187 = happySpecReduce_3  34# happyReduction_187
-happyReduction_187 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut58 happy_x_1 of { (HappyWrap58 happy_var_1) -> 
-        case happyOut72 happy_x_3 of { (HappyWrap72 happy_var_3) -> 
-        happyIn72
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_188 = happyReduce 8# 34# happyReduction_188
-happyReduction_188 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut51 happy_x_3 of { (HappyWrap51 happy_var_3) -> 
-        case happyOut73 happy_x_5 of { (HappyWrap73 happy_var_5) -> 
-        case happyOut72 happy_x_8 of { (HappyWrap72 happy_var_8) -> 
-        happyIn72
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_189 = happyReduce 8# 34# happyReduction_189
-happyReduction_189 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut51 happy_x_3 of { (HappyWrap51 happy_var_3) -> 
-        case happyOut65 happy_x_4 of { (HappyWrap65 happy_var_4) -> 
-        case happyOut73 happy_x_5 of { (HappyWrap73 happy_var_5) -> 
-        case happyOut72 happy_x_8 of { (HappyWrap72 happy_var_8) -> 
-        happyIn72
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeSigmaModal (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_4) (snd happy_var_5) (snd happy_var_8))
-        ) `HappyStk` happyRest}}}}}
-
-happyReduce_190 = happyReduce 8# 34# happyReduction_190
-happyReduction_190 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut59 happy_x_3 of { (HappyWrap59 happy_var_3) -> 
-        case happyOut60 happy_x_5 of { (HappyWrap60 happy_var_5) -> 
-        case happyOut72 happy_x_8 of { (HappyWrap72 happy_var_8) -> 
-        happyIn72
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeSigmaTuple (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_191 = happyReduce 5# 34# happyReduction_191
-happyReduction_191 (happy_x_5 `HappyStk`
-        happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOut70 happy_x_1 of { (HappyWrap70 happy_var_1) -> 
-        case happyOut73 happy_x_3 of { (HappyWrap73 happy_var_3) -> 
-        case happyOut70 happy_x_5 of { (HappyWrap70 happy_var_5) -> 
-        happyIn72
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeId (fst happy_var_1) (snd happy_var_1) (snd happy_var_3) (snd happy_var_5))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_192 = happySpecReduce_3  34# happyReduction_192
-happyReduction_192 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut70 happy_x_1 of { (HappyWrap70 happy_var_1) -> 
-        case happyOut70 happy_x_3 of { (HappyWrap70 happy_var_3) -> 
-        happyIn72
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeIdSimple (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_193 = happyReduce 6# 34# happyReduction_193
-happyReduction_193 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut57 happy_x_2 of { (HappyWrap57 happy_var_2) -> 
-        case happyOut73 happy_x_4 of { (HappyWrap73 happy_var_4) -> 
-        case happyOut73 happy_x_6 of { (HappyWrap73 happy_var_6) -> 
-        happyIn72
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Let (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_194 = happyReduce 4# 34# happyReduction_194
-happyReduction_194 (happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) -> 
-        case happyOut72 happy_x_4 of { (HappyWrap72 happy_var_4) -> 
-        happyIn72
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Lambda (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_195 = happyReduce 8# 34# happyReduction_195
-happyReduction_195 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut64 happy_x_3 of { (HappyWrap64 happy_var_3) -> 
-        case happyOut57 happy_x_4 of { (HappyWrap57 happy_var_4) -> 
-        case happyOut73 happy_x_6 of { (HappyWrap73 happy_var_6) -> 
-        case happyOut73 happy_x_8 of { (HappyWrap73 happy_var_8) -> 
-        happyIn72
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.LetMod (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))
-        ) `HappyStk` happyRest}}}}}
-
-happyReduce_196 = happySpecReduce_1  34# happyReduction_196
-happyReduction_196 happy_x_1
-         =  case happyOut70 happy_x_1 of { (HappyWrap70 happy_var_1) -> 
-        happyIn72
-                 ((fst happy_var_1, (snd happy_var_1))
-        )}
-
-happyReduce_197 = happySpecReduce_3  34# happyReduction_197
-happyReduction_197 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut58 happy_x_1 of { (HappyWrap58 happy_var_1) -> 
-        case happyOut72 happy_x_3 of { (HappyWrap72 happy_var_3) -> 
-        happyIn72
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_198 = happyReduce 8# 34# happyReduction_198
-happyReduction_198 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut51 happy_x_3 of { (HappyWrap51 happy_var_3) -> 
-        case happyOut73 happy_x_5 of { (HappyWrap73 happy_var_5) -> 
-        case happyOut72 happy_x_8 of { (HappyWrap72 happy_var_8) -> 
-        happyIn72
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_199 = happyReduce 8# 34# happyReduction_199
-happyReduction_199 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut51 happy_x_3 of { (HappyWrap51 happy_var_3) -> 
-        case happyOut65 happy_x_4 of { (HappyWrap65 happy_var_4) -> 
-        case happyOut73 happy_x_5 of { (HappyWrap73 happy_var_5) -> 
-        case happyOut72 happy_x_8 of { (HappyWrap72 happy_var_8) -> 
-        happyIn72
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ascii_TypeSigmaModal (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_4) (snd happy_var_5) (snd happy_var_8))
-        ) `HappyStk` happyRest}}}}}
-
-happyReduce_200 = happyReduce 8# 34# happyReduction_200
-happyReduction_200 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut59 happy_x_3 of { (HappyWrap59 happy_var_3) -> 
-        case happyOut60 happy_x_5 of { (HappyWrap60 happy_var_5) -> 
-        case happyOut72 happy_x_8 of { (HappyWrap72 happy_var_8) -> 
-        happyIn72
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TypeSigmaTuple (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_201 = happyReduce 4# 34# happyReduction_201
-happyReduction_201 (happy_x_4 `HappyStk`
-        happy_x_3 `HappyStk`
-        happy_x_2 `HappyStk`
-        happy_x_1 `HappyStk`
-        happyRest)
-         = case happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) -> 
-        case happyOut72 happy_x_4 of { (HappyWrap72 happy_var_4) -> 
-        happyIn72
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Lambda (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
-        ) `HappyStk` happyRest}}}
-
-happyReduce_202 = happyReduce 8# 34# happyReduction_202
-happyReduction_202 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut51 happy_x_3 of { (HappyWrap51 happy_var_3) -> 
-        case happyOut73 happy_x_5 of { (HappyWrap73 happy_var_5) -> 
-        case happyOut72 happy_x_8 of { (HappyWrap72 happy_var_8) -> 
-        happyIn72
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigmaAlt (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_203 = happyReduce 8# 34# happyReduction_203
-happyReduction_203 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
-        case happyOut59 happy_x_3 of { (HappyWrap59 happy_var_3) -> 
-        case happyOut60 happy_x_5 of { (HappyWrap60 happy_var_5) -> 
-        case happyOut72 happy_x_8 of { (HappyWrap72 happy_var_8) -> 
-        happyIn72
-                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigmaTupleAlt (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
-        ) `HappyStk` happyRest}}}}
-
-happyReduce_204 = happySpecReduce_3  35# happyReduction_204
-happyReduction_204 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut70 happy_x_1 of { (HappyWrap70 happy_var_1) -> 
-        case happyOut72 happy_x_3 of { (HappyWrap72 happy_var_3) -> 
-        happyIn73
-                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeAsc (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyReduce_205 = happySpecReduce_1  35# happyReduction_205
-happyReduction_205 happy_x_1
-         =  case happyOut72 happy_x_1 of { (HappyWrap72 happy_var_1) -> 
-        happyIn73
-                 ((fst happy_var_1, (snd happy_var_1))
-        )}
-
-happyReduce_206 = happySpecReduce_1  36# happyReduction_206
-happyReduction_206 happy_x_1
-         =  case happyOut73 happy_x_1 of { (HappyWrap73 happy_var_1) -> 
-        happyIn74
-                 ((fst happy_var_1, (:[]) (snd happy_var_1))
-        )}
-
-happyReduce_207 = happySpecReduce_3  36# happyReduction_207
-happyReduction_207 happy_x_3
-        happy_x_2
-        happy_x_1
-         =  case happyOut73 happy_x_1 of { (HappyWrap73 happy_var_1) -> 
-        case happyOut74 happy_x_3 of { (HappyWrap74 happy_var_3) -> 
-        happyIn74
-                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
-        )}}
-
-happyTerminalToTok term = case term of {
-        PT _ (TS _ 1) -> 2#;
-        PT _ (TS _ 2) -> 3#;
-        PT _ (TS _ 3) -> 4#;
-        PT _ (TS _ 4) -> 5#;
-        PT _ (TS _ 5) -> 6#;
-        PT _ (TS _ 6) -> 7#;
-        PT _ (TS _ 7) -> 8#;
-        PT _ (TS _ 8) -> 9#;
-        PT _ (TS _ 9) -> 10#;
-        PT _ (TS _ 10) -> 11#;
-        PT _ (TS _ 11) -> 12#;
-        PT _ (TS _ 12) -> 13#;
-        PT _ (TS _ 13) -> 14#;
-        PT _ (TS _ 14) -> 15#;
-        PT _ (TS _ 15) -> 16#;
-        PT _ (TS _ 16) -> 17#;
-        PT _ (TS _ 17) -> 18#;
-        PT _ (TS _ 18) -> 19#;
-        PT _ (TS _ 19) -> 20#;
-        PT _ (TS _ 20) -> 21#;
-        PT _ (TS _ 21) -> 22#;
-        PT _ (TS _ 22) -> 23#;
-        PT _ (TS _ 23) -> 24#;
-        PT _ (TS _ 24) -> 25#;
-        PT _ (TS _ 25) -> 26#;
-        PT _ (TS _ 26) -> 27#;
-        PT _ (TS _ 27) -> 28#;
-        PT _ (TS _ 28) -> 29#;
-        PT _ (TS _ 29) -> 30#;
-        PT _ (TS _ 30) -> 31#;
-        PT _ (TS _ 31) -> 32#;
-        PT _ (TS _ 32) -> 33#;
-        PT _ (TS _ 33) -> 34#;
-        PT _ (TS _ 34) -> 35#;
-        PT _ (TS _ 35) -> 36#;
-        PT _ (TS _ 36) -> 37#;
-        PT _ (TS _ 37) -> 38#;
-        PT _ (TS _ 38) -> 39#;
-        PT _ (TS _ 39) -> 40#;
-        PT _ (TS _ 40) -> 41#;
-        PT _ (TS _ 41) -> 42#;
-        PT _ (TS _ 42) -> 43#;
-        PT _ (TS _ 43) -> 44#;
-        PT _ (TS _ 44) -> 45#;
-        PT _ (TS _ 45) -> 46#;
-        PT _ (TS _ 46) -> 47#;
-        PT _ (TS _ 47) -> 48#;
-        PT _ (TS _ 48) -> 49#;
-        PT _ (TS _ 49) -> 50#;
-        PT _ (TS _ 50) -> 51#;
-        PT _ (TS _ 51) -> 52#;
-        PT _ (TS _ 52) -> 53#;
-        PT _ (TS _ 53) -> 54#;
-        PT _ (TS _ 54) -> 55#;
-        PT _ (TS _ 55) -> 56#;
-        PT _ (TS _ 56) -> 57#;
-        PT _ (TS _ 57) -> 58#;
-        PT _ (TS _ 58) -> 59#;
-        PT _ (TS _ 59) -> 60#;
-        PT _ (TS _ 60) -> 61#;
-        PT _ (TS _ 61) -> 62#;
-        PT _ (TS _ 62) -> 63#;
-        PT _ (TS _ 63) -> 64#;
-        PT _ (TS _ 64) -> 65#;
-        PT _ (TS _ 65) -> 66#;
-        PT _ (TS _ 66) -> 67#;
-        PT _ (TS _ 67) -> 68#;
-        PT _ (TS _ 68) -> 69#;
-        PT _ (TS _ 69) -> 70#;
-        PT _ (TS _ 70) -> 71#;
-        PT _ (TS _ 71) -> 72#;
-        PT _ (TS _ 72) -> 73#;
-        PT _ (TS _ 73) -> 74#;
-        PT _ (TS _ 74) -> 75#;
-        PT _ (TS _ 75) -> 76#;
-        PT _ (TS _ 76) -> 77#;
-        PT _ (TS _ 77) -> 78#;
-        PT _ (TS _ 78) -> 79#;
-        PT _ (TS _ 79) -> 80#;
-        PT _ (TS _ 80) -> 81#;
-        PT _ (TS _ 81) -> 82#;
-        PT _ (TS _ 82) -> 83#;
-        PT _ (TS _ 83) -> 84#;
-        PT _ (TS _ 84) -> 85#;
-        PT _ (TS _ 85) -> 86#;
-        PT _ (TS _ 86) -> 87#;
-        PT _ (TS _ 87) -> 88#;
-        PT _ (TS _ 88) -> 89#;
-        PT _ (TS _ 89) -> 90#;
-        PT _ (TS _ 90) -> 91#;
-        PT _ (TS _ 91) -> 92#;
-        PT _ (TS _ 92) -> 93#;
-        PT _ (TS _ 93) -> 94#;
-        PT _ (TS _ 94) -> 95#;
-        PT _ (TS _ 95) -> 96#;
-        PT _ (TS _ 96) -> 97#;
-        PT _ (TS _ 97) -> 98#;
-        PT _ (TS _ 98) -> 99#;
-        PT _ (TS _ 99) -> 100#;
-        PT _ (TS _ 100) -> 101#;
-        PT _ (TS _ 101) -> 102#;
-        PT _ (TS _ 102) -> 103#;
-        PT _ (TS _ 103) -> 104#;
-        PT _ (TS _ 104) -> 105#;
-        PT _ (TS _ 105) -> 106#;
-        PT _ (TS _ 106) -> 107#;
-        PT _ (TS _ 107) -> 108#;
-        PT _ (TS _ 108) -> 109#;
-        PT _ (TS _ 109) -> 110#;
-        PT _ (TS _ 110) -> 111#;
-        PT _ (TL _) -> 112#;
-        PT _ (T_VarIdentToken _) -> 113#;
-        PT _ (T_HoleIdentToken _) -> 114#;
-        _ -> -1#;
-        }
-{-# NOINLINE happyTerminalToTok #-}
-
-happyLex kend  _kmore []       = kend notHappyAtAll []
-happyLex _kend kmore  (tk:tks) = kmore (happyTerminalToTok tk) tk tks
-{-# INLINE happyLex #-}
-
-happyNewToken action sts stk = happyLex (\tk -> happyDoAction 115# notHappyAtAll action sts stk) (\i tk -> happyDoAction i tk action sts stk)
-
-happyReport 115# tk explist resume tks = happyReport' tks explist resume
-happyReport _ tk explist resume tks = happyReport' (tk:tks) explist (\tks -> resume (Happy_Prelude.tail tks))
-
-
-happyThen :: () => (Err a) -> (a -> (Err b)) -> (Err b)
-happyThen = ((>>=))
-happyReturn :: () => a -> (Err a)
-happyReturn = (return)
-happyThen1 m k tks = ((>>=)) m (\a -> k a tks)
-happyFmap1 f m tks = happyThen (m tks) (\a -> happyReturn (f a))
-happyReturn1 :: () => a -> b -> (Err a)
-happyReturn1 = \a tks -> (return) a
-happyReport' :: () => [(Token)] -> [Happy_Prelude.String] -> ([(Token)] -> (Err a)) -> (Err a)
-happyReport' = (\tokens expected resume -> happyError tokens)
-
-happyAbort :: () => [(Token)] -> (Err a)
-happyAbort = Happy_Prelude.error "Called abort handler in non-resumptive parser"
-
-pModule_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 0# tks) (\x -> happyReturn (let {(HappyWrap41 x') = happyOut41 x} in x'))
-
-pHoleIdent_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 1# tks) (\x -> happyReturn (let {(HappyWrap42 x') = happyOut42 x} in x'))
-
-pVarIdent_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 2# tks) (\x -> happyReturn (let {(HappyWrap43 x') = happyOut43 x} in x'))
-
-pListVarIdent_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 3# tks) (\x -> happyReturn (let {(HappyWrap44 x') = happyOut44 x} in x'))
-
-pLanguageDecl_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 4# tks) (\x -> happyReturn (let {(HappyWrap45 x') = happyOut45 x} in x'))
-
-pLanguage_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 5# tks) (\x -> happyReturn (let {(HappyWrap46 x') = happyOut46 x} in x'))
-
-pCommand_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 6# tks) (\x -> happyReturn (let {(HappyWrap47 x') = happyOut47 x} in x'))
-
-pListCommand_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 7# tks) (\x -> happyReturn (let {(HappyWrap48 x') = happyOut48 x} in x'))
-
-pDeclUsedVars_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 8# tks) (\x -> happyReturn (let {(HappyWrap49 x') = happyOut49 x} in x'))
-
-pSectionName_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 9# tks) (\x -> happyReturn (let {(HappyWrap50 x') = happyOut50 x} in x'))
-
-pPattern_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 10# tks) (\x -> happyReturn (let {(HappyWrap51 x') = happyOut51 x} in x'))
-
-pListPattern_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 11# tks) (\x -> happyReturn (let {(HappyWrap52 x') = happyOut52 x} in x'))
-
-pPattern1_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 12# tks) (\x -> happyReturn (let {(HappyWrap53 x') = happyOut53 x} in x'))
-
-pListPattern1_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 13# tks) (\x -> happyReturn (let {(HappyWrap54 x') = happyOut54 x} in x'))
-
-pParam_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 14# tks) (\x -> happyReturn (let {(HappyWrap55 x') = happyOut55 x} in x'))
-
-pListParam_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 15# tks) (\x -> happyReturn (let {(HappyWrap56 x') = happyOut56 x} in x'))
-
-pBind_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 16# tks) (\x -> happyReturn (let {(HappyWrap57 x') = happyOut57 x} in x'))
-
-pParamDecl_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 17# tks) (\x -> happyReturn (let {(HappyWrap58 x') = happyOut58 x} in x'))
-
-pSigmaParam_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 18# tks) (\x -> happyReturn (let {(HappyWrap59 x') = happyOut59 x} in x'))
-
-pListSigmaParam_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 19# tks) (\x -> happyReturn (let {(HappyWrap60 x') = happyOut60 x} in x'))
-
-pRestriction_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 20# tks) (\x -> happyReturn (let {(HappyWrap61 x') = happyOut61 x} in x'))
-
-pListRestriction_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 21# tks) (\x -> happyReturn (let {(HappyWrap62 x') = happyOut62 x} in x'))
-
-pModality_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 22# tks) (\x -> happyReturn (let {(HappyWrap63 x') = happyOut63 x} in x'))
-
-pModComp_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 23# tks) (\x -> happyReturn (let {(HappyWrap64 x') = happyOut64 x} in x'))
-
-pModalColon_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 24# tks) (\x -> happyReturn (let {(HappyWrap65 x') = happyOut65 x} in x'))
-
-pTerm7_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 25# tks) (\x -> happyReturn (let {(HappyWrap66 x') = happyOut66 x} in x'))
-
-pTerm5_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 26# tks) (\x -> happyReturn (let {(HappyWrap67 x') = happyOut67 x} in x'))
-
-pTerm4_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 27# tks) (\x -> happyReturn (let {(HappyWrap68 x') = happyOut68 x} in x'))
-
-pTerm3_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 28# tks) (\x -> happyReturn (let {(HappyWrap69 x') = happyOut69 x} in x'))
-
-pTerm2_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 29# tks) (\x -> happyReturn (let {(HappyWrap70 x') = happyOut70 x} in x'))
-
-pTerm6_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 30# tks) (\x -> happyReturn (let {(HappyWrap71 x') = happyOut71 x} in x'))
-
-pTerm1_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 31# tks) (\x -> happyReturn (let {(HappyWrap72 x') = happyOut72 x} in x'))
-
-pTerm_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 32# tks) (\x -> happyReturn (let {(HappyWrap73 x') = happyOut73 x} in x'))
-
-pListTerm_internal tks = happySomeParser where
- happySomeParser = happyThen (happyDoParse 33# tks) (\x -> happyReturn (let {(HappyWrap74 x') = happyOut74 x} in x'))
-
-happySeq = happyDontSeq
-
-
-type Err = Either String
-
-happyError :: [Token] -> Err a
-happyError ts = Left $
-  "syntax error at " ++ tokenPos ts ++
-  case ts of
-    []      -> []
-    [Err _] -> " due to lexer error"
-    t:_     -> " before `" ++ (prToken t) ++ "'"
-
-myLexer :: Data.Text.Text -> [Token]
-myLexer = tokens
-
--- Entrypoints
-
-pModule :: [Token] -> Err Language.Rzk.Syntax.Abs.Module
-pModule = fmap snd . pModule_internal
-
-pHoleIdent :: [Token] -> Err Language.Rzk.Syntax.Abs.HoleIdent
-pHoleIdent = fmap snd . pHoleIdent_internal
-
-pVarIdent :: [Token] -> Err Language.Rzk.Syntax.Abs.VarIdent
-pVarIdent = fmap snd . pVarIdent_internal
-
-pListVarIdent :: [Token] -> Err [Language.Rzk.Syntax.Abs.VarIdent]
-pListVarIdent = fmap snd . pListVarIdent_internal
-
-pLanguageDecl :: [Token] -> Err Language.Rzk.Syntax.Abs.LanguageDecl
-pLanguageDecl = fmap snd . pLanguageDecl_internal
-
-pLanguage :: [Token] -> Err Language.Rzk.Syntax.Abs.Language
-pLanguage = fmap snd . pLanguage_internal
-
-pCommand :: [Token] -> Err Language.Rzk.Syntax.Abs.Command
-pCommand = fmap snd . pCommand_internal
-
-pListCommand :: [Token] -> Err [Language.Rzk.Syntax.Abs.Command]
-pListCommand = fmap snd . pListCommand_internal
-
-pDeclUsedVars :: [Token] -> Err Language.Rzk.Syntax.Abs.DeclUsedVars
-pDeclUsedVars = fmap snd . pDeclUsedVars_internal
-
-pSectionName :: [Token] -> Err Language.Rzk.Syntax.Abs.SectionName
-pSectionName = fmap snd . pSectionName_internal
+  , pDataSort
+  , pDataBody
+  , pConstructor
+  , pListConstructor
+  , pConstructorType
+  , pDataElim
+  , pListDataElim
+  , pMatchBranch
+  , pListMatchBranch
+  , pPattern
+  , pListPattern
+  , pPattern1
+  , pListPattern1
+  , pParam
+  , pListParam
+  , pBind
+  , pParamDecl
+  , pSigmaParam
+  , pListSigmaParam
+  , pRestriction
+  , pListRestriction
+  , pModality
+  , pModComp
+  , pModalColon
+  , pTerm7
+  , pTerm5
+  , pTerm4
+  , pTerm3
+  , pTerm2
+  , pTerm6
+  , pTerm1
+  , pTerm
+  , pListTerm
+  ) where
+
+import Prelude
+
+import qualified Language.Rzk.Syntax.Abs
+import Language.Rzk.Syntax.Lex
+import qualified Data.Text
+import qualified Control.Monad as Happy_Prelude
+import qualified Data.Bool as Happy_Prelude
+import qualified Data.Function as Happy_Prelude
+import qualified Data.Int as Happy_Prelude
+import qualified Data.List as Happy_Prelude
+import qualified Data.Maybe as Happy_Prelude
+import qualified Data.String as Happy_Prelude
+import qualified Data.Tuple as Happy_Prelude
+import qualified GHC.Err as Happy_Prelude
+import qualified GHC.Num as Happy_Prelude
+import qualified Text.Show as Happy_Prelude
+import qualified Data.Array as Happy_Data_Array
+import qualified Data.Bits as Bits
+import qualified GHC.Exts as Happy_GHC_Exts
+import Control.Applicative(Applicative(..))
+import Control.Monad (ap)
+
+-- parser produced by Happy Version 2.2
+
+newtype HappyAbsSyn  = HappyAbsSyn HappyAny
+#if __GLASGOW_HASKELL__ >= 607
+type HappyAny = Happy_GHC_Exts.Any
+#else
+type HappyAny = forall a . a
+#endif
+newtype HappyWrap47 = HappyWrap47 ((Language.Rzk.Syntax.Abs.BNFC'Position, String))
+happyIn47 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, String)) -> (HappyAbsSyn )
+happyIn47 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap47 x)
+{-# INLINE happyIn47 #-}
+happyOut47 :: (HappyAbsSyn ) -> HappyWrap47
+happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut47 #-}
+newtype HappyWrap48 = HappyWrap48 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdentToken))
+happyIn48 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdentToken)) -> (HappyAbsSyn )
+happyIn48 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap48 x)
+{-# INLINE happyIn48 #-}
+happyOut48 :: (HappyAbsSyn ) -> HappyWrap48
+happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut48 #-}
+newtype HappyWrap49 = HappyWrap49 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdentToken))
+happyIn49 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdentToken)) -> (HappyAbsSyn )
+happyIn49 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap49 x)
+{-# INLINE happyIn49 #-}
+happyOut49 :: (HappyAbsSyn ) -> HappyWrap49
+happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut49 #-}
+newtype HappyWrap50 = HappyWrap50 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module))
+happyIn50 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module)) -> (HappyAbsSyn )
+happyIn50 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap50 x)
+{-# INLINE happyIn50 #-}
+happyOut50 :: (HappyAbsSyn ) -> HappyWrap50
+happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut50 #-}
+newtype HappyWrap51 = HappyWrap51 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent))
+happyIn51 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent)) -> (HappyAbsSyn )
+happyIn51 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap51 x)
+{-# INLINE happyIn51 #-}
+happyOut51 :: (HappyAbsSyn ) -> HappyWrap51
+happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut51 #-}
+newtype HappyWrap52 = HappyWrap52 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent))
+happyIn52 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent)) -> (HappyAbsSyn )
+happyIn52 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap52 x)
+{-# INLINE happyIn52 #-}
+happyOut52 :: (HappyAbsSyn ) -> HappyWrap52
+happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut52 #-}
+newtype HappyWrap53 = HappyWrap53 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.VarIdent]))
+happyIn53 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.VarIdent])) -> (HappyAbsSyn )
+happyIn53 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap53 x)
+{-# INLINE happyIn53 #-}
+happyOut53 :: (HappyAbsSyn ) -> HappyWrap53
+happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut53 #-}
+newtype HappyWrap54 = HappyWrap54 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl))
+happyIn54 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl)) -> (HappyAbsSyn )
+happyIn54 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap54 x)
+{-# INLINE happyIn54 #-}
+happyOut54 :: (HappyAbsSyn ) -> HappyWrap54
+happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut54 #-}
+newtype HappyWrap55 = HappyWrap55 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Language))
+happyIn55 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Language)) -> (HappyAbsSyn )
+happyIn55 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap55 x)
+{-# INLINE happyIn55 #-}
+happyOut55 :: (HappyAbsSyn ) -> HappyWrap55
+happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut55 #-}
+newtype HappyWrap56 = HappyWrap56 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command))
+happyIn56 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command)) -> (HappyAbsSyn )
+happyIn56 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap56 x)
+{-# INLINE happyIn56 #-}
+happyOut56 :: (HappyAbsSyn ) -> HappyWrap56
+happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut56 #-}
+newtype HappyWrap57 = HappyWrap57 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command]))
+happyIn57 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command])) -> (HappyAbsSyn )
+happyIn57 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap57 x)
+{-# INLINE happyIn57 #-}
+happyOut57 :: (HappyAbsSyn ) -> HappyWrap57
+happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut57 #-}
+newtype HappyWrap58 = HappyWrap58 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DeclUsedVars))
+happyIn58 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DeclUsedVars)) -> (HappyAbsSyn )
+happyIn58 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap58 x)
+{-# INLINE happyIn58 #-}
+happyOut58 :: (HappyAbsSyn ) -> HappyWrap58
+happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut58 #-}
+newtype HappyWrap59 = HappyWrap59 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SectionName))
+happyIn59 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SectionName)) -> (HappyAbsSyn )
+happyIn59 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap59 x)
+{-# INLINE happyIn59 #-}
+happyOut59 :: (HappyAbsSyn ) -> HappyWrap59
+happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut59 #-}
+newtype HappyWrap60 = HappyWrap60 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DataSort))
+happyIn60 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DataSort)) -> (HappyAbsSyn )
+happyIn60 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap60 x)
+{-# INLINE happyIn60 #-}
+happyOut60 :: (HappyAbsSyn ) -> HappyWrap60
+happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut60 #-}
+newtype HappyWrap61 = HappyWrap61 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DataBody))
+happyIn61 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DataBody)) -> (HappyAbsSyn )
+happyIn61 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap61 x)
+{-# INLINE happyIn61 #-}
+happyOut61 :: (HappyAbsSyn ) -> HappyWrap61
+happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut61 #-}
+newtype HappyWrap62 = HappyWrap62 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Constructor))
+happyIn62 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Constructor)) -> (HappyAbsSyn )
+happyIn62 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap62 x)
+{-# INLINE happyIn62 #-}
+happyOut62 :: (HappyAbsSyn ) -> HappyWrap62
+happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut62 #-}
+newtype HappyWrap63 = HappyWrap63 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Constructor]))
+happyIn63 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Constructor])) -> (HappyAbsSyn )
+happyIn63 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap63 x)
+{-# INLINE happyIn63 #-}
+happyOut63 :: (HappyAbsSyn ) -> HappyWrap63
+happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut63 #-}
+newtype HappyWrap64 = HappyWrap64 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ConstructorType))
+happyIn64 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ConstructorType)) -> (HappyAbsSyn )
+happyIn64 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap64 x)
+{-# INLINE happyIn64 #-}
+happyOut64 :: (HappyAbsSyn ) -> HappyWrap64
+happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut64 #-}
+newtype HappyWrap65 = HappyWrap65 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DataElim))
+happyIn65 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DataElim)) -> (HappyAbsSyn )
+happyIn65 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap65 x)
+{-# INLINE happyIn65 #-}
+happyOut65 :: (HappyAbsSyn ) -> HappyWrap65
+happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut65 #-}
+newtype HappyWrap66 = HappyWrap66 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.DataElim]))
+happyIn66 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.DataElim])) -> (HappyAbsSyn )
+happyIn66 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap66 x)
+{-# INLINE happyIn66 #-}
+happyOut66 :: (HappyAbsSyn ) -> HappyWrap66
+happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut66 #-}
+newtype HappyWrap67 = HappyWrap67 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.MatchBranch))
+happyIn67 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.MatchBranch)) -> (HappyAbsSyn )
+happyIn67 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap67 x)
+{-# INLINE happyIn67 #-}
+happyOut67 :: (HappyAbsSyn ) -> HappyWrap67
+happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut67 #-}
+newtype HappyWrap68 = HappyWrap68 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.MatchBranch]))
+happyIn68 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.MatchBranch])) -> (HappyAbsSyn )
+happyIn68 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap68 x)
+{-# INLINE happyIn68 #-}
+happyOut68 :: (HappyAbsSyn ) -> HappyWrap68
+happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut68 #-}
+newtype HappyWrap69 = HappyWrap69 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern))
+happyIn69 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern)) -> (HappyAbsSyn )
+happyIn69 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap69 x)
+{-# INLINE happyIn69 #-}
+happyOut69 :: (HappyAbsSyn ) -> HappyWrap69
+happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut69 #-}
+newtype HappyWrap70 = HappyWrap70 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern]))
+happyIn70 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern])) -> (HappyAbsSyn )
+happyIn70 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap70 x)
+{-# INLINE happyIn70 #-}
+happyOut70 :: (HappyAbsSyn ) -> HappyWrap70
+happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut70 #-}
+newtype HappyWrap71 = HappyWrap71 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern))
+happyIn71 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern)) -> (HappyAbsSyn )
+happyIn71 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap71 x)
+{-# INLINE happyIn71 #-}
+happyOut71 :: (HappyAbsSyn ) -> HappyWrap71
+happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut71 #-}
+newtype HappyWrap72 = HappyWrap72 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern]))
+happyIn72 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern])) -> (HappyAbsSyn )
+happyIn72 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap72 x)
+{-# INLINE happyIn72 #-}
+happyOut72 :: (HappyAbsSyn ) -> HappyWrap72
+happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut72 #-}
+newtype HappyWrap73 = HappyWrap73 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Param))
+happyIn73 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Param)) -> (HappyAbsSyn )
+happyIn73 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap73 x)
+{-# INLINE happyIn73 #-}
+happyOut73 :: (HappyAbsSyn ) -> HappyWrap73
+happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut73 #-}
+newtype HappyWrap74 = HappyWrap74 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Param]))
+happyIn74 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Param])) -> (HappyAbsSyn )
+happyIn74 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap74 x)
+{-# INLINE happyIn74 #-}
+happyOut74 :: (HappyAbsSyn ) -> HappyWrap74
+happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut74 #-}
+newtype HappyWrap75 = HappyWrap75 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Bind))
+happyIn75 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Bind)) -> (HappyAbsSyn )
+happyIn75 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap75 x)
+{-# INLINE happyIn75 #-}
+happyOut75 :: (HappyAbsSyn ) -> HappyWrap75
+happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut75 #-}
+newtype HappyWrap76 = HappyWrap76 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ParamDecl))
+happyIn76 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ParamDecl)) -> (HappyAbsSyn )
+happyIn76 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap76 x)
+{-# INLINE happyIn76 #-}
+happyOut76 :: (HappyAbsSyn ) -> HappyWrap76
+happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut76 #-}
+newtype HappyWrap77 = HappyWrap77 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SigmaParam))
+happyIn77 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SigmaParam)) -> (HappyAbsSyn )
+happyIn77 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap77 x)
+{-# INLINE happyIn77 #-}
+happyOut77 :: (HappyAbsSyn ) -> HappyWrap77
+happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut77 #-}
+newtype HappyWrap78 = HappyWrap78 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.SigmaParam]))
+happyIn78 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.SigmaParam])) -> (HappyAbsSyn )
+happyIn78 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap78 x)
+{-# INLINE happyIn78 #-}
+happyOut78 :: (HappyAbsSyn ) -> HappyWrap78
+happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut78 #-}
+newtype HappyWrap79 = HappyWrap79 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Restriction))
+happyIn79 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Restriction)) -> (HappyAbsSyn )
+happyIn79 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap79 x)
+{-# INLINE happyIn79 #-}
+happyOut79 :: (HappyAbsSyn ) -> HappyWrap79
+happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut79 #-}
+newtype HappyWrap80 = HappyWrap80 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Restriction]))
+happyIn80 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Restriction])) -> (HappyAbsSyn )
+happyIn80 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap80 x)
+{-# INLINE happyIn80 #-}
+happyOut80 :: (HappyAbsSyn ) -> HappyWrap80
+happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut80 #-}
+newtype HappyWrap81 = HappyWrap81 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Modality))
+happyIn81 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Modality)) -> (HappyAbsSyn )
+happyIn81 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap81 x)
+{-# INLINE happyIn81 #-}
+happyOut81 :: (HappyAbsSyn ) -> HappyWrap81
+happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut81 #-}
+newtype HappyWrap82 = HappyWrap82 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ModComp))
+happyIn82 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ModComp)) -> (HappyAbsSyn )
+happyIn82 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap82 x)
+{-# INLINE happyIn82 #-}
+happyOut82 :: (HappyAbsSyn ) -> HappyWrap82
+happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut82 #-}
+newtype HappyWrap83 = HappyWrap83 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ModalColon))
+happyIn83 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ModalColon)) -> (HappyAbsSyn )
+happyIn83 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap83 x)
+{-# INLINE happyIn83 #-}
+happyOut83 :: (HappyAbsSyn ) -> HappyWrap83
+happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut83 #-}
+newtype HappyWrap84 = HappyWrap84 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn84 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn84 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap84 x)
+{-# INLINE happyIn84 #-}
+happyOut84 :: (HappyAbsSyn ) -> HappyWrap84
+happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut84 #-}
+newtype HappyWrap85 = HappyWrap85 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn85 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn85 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap85 x)
+{-# INLINE happyIn85 #-}
+happyOut85 :: (HappyAbsSyn ) -> HappyWrap85
+happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut85 #-}
+newtype HappyWrap86 = HappyWrap86 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn86 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn86 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap86 x)
+{-# INLINE happyIn86 #-}
+happyOut86 :: (HappyAbsSyn ) -> HappyWrap86
+happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut86 #-}
+newtype HappyWrap87 = HappyWrap87 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn87 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn87 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap87 x)
+{-# INLINE happyIn87 #-}
+happyOut87 :: (HappyAbsSyn ) -> HappyWrap87
+happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut87 #-}
+newtype HappyWrap88 = HappyWrap88 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn88 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn88 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap88 x)
+{-# INLINE happyIn88 #-}
+happyOut88 :: (HappyAbsSyn ) -> HappyWrap88
+happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut88 #-}
+newtype HappyWrap89 = HappyWrap89 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn89 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn89 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap89 x)
+{-# INLINE happyIn89 #-}
+happyOut89 :: (HappyAbsSyn ) -> HappyWrap89
+happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut89 #-}
+newtype HappyWrap90 = HappyWrap90 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn90 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn90 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap90 x)
+{-# INLINE happyIn90 #-}
+happyOut90 :: (HappyAbsSyn ) -> HappyWrap90
+happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut90 #-}
+newtype HappyWrap91 = HappyWrap91 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))
+happyIn91 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )
+happyIn91 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap91 x)
+{-# INLINE happyIn91 #-}
+happyOut91 :: (HappyAbsSyn ) -> HappyWrap91
+happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut91 #-}
+newtype HappyWrap92 = HappyWrap92 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Term]))
+happyIn92 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Term])) -> (HappyAbsSyn )
+happyIn92 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap92 x)
+{-# INLINE happyIn92 #-}
+happyOut92 :: (HappyAbsSyn ) -> HappyWrap92
+happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut92 #-}
+happyInTok :: (Token) -> (HappyAbsSyn )
+happyInTok x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyInTok #-}
+happyOutTok :: (HappyAbsSyn ) -> (Token)
+happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOutTok #-}
+
+
+{-# NOINLINE happyTokenStrings #-}
+happyTokenStrings = ["'#assume'","'#check'","'#compute'","'#compute-nf'","'#compute-whnf'","'#data'","'#def'","'#define'","'#end'","'#lang'","'#postulate'","'#section'","'#set-option'","'#unset-option'","'#variable'","'#variables'","'$extract$'","'('","')'","'*'","'*_1'","'*\8321'","','","'->'","'/'","'/\\\\'","'0_2'","'0_I'","'0\7522'","'0\8322'","'1'","'1_2'","'1_I'","'1\7522'","'1\8322'","'2'","':'","':='","':_#'","':_b'","':_id'","':_op'","':\7506\7510'","':\9837'","':\9839'","';'","'<='","'='","'==='","'=>'","'=_{'","'BOT'","'CUBE'","'II'","'Sigma'","'TOP'","'TOPE'","'U'","'Unit'","'['","'\\\\'","'\\\\/'","']'","'_#'","'_b'","'_id'","'_op'","'as'","'eliminator'","'first'","'flip_op'","'flip\7506\7510'","'idJ'","'in'","'inf'","'into'","'inv_op'","'inv\7506\7510'","'let'","'match'","'mod'","'recBOT'","'recOR'","'refl'","'refl_{'","'rzk-1'","'second'","'sup'","'unflip_op'","'unflip\7506\7510'","'uninv_op'","'uninv\7506\7510'","'unit'","'uses'","'|'","'|->'","'}'","'\215'","'\931'","'\960\8321'","'\960\8322'","'\7506\7510'","'\8594'","'\8614'","'\8658'","'\8721'","'\8743'","'\8744'","'\8801'","'\8804'","'\8851'","'\8852'","'\8868'","'\8869'","'\9837'","'\9839'","'\120128'","L_quoted","L_VarIdentToken","L_HoleIdentToken","%eof"]
+
+happyActOffsets :: HappyAddr
+happyActOffsets = HappyA# "\xff\xff\xff\xff\x9d\xff\xff\xff\xb4\xff\xff\xff\xb4\xff\xff\xff\x29\x00\x00\x00\xe5\xff\xff\xff\x87\x0b\x00\x00\x87\x0b\x00\x00\xf1\xff\xff\xff\x0c\x00\x00\x00\x7c\x00\x00\x00\x4b\x00\x00\x00\x36\x00\x00\x00\x36\x00\x00\x00\x9a\x00\x00\x00\x81\x00\x00\x00\x81\x00\x00\x00\x4a\x00\x00\x00\x4a\x00\x00\x00\x3e\x00\x00\x00\x3e\x00\x00\x00\x3e\x00\x00\x00\x3e\x00\x00\x00\x49\x00\x00\x00\x49\x00\x00\x00\xdb\x00\x00\x00\x57\x00\x00\x00\xdb\x00\x00\x00\xdb\x00\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\x6e\x01\x00\x00\x6e\x01\x00\x00\xb4\x03\x00\x00\x07\x02\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\xef\xff\xff\xff\x63\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\xff\xff\x07\x02\x00\x00\x00\x00\x00\x00\xa4\x01\x00\x00\xed\xff\xff\xff\x18\x00\x00\x00\x2c\x00\x00\x00\x57\x01\x00\x00\x00\x00\x00\x00\xbb\x00\x00\x00\x6b\x00\x00\x00\x6e\x01\x00\x00\xef\xff\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\xd7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x02\x00\x00\x07\x02\x00\x00\x07\x02\x00\x00\xf2\x00\x00\x00\x07\x02\x00\x00\x07\x02\x00\x00\x07\x02\x00\x00\xf4\xff\xff\xff\x07\x02\x00\x00\x6e\x01\x00\x00\x00\x00\x00\x00\xf7\x00\x00\x00\x00\x00\x00\x00\xef\xff\xff\xff\x07\x02\x00\x00\x07\x02\x00\x00\x07\x02\x00\x00\x07\x02\x00\x00\x07\x02\x00\x00\x07\x02\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x07\x02\x00\x00\x07\x02\x00\x00\x00\x00\x00\x00\x03\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\x00\x00\x78\x00\x00\x00\x4e\x00\x00\x00\x78\x00\x00\x00\x0b\x01\x00\x00\xef\xff\xff\xff\x78\x00\x00\x00\xbb\x01\x00\x00\x78\x00\x00\x00\x78\x00\x00\x00\x0d\x00\x00\x00\x78\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x01\x00\x00\xbc\x00\x00\x00\xbc\x00\x00\x00\x33\x01\x00\x00\xd6\x00\x00\x00\xb7\xff\xff\xff\xd6\x00\x00\x00\x00\x00\x00\x00\x73\x0b\x00\x00\x3a\x01\x00\x00\xe0\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\xe0\x00\x00\x00\xbb\x01\x00\x00\x35\x01\x00\x00\x08\x01\x00\x00\x00\x00\x00\x00\xec\x00\x00\x00\x08\x01\x00\x00\x28\x01\x00\x00\x08\x01\x00\x00\x00\x00\x00\x00\x4d\x01\x00\x00\x0e\x01\x00\x00\x0e\x01\x00\x00\x28\x01\x00\x00\x0e\x01\x00\x00\x0e\x01\x00\x00\x5c\x00\x00\x00\x2a\x01\x00\x00\x15\x01\x00\x00\x15\x01\x00\x00\x4f\x01\x00\x00\x1c\x01\x00\x00\x1f\x01\x00\x00\x23\x01\x00\x00\x23\x01\x00\x00\xef\xff\xff\xff\x08\x00\x00\x00\x3f\x01\x00\x00\x2c\x01\x00\x00\x2c\x01\x00\x00\x2c\x01\x00\x00\x2f\x01\x00\x00\x34\x01\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\x34\x01\x00\x00\x34\x01\x00\x00\xaa\x01\x00\x00\x88\x01\x00\x00\x4b\x01\x00\x00\x5b\x01\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\xef\xff\xff\xff\xef\xff\xff\xff\x5b\x01\x00\x00\x5b\x01\x00\x00\x5b\x01\x00\x00\x5b\x01\x00\x00\x5b\x01\x00\x00\x5b\x01\x00\x00\x75\x01\x00\x00\x75\x01\x00\x00\x7b\x01\x00\x00\x7b\x01\x00\x00\x73\x01\x00\x00\x73\x01\x00\x00\x00\x00\x00\x00\x73\x01\x00\x00\xa2\x01\x00\x00\x82\x01\x00\x00\x81\x01\x00\x00\x81\x01\x00\x00\x81\x01\x00\x00\x81\x01\x00\x00\x87\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x01\x00\x00\xdd\x01\x00\x00\xde\x01\x00\x00\x00\x00\x00\x00\xd9\x01\x00\x00\x00\x00\x00\x00\xac\x01\x00\x00\x00\x00\x00\x00\xac\x01\x00\x00\xac\x01\x00\x00\xac\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x01\x00\x00\xf5\x01\x00\x00\x87\x0b\x00\x00\xa9\x01\x00\x00\x00\x00\x00\x00\xf2\x01\x00\x00\xc7\x01\x00\x00\x00\x00\x00\x00\x1e\x02\x00\x00\x00\x00\x00\x00\x2e\x02\x00\x00\x00\x00\x00\x00\xe7\x01\x00\x00\xe4\xff\xff\xff\xef\xff\xff\xff\xef\xff\xff\xff\x00\x00\x00\x00\x28\x01\x00\x00\x70\x00\x00\x00\x7c\x0b\x00\x00\x00\x00\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\xef\xff\xff\xff\x3d\x02\x00\x00\x28\x01\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\xef\xff\xff\xff\xef\xff\xff\xff\xef\xff\xff\xff\x6e\x01\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\x05\x00\x00\x00\xbf\x00\x00\x00\xef\xff\xff\xff\x28\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x02\x00\x00\x00\x00\x00\x00\xf9\xff\xff\xff\xef\xff\xff\xff\x07\x02\x00\x00\x02\x00\x00\x00\x2f\x02\x00\x00\x6e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x02\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x28\x01\x00\x00\x14\x0b\x00\x00\x07\x02\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\xbf\x00\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\xbf\x00\x00\x00\x00\x00\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x00\x00\x76\x00\x00\x00\x76\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\x85\x0b\x00\x00\x4a\x02\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\x53\x02\x00\x00\x00\x00\x00\x00\x28\x01\x00\x00\xef\xff\xff\xff\xf4\x01\x00\x00\x07\x02\x00\x00\x00\x00\x00\x00\x5b\x02\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x0b\x00\x00\x66\x02\x00\x00\x97\x0b\x00\x00\x6b\x02\x00\x00\x33\x02\x00\x00\x00\x00\x00\x00\xbb\x01\x00\x00\xbb\x01\x00\x00\xbb\x01\x00\x00\xbb\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\x00\x00\x28\x01\x00\x00\x5c\x02\x00\x00\x00\x00\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\x00\x00\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x02\x00\x00\x00\x00\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\xc5\x00\x00\x00\xde\x00\x00\x00\xf9\x00\x00\x00\x2b\x01\x00\x00\x26\x02\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x00\x00\xef\xff\xff\xff\x7e\x02\x00\x00\xef\xff\xff\xff\xa7\x02\x00\x00\xef\xff\xff\xff\xad\x02\x00\x00\xb1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\xbf\x00\x00\x00\x28\x01\x00\x00\xef\xff\xff\xff\x28\x01\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\x43\x02\x00\x00\x00\x00\x00\x00\xc5\x02\x00\x00\xcc\x02\x00\x00\x92\x02\x00\x00\xc8\x02\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x28\x01\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\x89\x00\x00\x00\xdf\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\xef\xff\xff\xff\xe1\x02\x00\x00\xec\x02\x00\x00\xf5\x02\x00\x00\xf3\x02\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\x00\x00\x00\x00\x9b\x02\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x01\x03\x00\x00\x17\x03\x00\x00\x1a\x03\x00\x00\x1d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x01\x00\x00\x00\x00\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\xef\xff\xff\xff\x25\x03\x00\x00\x00\x00\x00\x00\x29\x03\x00\x00\xef\xff\xff\xff\x40\x03\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\x4f\x03\x00\x00\xef\xff\xff\xff\x51\x03\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\x54\x03\x00\x00\x6a\x03\x00\x00\x6b\x03\x00\x00\xfe\x02\x00\x00\x69\x03\x00\x00\x6e\x03\x00\x00\x73\x03\x00\x00\x74\x03\x00\x00\x6c\x03\x00\x00\x00\x00\x00\x00\x5a\x03\x00\x00\xef\xff\xff\xff\x8e\x03\x00\x00\x8f\x03\x00\x00\x92\x03\x00\x00\x99\x03\x00\x00\x9a\x03\x00\x00\x9b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\xef\xff\xff\xff\x98\x03\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\xef\xff\xff\xff\xef\xff\xff\xff\xef\xff\xff\xff\xef\xff\xff\xff\xef\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\xff\xff\xff\x00\x00\x00\x00\xef\xff\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\xef\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x03\x00\x00\xef\xff\xff\xff\x9f\x03\x00\x00\xef\xff\xff\xff\xa4\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
+
+happyGotoOffsets :: HappyAddr
+happyGotoOffsets = HappyA# "\x3c\x01\x00\x00\x1f\x00\x00\x00\x67\x01\x00\x00\x61\x01\x00\x00\xaa\x03\x00\x00\xab\x03\x00\x00\xb2\x03\x00\x00\xfa\xff\xff\xff\xaf\x03\x00\x00\x52\x02\x00\x00\xc7\x03\x00\x00\xc8\x03\x00\x00\xb6\x00\x00\x00\x36\x02\x00\x00\xc4\x03\x00\x00\xd2\x03\x00\x00\x4c\x00\x00\x00\xc3\x00\x00\x00\xb3\x01\x00\x00\x19\x00\x00\x00\x05\x03\x00\x00\x01\x0a\x00\x00\x44\x03\x00\x00\x3b\x03\x00\x00\x2e\x0b\x00\x00\x9d\x02\x00\x00\xf8\x09\x00\x00\xb3\x02\x00\x00\x86\x01\x00\x00\x0d\x03\x00\x00\x95\x02\x00\x00\xb7\x03\x00\x00\x67\x00\x00\x00\xc1\x03\x00\x00\x5f\x02\x00\x00\x03\x0a\x00\x00\xe8\x09\x00\x00\xbe\x09\x00\x00\xbf\x01\x00\x00\x41\x0a\x00\x00\xbb\x08\x00\x00\x39\x03\x00\x00\x4b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x00\x00\x49\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x0a\x00\x00\x8e\x0a\x00\x00\x9a\x0a\x00\x00\x00\x00\x00\x00\xa1\x0a\x00\x00\xa6\x0a\x00\x00\xad\x0a\x00\x00\xc3\x02\x00\x00\xb3\x0a\x00\x00\xc5\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x03\x00\x00\xb9\x0a\x00\x00\xc0\x0a\x00\x00\xc8\x0a\x00\x00\xcf\x0a\x00\x00\xd5\x0a\x00\x00\xdb\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x0a\x00\x00\xe7\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x0a\x00\x00\x78\x03\x00\x00\x00\x00\x00\x00\xee\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x0b\x00\x00\x00\x00\x00\x00\x20\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x03\x00\x00\x3e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\x02\x00\x00\x00\x00\x00\x00\xa7\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x02\x00\x00\xc6\x03\x00\x00\xd6\x03\x00\x00\xf5\x03\x00\x00\x05\x04\x00\x00\xb5\x01\x00\x00\xc1\x01\x00\x00\xe9\x01\x00\x00\x0b\x03\x00\x00\x17\x02\x00\x00\x76\x03\x00\x00\xe9\x03\x00\x00\xea\x03\x00\x00\x4d\x02\x00\x00\x9a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x03\x00\x00\xc9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x03\x00\x00\x00\x00\x00\x00\xf9\x03\x00\x00\xfa\x03\x00\x00\xfd\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x00\x00\x00\x83\x03\x00\x00\x00\x00\x00\x00\xea\x00\x00\x00\x43\x03\x00\x00\x00\x00\x00\x00\xe4\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x02\x00\x00\x00\x00\x00\x00\x24\x04\x00\x00\x34\x04\x00\x00\x00\x00\x00\x00\x31\x0a\x00\x00\x71\x0b\x00\x00\xe7\x03\x00\x00\x00\x00\x00\x00\x53\x04\x00\x00\x00\x00\x00\x00\xc1\x02\x00\x00\x00\x00\x00\x00\x9d\x01\x00\x00\x63\x04\x00\x00\x82\x04\x00\x00\x92\x04\x00\x00\xb1\x04\x00\x00\xd1\x02\x00\x00\xeb\x03\x00\x00\x51\x0a\x00\x00\x5d\x0a\x00\x00\x63\x0a\x00\x00\x6c\x0a\x00\x00\x00\x00\x00\x00\xab\x08\x00\x00\xc1\x04\x00\x00\xef\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x02\x00\x00\xfa\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x36\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x0b\x00\x00\xe0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x03\x00\x00\xe8\x03\x00\x00\x09\x0b\x00\x00\x65\x02\x00\x00\xca\x08\x00\x00\x94\x09\x00\x00\xa3\x09\x00\x00\xce\x09\x00\x00\xd9\x09\x00\x00\x0f\x0a\x00\x00\x1a\x0a\x00\x00\x2a\x0a\x00\x00\x36\x0a\x00\x00\x00\x00\x00\x00\xda\x08\x00\x00\xe9\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x04\x00\x00\x00\x00\x00\x00\x0f\x05\x00\x00\x1f\x05\x00\x00\xed\x03\x00\x00\x00\x00\x00\x00\xf9\x08\x00\x00\x08\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x03\x00\x00\x3e\x05\x00\x00\x82\x03\x00\x00\x10\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x03\x00\x00\x00\x00\x00\x00\xf0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x0b\x00\x00\x16\x0b\x00\x00\x16\x0b\x00\x00\x16\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x05\x00\x00\x7d\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x05\x00\x00\xac\x05\x00\x00\x00\x00\x00\x00\xcb\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x05\x00\x00\xfa\x05\x00\x00\x42\x0b\x00\x00\x4d\x0b\x00\x00\x54\x0b\x00\x00\x5d\x0b\x00\x00\x0e\x04\x00\x00\x0a\x06\x00\x00\x29\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x06\x00\x00\x00\x00\x00\x00\x58\x06\x00\x00\x00\x00\x00\x00\x68\x06\x00\x00\x01\x04\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x09\x00\x00\xea\x01\x00\x00\x87\x06\x00\x00\x01\x02\x00\x00\x97\x06\x00\x00\xb6\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x02\x00\x00\xe5\x06\x00\x00\xf5\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x07\x00\x00\x00\x00\x00\x00\x84\x02\x00\x00\x00\x00\x00\x00\x24\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x07\x00\x00\x53\x07\x00\x00\x00\x00\x00\x00\xb1\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x0b\x00\x00\x00\x00\x00\x00\x72\x07\x00\x00\x00\x00\x00\x00\x82\x07\x00\x00\x07\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x07\x00\x00\x00\x00\x00\x00\xb1\x07\x00\x00\x00\x00\x00\x00\xd0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x07\x00\x00\x00\x00\x00\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x09\x00\x00\x27\x09\x00\x00\x37\x09\x00\x00\x00\x00\x00\x00\x2e\x08\x00\x00\x00\x00\x00\x00\x46\x09\x00\x00\x56\x09\x00\x00\x65\x09\x00\x00\x75\x09\x00\x00\x84\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x08\x00\x00\x00\x00\x00\x00\x5d\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x08\x00\x00\x00\x00\x00\x00\x9c\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
+
+happyDefActions :: HappyAddr
+happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\xff\xff\xff\xb4\xff\xff\xff\xb3\xff\xff\xff\xb0\xff\xff\xff\xae\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa8\xff\xff\xff\x00\x00\x00\x00\xa6\xff\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\xd4\xff\xff\xff\xcf\xff\xff\xff\xd0\xff\xff\xff\x54\xff\xff\xff\x53\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x2c\xff\xff\xff\x42\xff\xff\xff\x3e\xff\xff\xff\x3b\xff\xff\xff\x1e\xff\xff\xff\x46\xff\xff\xff\x15\xff\xff\xff\x14\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\xff\xff\xff\x6b\xff\xff\xff\x50\xff\xff\xff\x4d\xff\xff\xff\x66\xff\xff\xff\x69\xff\xff\xff\x6c\xff\xff\xff\x4f\xff\xff\xff\x4c\xff\xff\xff\x65\xff\xff\xff\x68\xff\xff\xff\x6a\xff\xff\xff\x4a\xff\xff\xff\x6e\xff\xff\xff\x4e\xff\xff\xff\x00\x00\x00\x00\x4b\xff\xff\xff\x6d\xff\xff\xff\x6f\xff\xff\xff\x60\xff\xff\xff\x00\x00\x00\x00\x7c\xff\xff\xff\x7e\xff\xff\xff\x79\xff\xff\xff\x7a\xff\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\x62\xff\xff\xff\x00\x00\x00\x00\x5a\xff\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\x5b\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\xff\xff\xff\x00\x00\x00\x00\x64\xff\xff\xff\x63\xff\xff\xff\x7f\xff\xff\xff\x7d\xff\xff\xff\x67\xff\xff\xff\xd3\xff\xff\xff\xd2\xff\xff\xff\x00\x00\x00\x00\x1e\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\xff\xff\xff\x72\xff\xff\xff\x73\xff\xff\xff\x70\xff\xff\xff\x74\xff\xff\xff\x76\xff\xff\xff\x75\xff\xff\xff\x78\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x81\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\xff\xff\xff\x00\x00\x00\x00\x85\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9e\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x8c\xff\xff\xff\x8e\xff\xff\xff\x00\x00\x00\x00\x95\xff\xff\xff\x90\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\xff\xff\xff\x97\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9a\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa6\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\xff\xff\xff\xab\xff\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\xb2\xff\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\xb3\xff\xff\xff\x00\x00\x00\x00\xb3\xff\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\xcb\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xce\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\xff\xff\xff\xd1\xff\xff\xff\xcd\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc9\xff\xff\xff\x00\x00\x00\x00\xbf\xff\xff\xff\xb4\xff\xff\xff\xbe\xff\xff\xff\xb4\xff\xff\xff\xb4\xff\xff\xff\xb4\xff\xff\xff\xc6\xff\xff\xff\xc5\xff\xff\xff\xc7\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb7\xff\xff\xff\x00\x00\x00\x00\xb1\xff\xff\xff\xa6\xff\xff\xff\x00\x00\x00\x00\xac\xff\xff\xff\xa8\xff\xff\xff\xa9\xff\xff\xff\x00\x00\x00\x00\xa5\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\xff\xff\xff\x00\x00\x00\x00\x9a\xff\xff\xff\x00\x00\x00\x00\x8f\xff\xff\xff\x00\x00\x00\x00\x30\xff\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\x2d\xff\xff\xff\x2e\xff\xff\xff\x00\x00\x00\x00\x37\xff\xff\xff\x36\xff\xff\xff\x33\xff\xff\xff\x32\xff\xff\xff\x00\x00\x00\x00\x28\xff\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\x39\xff\xff\xff\x38\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x35\xff\xff\xff\x34\xff\xff\xff\x29\xff\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\x5c\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x27\xff\xff\xff\x1d\xff\xff\xff\x43\xff\xff\xff\x44\xff\xff\xff\x41\xff\xff\xff\x40\xff\xff\xff\x3f\xff\xff\xff\x3d\xff\xff\xff\x3c\xff\xff\xff\x3a\xff\xff\xff\x16\xff\xff\xff\x13\xff\xff\xff\x2f\xff\xff\xff\x00\x00\x00\x00\x52\xff\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\x2a\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x59\xff\xff\xff\x2b\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\xff\xff\xff\x48\xff\xff\xff\x47\xff\xff\xff\x49\xff\xff\xff\x45\xff\xff\xff\x77\xff\xff\xff\x80\xff\xff\xff\x83\xff\xff\xff\x82\xff\xff\xff\x87\xff\xff\xff\x86\xff\xff\xff\x84\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x8d\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x96\xff\xff\xff\xa3\xff\xff\xff\xa1\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9f\xff\xff\xff\x00\x00\x00\x00\xad\xff\xff\xff\xaa\xff\xff\xff\xaf\xff\xff\xff\x00\x00\x00\x00\xb6\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb0\xff\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\xcc\xff\xff\xff\xc0\xff\xff\xff\xc1\xff\xff\xff\xca\xff\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\xae\xff\xff\xff\xb0\xff\xff\xff\xc8\xff\xff\xff\xc2\xff\xff\xff\xb5\xff\xff\xff\xa7\xff\xff\xff\xa4\xff\xff\xff\xa2\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x31\xff\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\x61\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xff\xff\xff\x19\xff\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\x89\xff\xff\xff\x00\x00\x00\x00\x5f\xff\xff\xff\x00\x00\x00\x00\x8b\xff\xff\xff\x00\x00\x00\x00\x87\xff\xff\xff\x86\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\xff\xff\xff\x00\x00\x00\x00\x58\xff\xff\xff\x87\xff\xff\xff\x86\xff\xff\xff\x00\x00\x00\x00\x87\xff\xff\xff\x00\x00\x00\x00\x23\xff\xff\xff\x9c\xff\xff\xff\x00\x00\x00\x00\x92\xff\xff\xff\x00\x00\x00\x00\x94\xff\xff\xff\x00\x00\x00\x00\xae\xff\xff\xff\xb8\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\xff\xff\xff\x00\x00\x00\x00\xc4\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\xff\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\x21\xff\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\x88\xff\xff\xff\x5e\xff\xff\xff\x8a\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\xff\xff\xff\x91\xff\xff\xff\x93\xff\xff\xff\xba\xff\xff\xff\x00\x00\x00\x00\xbc\xff\xff\xff\x00\x00\x00\x00\xbd\xff\xff\xff\xbb\xff\xff\xff\x17\xff\xff\xff\x18\xff\xff\xff\x24\xff\xff\xff\x25\xff\xff\xff\x26\xff\xff\xff\x1f\xff\xff\xff\x00\x00\x00\x00\x1a\xff\xff\xff\x1b\xff\xff\xff\x1c\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\xff\xff\xff"#
+
+happyCheck :: HappyAddr
+happyCheck = HappyA# "\xff\xff\xff\xff\x12\x00\x00\x00\x13\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x13\x00\x00\x00\x1b\x00\x00\x00\x19\x00\x00\x00\x0b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x13\x00\x00\x00\x79\x00\x00\x00\x33\x00\x00\x00\x61\x00\x00\x00\x14\x00\x00\x00\x01\x00\x00\x00\x13\x00\x00\x00\x19\x00\x00\x00\x18\x00\x00\x00\x05\x00\x00\x00\x26\x00\x00\x00\x69\x00\x00\x00\x02\x00\x00\x00\x15\x00\x00\x00\x04\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x78\x00\x00\x00\x3e\x00\x00\x00\x26\x00\x00\x00\x16\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x0b\x00\x00\x00\x14\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x14\x00\x00\x00\x4c\x00\x00\x00\x57\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x52\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x5d\x00\x00\x00\x5e\x00\x00\x00\x6a\x00\x00\x00\x4d\x00\x00\x00\x5f\x00\x00\x00\x13\x00\x00\x00\x5e\x00\x00\x00\x64\x00\x00\x00\x65\x00\x00\x00\x66\x00\x00\x00\x67\x00\x00\x00\x3f\x00\x00\x00\x68\x00\x00\x00\x6c\x00\x00\x00\x6b\x00\x00\x00\x62\x00\x00\x00\x13\x00\x00\x00\x31\x00\x00\x00\x12\x00\x00\x00\x13\x00\x00\x00\x34\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\x5e\x00\x00\x00\x78\x00\x00\x00\x79\x00\x00\x00\x12\x00\x00\x00\x13\x00\x00\x00\x68\x00\x00\x00\x78\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x13\x00\x00\x00\x63\x00\x00\x00\x45\x00\x00\x00\x27\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x31\x00\x00\x00\x78\x00\x00\x00\x60\x00\x00\x00\x34\x00\x00\x00\x13\x00\x00\x00\x78\x00\x00\x00\x6d\x00\x00\x00\x60\x00\x00\x00\x7a\x00\x00\x00\x18\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x15\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x33\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x12\x00\x00\x00\x13\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x5e\x00\x00\x00\x14\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x26\x00\x00\x00\x4c\x00\x00\x00\x14\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x5e\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x78\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x5d\x00\x00\x00\x5e\x00\x00\x00\x78\x00\x00\x00\x01\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x5e\x00\x00\x00\x05\x00\x00\x00\x65\x00\x00\x00\x66\x00\x00\x00\x67\x00\x00\x00\x14\x00\x00\x00\x26\x00\x00\x00\x78\x00\x00\x00\x78\x00\x00\x00\x18\x00\x00\x00\x01\x00\x00\x00\x0f\x00\x00\x00\x6a\x00\x00\x00\x46\x00\x00\x00\x05\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\x5e\x00\x00\x00\x78\x00\x00\x00\x79\x00\x00\x00\x12\x00\x00\x00\x13\x00\x00\x00\x18\x00\x00\x00\x78\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x14\x00\x00\x00\x13\x00\x00\x00\x63\x00\x00\x00\x77\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x7a\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x78\x00\x00\x00\x60\x00\x00\x00\x13\x00\x00\x00\x26\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\x13\x00\x00\x00\x13\x00\x00\x00\x60\x00\x00\x00\x13\x00\x00\x00\x7a\x00\x00\x00\x14\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x18\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x12\x00\x00\x00\x13\x00\x00\x00\x13\x00\x00\x00\x13\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x26\x00\x00\x00\x13\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x13\x00\x00\x00\x4c\x00\x00\x00\x13\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x13\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x13\x00\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\x5c\x00\x00\x00\x5d\x00\x00\x00\x5e\x00\x00\x00\x13\x00\x00\x00\x26\x00\x00\x00\x1a\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x5e\x00\x00\x00\x65\x00\x00\x00\x66\x00\x00\x00\x67\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\x7a\x00\x00\x00\x78\x00\x00\x00\x79\x00\x00\x00\x5e\x00\x00\x00\x5e\x00\x00\x00\x13\x00\x00\x00\x5e\x00\x00\x00\x78\x00\x00\x00\x13\x00\x00\x00\x03\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x07\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x5e\x00\x00\x00\x5e\x00\x00\x00\x18\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x7a\x00\x00\x00\x26\x00\x00\x00\x18\x00\x00\x00\x78\x00\x00\x00\x78\x00\x00\x00\x4a\x00\x00\x00\x78\x00\x00\x00\x5e\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x7a\x00\x00\x00\x26\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x01\x00\x00\x00\x78\x00\x00\x00\x78\x00\x00\x00\x18\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00\x00\x5e\x00\x00\x00\x13\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x05\x00\x00\x00\x19\x00\x00\x00\x78\x00\x00\x00\x67\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\x7a\x00\x00\x00\x78\x00\x00\x00\x79\x00\x00\x00\x7a\x00\x00\x00\x5e\x00\x00\x00\x01\x00\x00\x00\x7a\x00\x00\x00\x5e\x00\x00\x00\x60\x00\x00\x00\x05\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x7a\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x46\x00\x00\x00\x7a\x00\x00\x00\x78\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x16\x00\x00\x00\x7a\x00\x00\x00\x01\x00\x00\x00\x60\x00\x00\x00\x78\x00\x00\x00\x4a\x00\x00\x00\x05\x00\x00\x00\x78\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x7a\x00\x00\x00\x78\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x7a\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\x5e\x00\x00\x00\x01\x00\x00\x00\x2f\x00\x00\x00\x05\x00\x00\x00\x15\x00\x00\x00\x05\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x13\x00\x00\x00\x67\x00\x00\x00\x68\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x7a\x00\x00\x00\x05\x00\x00\x00\x14\x00\x00\x00\x15\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\x13\x00\x00\x00\x78\x00\x00\x00\x79\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x78\x00\x00\x00\x30\x00\x00\x00\x67\x00\x00\x00\x32\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x22\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x77\x00\x00\x00\x7a\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x78\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x3d\x00\x00\x00\x57\x00\x00\x00\x78\x00\x00\x00\x7a\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x16\x00\x00\x00\x2f\x00\x00\x00\x01\x00\x00\x00\x26\x00\x00\x00\x26\x00\x00\x00\x4a\x00\x00\x00\x05\x00\x00\x00\x63\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x31\x00\x00\x00\x5f\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x26\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\x5e\x00\x00\x00\x13\x00\x00\x00\x26\x00\x00\x00\x05\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x78\x00\x00\x00\x67\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x23\x00\x00\x00\x24\x00\x00\x00\x25\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\x01\x00\x00\x00\x78\x00\x00\x00\x79\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x46\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x05\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x78\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x3c\x00\x00\x00\x26\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x16\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x4a\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x26\x00\x00\x00\x18\x00\x00\x00\x27\x00\x00\x00\x05\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x53\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x0c\x00\x00\x00\x78\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x18\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x5e\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x1d\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x18\x00\x00\x00\x78\x00\x00\x00\x22\x00\x00\x00\x67\x00\x00\x00\x14\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\x18\x00\x00\x00\x78\x00\x00\x00\x79\x00\x00\x00\x22\x00\x00\x00\x1d\x00\x00\x00\x18\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x14\x00\x00\x00\x01\x00\x00\x00\x62\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x05\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x40\x00\x00\x00\x77\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x1d\x00\x00\x00\x05\x00\x00\x00\x26\x00\x00\x00\x26\x00\x00\x00\x62\x00\x00\x00\x22\x00\x00\x00\x14\x00\x00\x00\x15\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x1d\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x26\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x05\x00\x00\x00\x1e\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x27\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x26\x00\x00\x00\x13\x00\x00\x00\x16\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x16\x00\x00\x00\x4b\x00\x00\x00\x1d\x00\x00\x00\x1c\x00\x00\x00\x14\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\x27\x00\x00\x00\x01\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x05\x00\x00\x00\x14\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x14\x00\x00\x00\x05\x00\x00\x00\x18\x00\x00\x00\x01\x00\x00\x00\x1e\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x05\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x78\x00\x00\x00\x14\x00\x00\x00\x14\x00\x00\x00\x18\x00\x00\x00\x0c\x00\x00\x00\x16\x00\x00\x00\x16\x00\x00\x00\x1d\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x20\x00\x00\x00\x21\x00\x00\x00\x22\x00\x00\x00\x1e\x00\x00\x00\x1e\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\x14\x00\x00\x00\x01\x00\x00\x00\x20\x00\x00\x00\x14\x00\x00\x00\x22\x00\x00\x00\x05\x00\x00\x00\x14\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x1c\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x27\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x11\x00\x00\x00\x27\x00\x00\x00\x16\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x16\x00\x00\x00\x1a\x00\x00\x00\x1d\x00\x00\x00\x16\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x16\x00\x00\x00\x22\x00\x00\x00\x18\x00\x00\x00\x19\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\x27\x00\x00\x00\x14\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x27\x00\x00\x00\x01\x00\x00\x00\x27\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x05\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x14\x00\x00\x00\x14\x00\x00\x00\x14\x00\x00\x00\x18\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x1d\x00\x00\x00\x18\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x22\x00\x00\x00\x18\x00\x00\x00\x18\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\x14\x00\x00\x00\x15\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x4b\x00\x00\x00\x18\x00\x00\x00\x18\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x18\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x14\x00\x00\x00\x14\x00\x00\x00\x14\x00\x00\x00\x18\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x08\x00\x00\x00\x1d\x00\x00\x00\x18\x00\x00\x00\x05\x00\x00\x00\x18\x00\x00\x00\x14\x00\x00\x00\x22\x00\x00\x00\x0b\x00\x00\x00\x09\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\x14\x00\x00\x00\x15\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x0d\x00\x00\x00\x11\x00\x00\x00\x0e\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x1d\x00\x00\x00\x12\x00\x00\x00\x24\x00\x00\x00\x24\x00\x00\x00\x22\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\x08\x00\x00\x00\x11\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x0b\x00\x00\x00\x0b\x00\x00\x00\x0b\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x0b\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x24\x00\x00\x00\x24\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x0d\x00\x00\x00\x24\x00\x00\x00\x1d\x00\x00\x00\x24\x00\x00\x00\x24\x00\x00\x00\x0e\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\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\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\xff\xff\xff\xff\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\xff\xff\xff\xff\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\xff\xff\xff\xff\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\xff\xff\xff\xff\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\xff\xff\xff\xff\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\xff\xff\xff\xff\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\xff\xff\xff\xff\x2a\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\xff\xff\xff\xff\x2a\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x28\x00\x00\x00\x01\x00\x00\x00\x2a\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x05\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x1d\x00\x00\x00\xff\xff\xff\xff\x16\x00\x00\x00\xff\xff\xff\xff\x18\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\x01\x00\x00\x00\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x16\x00\x00\x00\xff\xff\xff\xff\x18\x00\x00\x00\x19\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\x26\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x22\x00\x00\x00\xff\xff\xff\xff\x2a\x00\x00\x00\x25\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\x2a\x00\x00\x00\xff\xff\xff\xff\x25\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\xff\xff\xff\xff\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x02\x00\x00\x00\x22\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x22\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\xff\xff\xff\xff\x22\x00\x00\x00\xff\xff\xff\xff\x05\x00\x00\x00\x25\x00\x00\x00\xff\xff\xff\xff\x14\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\x18\x00\x00\x00\xff\xff\xff\xff\x25\x00\x00\x00\x01\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x25\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x22\x00\x00\x00\xff\xff\xff\xff\x26\x00\x00\x00\x25\x00\x00\x00\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x01\x00\x00\x00\x16\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x05\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x0d\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x05\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x01\x00\x00\x00\xff\xff\xff\xff\x16\x00\x00\x00\x05\x00\x00\x00\x05\x00\x00\x00\x16\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x16\x00\x00\x00\x05\x00\x00\x00\x16\x00\x00\x00\xff\xff\xff\xff\x1a\x00\x00\x00\x1b\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\x16\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x05\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00\x16\x00\x00\x00\x05\x00\x00\x00\xff\xff\xff\xff\x05\x00\x00\x00\x1a\x00\x00\x00\x1b\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x00\x00\xff\xff\xff\xff\x18\x00\x00\x00\x19\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x00\x00\x17\x00\x00\x00\x16\x00\x00\x00\x17\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\x0a\x00\x00\x00\xff\xff\xff\xff\x0c\x00\x00\x00\x0d\x00\x00\x00\x0e\x00\x00\x00\x0f\x00\x00\x00\x10\x00\x00\x00\x11\x00\x00\x00\x26\x00\x00\x00\xff\xff\xff\xff\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x26\x00\x00\x00\xff\xff\xff\xff\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x26\x00\x00\x00\xff\xff\xff\xff\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x26\x00\x00\x00\xff\xff\xff\xff\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x26\x00\x00\x00\xff\xff\xff\xff\x28\x00\x00\x00\x29\x00\x00\x00\x2a\x00\x00\x00\x2b\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\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"#
+
+happyTable :: HappyAddr
+happyTable = HappyA# "\x00\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\xbf\x00\x00\x00\xc0\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x97\x00\x00\x00\x32\x01\x00\x00\x39\x01\x00\x00\xd5\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x54\x01\x00\x00\x78\x00\x00\x00\x74\x01\x00\x00\x08\x01\x00\x00\x49\x01\x00\x00\x2d\x00\x00\x00\xa1\x00\x00\x00\x4e\x01\x00\x00\x4a\x01\x00\x00\x92\x00\x00\x00\x58\x01\x00\x00\x09\x01\x00\x00\x2e\x00\x00\x00\x0c\x01\x00\x00\xd8\x00\x00\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x77\x00\x00\x00\x53\x00\x00\x00\xb3\x00\x00\x00\xa8\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\xd5\x00\x00\x00\xca\x01\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\xc8\x01\x00\x00\x5c\x00\x00\x00\xd3\x00\x00\x00\x5d\x00\x00\x00\x5e\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x00\x00\x61\x00\x00\x00\x62\x00\x00\x00\x63\x00\x00\x00\x64\x00\x00\x00\x65\x00\x00\x00\x22\x01\x00\x00\x66\x00\x00\x00\x67\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x75\x01\x00\x00\x55\x01\x00\x00\xbf\x00\x00\x00\x97\x00\x00\x00\x98\x00\x00\x00\x6d\x00\x00\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x30\x01\x00\x00\x3a\x01\x00\x00\x33\x01\x00\x00\x71\x00\x00\x00\x59\x01\x00\x00\xa1\x00\x00\x00\x11\x01\x00\x00\xad\x00\x00\x00\xae\x00\x00\x00\x12\x01\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\x98\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x3d\x00\x00\x00\x3e\x00\x00\x00\x4f\x01\x00\x00\x77\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x97\x00\x00\x00\x0d\x01\x00\x00\x2f\x01\x00\x00\xb9\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x0e\x01\x00\x00\x0f\x01\x00\x00\x11\x01\x00\x00\x77\x00\x00\x00\xcb\x01\x00\x00\x12\x01\x00\x00\x97\x00\x00\x00\x77\x00\x00\x00\x31\x01\x00\x00\xc9\x01\x00\x00\xff\xff\xff\xff\x6c\x01\x00\x00\x8b\x00\x00\x00\x8c\x00\x00\x00\x0c\x01\x00\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\xfa\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x8b\x00\x00\x00\x2c\x01\x00\x00\xad\x00\x00\x00\xf6\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\x98\x00\x00\x00\xb5\x01\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\xbb\x00\x00\x00\x5c\x00\x00\x00\xb1\x01\x00\x00\x5d\x00\x00\x00\x5e\x00\x00\x00\x98\x00\x00\x00\x60\x00\x00\x00\x61\x00\x00\x00\x62\x00\x00\x00\x63\x00\x00\x00\x64\x00\x00\x00\x65\x00\x00\x00\x77\x00\x00\x00\x66\x00\x00\x00\x67\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x77\x00\x00\x00\x2d\x00\x00\x00\xbf\x00\x00\x00\xdb\x00\x00\x00\x98\x00\x00\x00\xb3\x00\x00\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\xc6\x01\x00\x00\xb3\x00\x00\x00\x77\x00\x00\x00\x77\x00\x00\x00\xc7\x01\x00\x00\x2d\x00\x00\x00\xb6\x00\x00\x00\xfb\x00\x00\x00\xb0\x00\x00\x00\xa9\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\x98\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x3d\x00\x00\x00\x7d\x00\x00\x00\x2e\x01\x00\x00\x77\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\xac\x00\x00\x00\xa1\x00\x00\x00\x0d\x01\x00\x00\x2d\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\xff\xff\xff\xff\x0e\x01\x00\x00\x0f\x01\x00\x00\x77\x00\x00\x00\xb6\x01\x00\x00\x2b\x01\x00\x00\xbb\x00\x00\x00\xbf\x00\x00\x00\x7b\x01\x00\x00\x97\x00\x00\x00\xa1\x00\x00\x00\xb2\x01\x00\x00\xa1\x00\x00\x00\xff\xff\xff\xff\xb3\x01\x00\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\xb4\x01\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\xad\x00\x00\x00\x79\x01\x00\x00\x97\x00\x00\x00\xa1\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\x8f\x01\x00\x00\x26\x01\x00\x00\x58\x00\x00\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x00\x00\x1e\x01\x00\x00\x5c\x00\x00\x00\xa1\x00\x00\x00\x5d\x00\x00\x00\x5e\x00\x00\x00\x16\x01\x00\x00\x60\x00\x00\x00\x61\x00\x00\x00\x62\x00\x00\x00\x63\x00\x00\x00\x64\x00\x00\x00\x65\x00\x00\x00\x13\x01\x00\x00\x66\x00\x00\x00\x67\x00\x00\x00\x68\x00\x00\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x6c\x00\x00\x00\x7d\x00\x00\x00\x8d\x01\x00\x00\x0b\x01\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x98\x00\x00\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\xff\xff\xff\xff\x77\x00\x00\x00\x78\x00\x00\x00\x98\x00\x00\x00\x98\x00\x00\x00\x97\x00\x00\x00\x98\x00\x00\x00\x77\x00\x00\x00\xa1\x00\x00\x00\xd9\x00\x00\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\xda\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x03\x01\x00\x00\x98\x00\x00\x00\x98\x00\x00\x00\x0a\x01\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\xff\xff\xff\xff\x8b\x01\x00\x00\x05\x01\x00\x00\x77\x00\x00\x00\x77\x00\x00\x00\x5b\x00\x00\x00\x77\x00\x00\x00\x98\x00\x00\x00\x8b\x00\x00\x00\x51\x01\x00\x00\xff\xff\xff\xff\x01\x01\x00\x00\x60\x00\x00\x00\x61\x00\x00\x00\x62\x00\x00\x00\x63\x00\x00\x00\x64\x00\x00\x00\x65\x00\x00\x00\x2d\x00\x00\x00\x77\x00\x00\x00\x77\x00\x00\x00\xfd\x00\x00\x00\xd5\x00\x00\x00\xd6\x00\x00\x00\x2d\x00\x00\x00\x6c\x00\x00\x00\x7d\x00\x00\x00\x2d\x00\x00\x00\xd7\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\xf5\x00\x00\x00\x8c\xff\xff\xff\x77\x00\x00\x00\x70\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\xff\xff\xff\xff\x77\x00\x00\x00\x78\x00\x00\x00\xff\xff\xff\xff\x98\x00\x00\x00\x2d\x00\x00\x00\xff\xff\xff\xff\x98\x00\x00\x00\xf8\x00\x00\x00\x92\x00\x00\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\xff\xff\xff\xff\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x03\x01\x00\x00\xb0\x00\x00\x00\xff\xff\xff\xff\x77\x00\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\x93\x00\x00\x00\xff\xff\xff\xff\x2d\x00\x00\x00\xf2\x00\x00\x00\x77\x00\x00\x00\x5b\x00\x00\x00\x92\x00\x00\x00\x77\x00\x00\x00\x94\x00\x00\x00\x95\x00\x00\x00\xff\xff\xff\xff\x77\x00\x00\x00\x60\x00\x00\x00\x61\x00\x00\x00\x62\x00\x00\x00\x63\x00\x00\x00\x64\x00\x00\x00\x65\x00\x00\x00\xff\xff\xff\xff\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\x93\x00\x00\x00\x2d\x00\x00\x00\x6c\x00\x00\x00\x2d\x00\x00\x00\xee\x00\x00\x00\xa9\x00\x00\x00\x0c\x01\x00\x00\xe7\x00\x00\x00\x94\x00\x00\x00\x6a\x01\x00\x00\xef\x00\x00\x00\x70\x00\x00\x00\x8c\xff\xff\xff\x2d\x00\x00\x00\x2e\x00\x00\x00\x2d\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xff\xff\xff\xff\xe6\x00\x00\x00\xaa\x00\x00\x00\xab\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\x7d\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x77\x00\x00\x00\x34\x01\x00\x00\x70\x00\x00\x00\x35\x01\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x32\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x7d\x00\x00\x00\x7e\x00\x00\x00\x2d\x00\x00\x00\x2d\x00\x00\x00\x2d\x00\x00\x00\xff\xff\xff\xff\xe5\x00\x00\x00\x92\x00\x00\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\x77\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\x03\x01\x00\x00\xd3\x00\x00\x00\x77\x00\x00\x00\xff\xff\xff\xff\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\x93\x00\x00\x00\x86\x01\x00\x00\x2d\x00\x00\x00\x85\x01\x00\x00\x84\x01\x00\x00\x5b\x00\x00\x00\x92\x00\x00\x00\x0d\x01\x00\x00\x94\x00\x00\x00\xc3\x01\x00\x00\x83\x01\x00\x00\xbf\x00\x00\x00\x60\x00\x00\x00\x61\x00\x00\x00\x62\x00\x00\x00\x63\x00\x00\x00\x64\x00\x00\x00\x65\x00\x00\x00\x36\x01\x00\x00\x37\x01\x00\x00\x0e\x01\x00\x00\x0f\x01\x00\x00\x7e\x01\x00\x00\x93\x00\x00\x00\x2d\x00\x00\x00\x6c\x00\x00\x00\x7d\x00\x00\x00\x7d\x01\x00\x00\xe3\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x94\x00\x00\x00\xc1\x01\x00\x00\x77\x00\x00\x00\x70\x00\x00\x00\x41\x00\x00\x00\x42\x00\x00\x00\x43\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x4a\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\x2d\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x2d\x00\x00\x00\x92\x00\x00\x00\x2d\x00\x00\x00\xb0\x00\x00\x00\xd5\x00\x00\x00\xec\x00\x00\x00\xb3\x00\x00\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x4d\x00\x00\x00\x77\x00\x00\x00\x4f\x00\x00\x00\x50\x00\x00\x00\x51\x00\x00\x00\x52\x00\x00\x00\xb3\x00\x00\x00\xb4\x00\x00\x00\xb5\x00\x00\x00\x03\x01\x00\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x00\x00\x57\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2d\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x5b\x00\x00\x00\xdf\x00\x00\x00\x2d\x00\x00\x00\x77\x01\x00\x00\x6c\x01\x00\x00\x53\x01\x00\x00\xbb\x00\x00\x00\x60\x00\x00\x00\x61\x00\x00\x00\x62\x00\x00\x00\x63\x00\x00\x00\x64\x00\x00\x00\x65\x00\x00\x00\xbc\x00\x00\x00\x77\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\xab\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x6c\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x31\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xa8\x01\x00\x00\x77\x00\x00\x00\x32\x00\x00\x00\x70\x00\x00\x00\xa3\x01\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x3b\x00\x00\x00\x72\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x00\x00\x76\x00\x00\x00\x9f\x01\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x32\x00\x00\x00\x31\x00\x00\x00\x9d\x01\x00\x00\x82\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x45\x01\x00\x00\x94\x01\x00\x00\x2d\x00\x00\x00\x9c\x01\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\xa9\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x2d\x00\x00\x00\x9a\x01\x00\x00\x2d\x00\x00\x00\x2d\x00\x00\x00\xd5\x00\x00\x00\xde\x00\x00\x00\x31\x00\x00\x00\x92\x00\x00\x00\xd3\x01\x00\x00\xd1\x01\x00\x00\xbf\x01\x00\x00\x32\x00\x00\x00\xaa\x00\x00\x00\x75\x01\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\xe9\x01\x00\x00\x31\x00\x00\x00\x9b\x00\x00\x00\x2d\x00\x00\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x32\x00\x00\x00\x92\x00\x00\x00\x9c\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x90\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2d\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x2d\x00\x00\x00\x92\x00\x00\x00\x93\x00\x00\x00\x2d\x00\x00\x00\x92\x00\x00\x00\x2d\x00\x00\x00\xcf\x01\x00\x00\xd5\x00\x00\x00\xdc\x00\x00\x00\xb3\x00\x00\x00\x98\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\xb9\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xbb\x00\x00\x00\xbe\x01\x00\x00\x9b\x00\x00\x00\xb4\x00\x00\x00\xf0\x00\x00\x00\x93\x00\x00\x00\xbc\x01\x00\x00\x31\x00\x00\x00\x20\x01\x00\x00\xbd\x01\x00\x00\x8e\x00\x00\x00\x6c\x01\x00\x00\x32\x00\x00\x00\x94\x00\x00\x00\xb8\x01\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x90\x00\x00\x00\x31\x00\x00\x00\xbb\x01\x00\x00\x2d\x00\x00\x00\x8e\x00\x00\x00\x65\x01\x00\x00\x32\x00\x00\x00\x92\x00\x00\x00\xe8\x01\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x90\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\xe7\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x2d\x00\x00\x00\x2d\x00\x00\x00\x5c\x01\x00\x00\x2d\x00\x00\x00\x92\x00\x00\x00\x92\x00\x00\x00\xe6\x01\x00\x00\x92\x00\x00\x00\xe5\x01\x00\x00\x2d\x00\x00\x00\x5d\x01\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\xbb\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x77\x00\x00\x00\xe1\x01\x00\x00\xe0\x01\x00\x00\xf9\x01\x00\x00\xe4\x00\x00\x00\x5a\x01\x00\x00\x4b\x01\x00\x00\x31\x00\x00\x00\xa6\x00\x00\x00\xa7\x00\x00\x00\x8e\x00\x00\x00\x56\x01\x00\x00\x32\x00\x00\x00\x5b\x01\x00\x00\x4c\x01\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x90\x00\x00\x00\x31\x00\x00\x00\xdf\x01\x00\x00\x2d\x00\x00\x00\x91\x00\x00\x00\xde\x01\x00\x00\x32\x00\x00\x00\x92\x00\x00\x00\xdd\x01\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x90\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x2d\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x2d\x00\x00\x00\x92\x00\x00\x00\x9b\x00\x00\x00\x2d\x00\x00\x00\x92\x00\x00\x00\x2d\x00\x00\x00\x2d\x00\x00\x00\x92\x00\x00\x00\xa6\x01\x00\x00\xb3\x00\x00\x00\x92\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\xb9\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xf2\x00\x00\x00\xd8\x01\x00\x00\x9d\x00\x00\x00\xb4\x00\x00\x00\x78\x01\x00\x00\x9d\x00\x00\x00\xa1\x00\x00\x00\x31\x00\x00\x00\x9a\x01\x00\x00\x9e\x00\x00\x00\xf3\x00\x00\x00\xa2\x00\x00\x00\x32\x00\x00\x00\xa3\x00\x00\x00\xa4\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x78\x00\x00\x00\x31\x00\x00\x00\xd6\x01\x00\x00\xfc\x01\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x2b\x01\x00\x00\x00\x02\x00\x00\x2d\x00\x00\x00\xfe\x01\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\xbb\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xfb\x01\x00\x00\xfa\x01\x00\x00\xf4\x01\x00\x00\xf8\x01\x00\x00\xe2\x00\x00\x00\x2d\x00\x00\x00\x2d\x00\x00\x00\x31\x00\x00\x00\xf7\x01\x00\x00\xa9\x00\x00\x00\xd5\x00\x00\x00\x7a\x01\x00\x00\x32\x00\x00\x00\xf6\x01\x00\x00\xf5\x01\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x1c\x01\x00\x00\x31\x00\x00\x00\xaa\x00\x00\x00\xa4\x01\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x0f\x01\x00\x00\xf3\x01\x00\x00\xf1\x01\x00\x00\xf0\x01\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\xef\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xee\x01\x00\x00\xed\x01\x00\x00\xec\x01\x00\x00\x09\x02\x00\x00\xd3\x00\x00\x00\x2d\x00\x00\x00\xd1\x00\x00\x00\x31\x00\x00\x00\x0e\x02\x00\x00\xa9\x00\x00\x00\x10\x02\x00\x00\x12\x02\x00\x00\x32\x00\x00\x00\xbd\x00\x00\x00\xd0\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xf4\x00\x00\x00\x31\x00\x00\x00\xaa\x00\x00\x00\xe1\x01\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xef\x00\x00\x00\xb9\x00\x00\x00\xb1\x00\x00\x00\xb7\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x8d\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x85\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\x8a\x00\x00\x00\x8b\x00\x00\x00\x31\x00\x00\x00\xb0\x00\x00\x00\x83\x00\x00\x00\x05\x01\x00\x00\x1e\x01\x00\x00\x32\x00\x00\x00\xe1\x00\x00\x00\xe0\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xeb\x00\x00\x00\x31\x00\x00\x00\xdd\x00\x00\x00\x77\x01\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xea\x00\x00\x00\x81\x01\x00\x00\x80\x01\x00\x00\x7f\x01\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x7e\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x6e\x01\x00\x00\x47\x01\x00\x00\x64\x01\x00\x00\x88\x01\x00\x00\xcc\x01\x00\x00\xcb\x01\x00\x00\xab\x01\x00\x00\x31\x00\x00\x00\x9f\x01\x00\x00\x05\x01\x00\x00\xd8\x01\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xe9\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x72\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x71\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x6d\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x69\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x68\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x67\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x66\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x5e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x4f\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xaf\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xae\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xad\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xa5\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xa1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x98\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x97\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x96\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x95\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x94\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x92\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x91\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x87\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x86\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xd1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xcf\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xcd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xc2\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xbf\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xb9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xb7\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xb6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xea\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xe8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xe3\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xe2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xda\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xd9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xd6\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xd4\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xd3\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xfe\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xfc\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\xf1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x07\x02\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x00\x02\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x0c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x0e\x02\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x37\x00\x00\x00\x38\x00\x00\x00\x39\x00\x00\x00\x10\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x5f\x01\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\x7a\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\x3b\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\x3a\x01\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\xa9\x01\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\xa8\x01\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\x0b\x02\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\x0a\x02\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\x09\x02\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\x05\x02\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\x04\x02\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\x03\x02\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x79\x00\x00\x00\x38\x00\x00\x00\x02\x02\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x43\x01\x00\x00\x7e\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\x42\x01\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x36\x00\x00\x00\xc4\x01\x00\x00\x7e\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x41\x01\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x35\x00\x00\x00\x40\x01\x00\x00\x2d\x00\x00\x00\x7e\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x92\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x34\x00\x00\x00\x80\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x7e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x99\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\x00\x00\x00\x00\xa5\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x33\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x7e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x3f\x01\x00\x00\x92\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x7e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x3e\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x7e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\xa2\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x70\x01\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x3d\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x7e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x3c\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x7e\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x33\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x33\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x63\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x33\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x62\x01\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x01\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x33\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x60\x01\x00\x00\x00\x00\x00\x00\x37\x01\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x01\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x28\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x27\x01\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x26\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x24\x01\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x23\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x22\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x1f\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x1b\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x1a\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x19\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x18\x01\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x17\x01\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x16\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x32\x00\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x14\x01\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x13\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x01\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x32\x00\x00\x00\x2d\x00\x00\x00\x2e\x00\x00\x00\x59\x01\x00\x00\x2f\x00\x00\x00\x30\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x01\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x50\x01\x00\x00\x00\x00\x00\x00\x49\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x4a\x01\x00\x00\x00\x00\x00\x00\x46\x01\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\xa3\x01\x00\x00\xfd\x00\x00\x00\xfe\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x4b\x01\x00\x00\x01\x01\x00\x00\x85\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\x8a\x00\x00\x00\x8b\x00\x00\x00\x2d\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x92\x00\x00\x00\x9e\x00\x00\x00\x9f\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x8f\x01\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x00\x00\x92\x00\x00\x00\x92\x00\x00\x00\x9d\x00\x00\x00\x9e\x00\x00\x00\x90\x01\x00\x00\x2d\x00\x00\x00\x9e\x00\x00\x00\x29\x01\x00\x00\x9d\x00\x00\x00\x92\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\xff\x00\x00\x00\x9e\x00\x00\x00\x8d\x01\x00\x00\x2d\x00\x00\x00\x9d\x00\x00\x00\xa6\x00\x00\x00\xfb\x00\x00\x00\x92\x00\x00\x00\x9e\x00\x00\x00\x8b\x01\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\x9d\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x9e\x00\x00\x00\x89\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\xdb\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x00\x00\xf8\x00\x00\x00\xa6\x00\x00\x00\xfb\x00\x00\x00\xc2\x00\x00\x00\xc3\x00\x00\x00\xc4\x00\x00\x00\xc5\x00\x00\x00\xc6\x00\x00\x00\xc7\x00\x00\x00\xc8\x00\x00\x00\xc9\x00\x00\x00\xca\x00\x00\x00\x00\x00\x00\x00\xcb\x00\x00\x00\xcc\x00\x00\x00\xcd\x00\x00\x00\xce\x00\x00\x00\xcf\x00\x00\x00\xd0\x00\x00\x00\x07\x01\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\x8a\x00\x00\x00\x8b\x00\x00\x00\x70\x01\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\x8a\x00\x00\x00\x8b\x00\x00\x00\xad\x01\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\x8a\x00\x00\x00\x8b\x00\x00\x00\xa1\x01\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\x8a\x00\x00\x00\x8b\x00\x00\x00\x9e\x01\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\x8a\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 = Happy_Data_Array.array (43, 236) [
+        (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)
+        ]
+
+happyRuleArr :: HappyAddr
+happyRuleArr = HappyA# "\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x03\x00\x00\x00\x08\x00\x00\x00\x01\x00\x00\x00\x09\x00\x00\x00\x04\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x04\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x06\x00\x00\x00\x09\x00\x00\x00\x05\x00\x00\x00\x09\x00\x00\x00\x04\x00\x00\x00\x09\x00\x00\x00\x04\x00\x00\x00\x09\x00\x00\x00\x04\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\x07\x00\x00\x00\x09\x00\x00\x00\x08\x00\x00\x00\x09\x00\x00\x00\x07\x00\x00\x00\x09\x00\x00\x00\x06\x00\x00\x00\x09\x00\x00\x00\x05\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x03\x00\x00\x00\x0b\x00\x00\x00\x04\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x0d\x00\x00\x00\x02\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x03\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x03\x00\x00\x00\x0f\x00\x00\x00\x02\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x10\x00\x00\x00\x03\x00\x00\x00\x11\x00\x00\x00\x02\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x04\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x13\x00\x00\x00\x02\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x14\x00\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x15\x00\x00\x00\x01\x00\x00\x00\x15\x00\x00\x00\x03\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\x16\x00\x00\x00\x01\x00\x00\x00\x16\x00\x00\x00\x05\x00\x00\x00\x16\x00\x00\x00\x07\x00\x00\x00\x17\x00\x00\x00\x01\x00\x00\x00\x17\x00\x00\x00\x02\x00\x00\x00\x18\x00\x00\x00\x01\x00\x00\x00\x19\x00\x00\x00\x01\x00\x00\x00\x19\x00\x00\x00\x03\x00\x00\x00\x1a\x00\x00\x00\x01\x00\x00\x00\x1a\x00\x00\x00\x05\x00\x00\x00\x1a\x00\x00\x00\x07\x00\x00\x00\x1a\x00\x00\x00\x05\x00\x00\x00\x1a\x00\x00\x00\x07\x00\x00\x00\x1b\x00\x00\x00\x01\x00\x00\x00\x1b\x00\x00\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x01\x00\x00\x00\x1c\x00\x00\x00\x03\x00\x00\x00\x1d\x00\x00\x00\x01\x00\x00\x00\x1d\x00\x00\x00\x05\x00\x00\x00\x1d\x00\x00\x00\x07\x00\x00\x00\x1d\x00\x00\x00\x05\x00\x00\x00\x1d\x00\x00\x00\x07\x00\x00\x00\x1e\x00\x00\x00\x03\x00\x00\x00\x1e\x00\x00\x00\x03\x00\x00\x00\x1f\x00\x00\x00\x01\x00\x00\x00\x1f\x00\x00\x00\x03\x00\x00\x00\x20\x00\x00\x00\x03\x00\x00\x00\x20\x00\x00\x00\x03\x00\x00\x00\x21\x00\x00\x00\x01\x00\x00\x00\x21\x00\x00\x00\x03\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x01\x00\x00\x00\x23\x00\x00\x00\x01\x00\x00\x00\x23\x00\x00\x00\x03\x00\x00\x00\x24\x00\x00\x00\x01\x00\x00\x00\x24\x00\x00\x00\x01\x00\x00\x00\x24\x00\x00\x00\x01\x00\x00\x00\x24\x00\x00\x00\x01\x00\x00\x00\x24\x00\x00\x00\x01\x00\x00\x00\x24\x00\x00\x00\x01\x00\x00\x00\x24\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x04\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x07\x00\x00\x00\x25\x00\x00\x00\x03\x00\x00\x00\x25\x00\x00\x00\x02\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x03\x00\x00\x00\x25\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x0e\x00\x00\x00\x25\x00\x00\x00\x05\x00\x00\x00\x25\x00\x00\x00\x07\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x03\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x25\x00\x00\x00\x01\x00\x00\x00\x26\x00\x00\x00\x03\x00\x00\x00\x26\x00\x00\x00\x03\x00\x00\x00\x26\x00\x00\x00\x03\x00\x00\x00\x26\x00\x00\x00\x01\x00\x00\x00\x26\x00\x00\x00\x03\x00\x00\x00\x27\x00\x00\x00\x03\x00\x00\x00\x27\x00\x00\x00\x03\x00\x00\x00\x27\x00\x00\x00\x01\x00\x00\x00\x27\x00\x00\x00\x03\x00\x00\x00\x27\x00\x00\x00\x03\x00\x00\x00\x28\x00\x00\x00\x03\x00\x00\x00\x28\x00\x00\x00\x01\x00\x00\x00\x28\x00\x00\x00\x03\x00\x00\x00\x29\x00\x00\x00\x03\x00\x00\x00\x29\x00\x00\x00\x01\x00\x00\x00\x29\x00\x00\x00\x03\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x04\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x03\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x01\x00\x00\x00\x2a\x00\x00\x00\x03\x00\x00\x00\x2a\x00\x00\x00\x03\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2a\x00\x00\x00\x02\x00\x00\x00\x2b\x00\x00\x00\x03\x00\x00\x00\x2b\x00\x00\x00\x08\x00\x00\x00\x2b\x00\x00\x00\x08\x00\x00\x00\x2b\x00\x00\x00\x08\x00\x00\x00\x2b\x00\x00\x00\x05\x00\x00\x00\x2b\x00\x00\x00\x03\x00\x00\x00\x2b\x00\x00\x00\x06\x00\x00\x00\x2b\x00\x00\x00\x04\x00\x00\x00\x2b\x00\x00\x00\x08\x00\x00\x00\x2b\x00\x00\x00\x01\x00\x00\x00\x2b\x00\x00\x00\x03\x00\x00\x00\x2b\x00\x00\x00\x08\x00\x00\x00\x2b\x00\x00\x00\x08\x00\x00\x00\x2b\x00\x00\x00\x08\x00\x00\x00\x2b\x00\x00\x00\x04\x00\x00\x00\x2b\x00\x00\x00\x08\x00\x00\x00\x2b\x00\x00\x00\x08\x00\x00\x00\x2c\x00\x00\x00\x03\x00\x00\x00\x2c\x00\x00\x00\x01\x00\x00\x00\x2d\x00\x00\x00\x01\x00\x00\x00\x2d\x00\x00\x00\x03\x00\x00\x00"#
+
+happyCatchStates :: [Happy_Prelude.Int]
+happyCatchStates = []
+
+happy_n_terms = 123 :: Happy_Prelude.Int
+happy_n_nonterms = 46 :: Happy_Prelude.Int
+
+happy_n_starts = 43 :: Happy_Prelude.Int
+
+happyReduce_43 = happySpecReduce_1  0# happyReduction_43
+happyReduction_43 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn47
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), (Data.Text.unpack ((\(PT _ (TL s)) -> s) happy_var_1)))
+        )}
+
+happyReduce_44 = happySpecReduce_1  1# happyReduction_44
+happyReduction_44 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn48
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.VarIdentToken (tokenText happy_var_1))
+        )}
+
+happyReduce_45 = happySpecReduce_1  2# happyReduction_45
+happyReduction_45 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn49
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.HoleIdentToken (tokenText happy_var_1))
+        )}
+
+happyReduce_46 = happySpecReduce_2  3# happyReduction_46
+happyReduction_46 happy_x_2
+        happy_x_1
+         =  case happyOut54 happy_x_1 of { (HappyWrap54 happy_var_1) -> 
+        case happyOut57 happy_x_2 of { (HappyWrap57 happy_var_2) -> 
+        happyIn50
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Module (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))
+        )}}
+
+happyReduce_47 = happySpecReduce_1  4# happyReduction_47
+happyReduction_47 happy_x_1
+         =  case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) -> 
+        happyIn51
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.HoleIdent (fst happy_var_1) (snd happy_var_1))
+        )}
+
+happyReduce_48 = happySpecReduce_1  5# happyReduction_48
+happyReduction_48 happy_x_1
+         =  case happyOut48 happy_x_1 of { (HappyWrap48 happy_var_1) -> 
+        happyIn52
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.VarIdent (fst happy_var_1) (snd happy_var_1))
+        )}
+
+happyReduce_49 = happySpecReduce_1  6# happyReduction_49
+happyReduction_49 happy_x_1
+         =  case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> 
+        happyIn53
+                 ((fst happy_var_1, (:[]) (snd happy_var_1))
+        )}
+
+happyReduce_50 = happySpecReduce_2  6# happyReduction_50
+happyReduction_50 happy_x_2
+        happy_x_1
+         =  case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> 
+        case happyOut53 happy_x_2 of { (HappyWrap53 happy_var_2) -> 
+        happyIn53
+                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
+        )}}
+
+happyReduce_51 = happySpecReduce_3  7# happyReduction_51
+happyReduction_51 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut55 happy_x_2 of { (HappyWrap55 happy_var_2) -> 
+        happyIn54
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.LanguageDecl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_52 = happySpecReduce_1  8# happyReduction_52
+happyReduction_52 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn55
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Rzk1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_53 = happyReduce 4# 9# happyReduction_53
+happyReduction_53 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut47 happy_x_2 of { (HappyWrap47 happy_var_2) -> 
+        case happyOut47 happy_x_4 of { (HappyWrap47 happy_var_4) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_54 = happySpecReduce_2  9# happyReduction_54
+happyReduction_54 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut47 happy_x_2 of { (HappyWrap47 happy_var_2) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandUnsetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_55 = happyReduce 4# 9# happyReduction_55
+happyReduction_55 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandCheck (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_56 = happySpecReduce_2  9# happyReduction_56
+happyReduction_56 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandCompute (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_57 = happySpecReduce_2  9# happyReduction_57
+happyReduction_57 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandComputeWHNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_58 = happySpecReduce_2  9# happyReduction_58
+happyReduction_58 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandComputeNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_59 = happyReduce 6# 9# happyReduction_59
+happyReduction_59 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
+        case happyOut58 happy_x_3 of { (HappyWrap58 happy_var_3) -> 
+        case happyOut74 happy_x_4 of { (HappyWrap74 happy_var_4) -> 
+        case happyOut91 happy_x_6 of { (HappyWrap91 happy_var_6) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandPostulate (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6))
+        ) `HappyStk` happyRest}}}}}
+
+happyReduce_60 = happyReduce 5# 9# happyReduction_60
+happyReduction_60 (happy_x_5 `HappyStk`
+        happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
+        case happyOut58 happy_x_3 of { (HappyWrap58 happy_var_3) -> 
+        case happyOut91 happy_x_5 of { (HappyWrap91 happy_var_5) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandPostulateNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_61 = happyReduce 4# 9# happyReduction_61
+happyReduction_61 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut53 happy_x_2 of { (HappyWrap53 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandAssume (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_62 = happyReduce 4# 9# happyReduction_62
+happyReduction_62 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandVariable (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_63 = happyReduce 4# 9# happyReduction_63
+happyReduction_63 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut53 happy_x_2 of { (HappyWrap53 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandVariables (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_64 = happySpecReduce_2  9# happyReduction_64
+happyReduction_64 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut59 happy_x_2 of { (HappyWrap59 happy_var_2) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSection (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_65 = happySpecReduce_2  9# happyReduction_65
+happyReduction_65 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut59 happy_x_2 of { (HappyWrap59 happy_var_2) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSectionEnd (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_66 = happyReduce 8# 9# happyReduction_66
+happyReduction_66 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
+        case happyOut58 happy_x_3 of { (HappyWrap58 happy_var_3) -> 
+        case happyOut74 happy_x_4 of { (HappyWrap74 happy_var_4) -> 
+        case happyOut91 happy_x_6 of { (HappyWrap91 happy_var_6) -> 
+        case happyOut91 happy_x_8 of { (HappyWrap91 happy_var_8) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandDefine (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))
+        ) `HappyStk` happyRest}}}}}}
+
+happyReduce_67 = happyReduce 7# 9# happyReduction_67
+happyReduction_67 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
+        case happyOut58 happy_x_3 of { (HappyWrap58 happy_var_3) -> 
+        case happyOut91 happy_x_5 of { (HappyWrap91 happy_var_5) -> 
+        case happyOut91 happy_x_7 of { (HappyWrap91 happy_var_7) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefineNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))
+        ) `HappyStk` happyRest}}}}}
+
+happyReduce_68 = happyReduce 8# 9# happyReduction_68
+happyReduction_68 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
+        case happyOut58 happy_x_3 of { (HappyWrap58 happy_var_3) -> 
+        case happyOut74 happy_x_4 of { (HappyWrap74 happy_var_4) -> 
+        case happyOut91 happy_x_6 of { (HappyWrap91 happy_var_6) -> 
+        case happyOut91 happy_x_8 of { (HappyWrap91 happy_var_8) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDef (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))
+        ) `HappyStk` happyRest}}}}}}
+
+happyReduce_69 = happyReduce 7# 9# happyReduction_69
+happyReduction_69 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
+        case happyOut58 happy_x_3 of { (HappyWrap58 happy_var_3) -> 
+        case happyOut91 happy_x_5 of { (HappyWrap91 happy_var_5) -> 
+        case happyOut91 happy_x_7 of { (HappyWrap91 happy_var_7) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))
+        ) `HappyStk` happyRest}}}}}
+
+happyReduce_70 = happyReduce 6# 9# happyReduction_70
+happyReduction_70 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
+        case happyOut58 happy_x_3 of { (HappyWrap58 happy_var_3) -> 
+        case happyOut74 happy_x_4 of { (HappyWrap74 happy_var_4) -> 
+        case happyOut60 happy_x_5 of { (HappyWrap60 happy_var_5) -> 
+        case happyOut61 happy_x_6 of { (HappyWrap61 happy_var_6) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandData (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_5) (snd happy_var_6))
+        ) `HappyStk` happyRest}}}}}}
+
+happyReduce_71 = happyReduce 5# 9# happyReduction_71
+happyReduction_71 (happy_x_5 `HappyStk`
+        happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
+        case happyOut58 happy_x_3 of { (HappyWrap58 happy_var_3) -> 
+        case happyOut60 happy_x_4 of { (HappyWrap60 happy_var_4) -> 
+        case happyOut61 happy_x_5 of { (HappyWrap61 happy_var_5) -> 
+        happyIn56
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDataNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_5))
+        ) `HappyStk` happyRest}}}}}
+
+happyReduce_72 = happySpecReduce_0  10# happyReduction_72
+happyReduction_72  =  happyIn57
+                 ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, [])
+        )
+
+happyReduce_73 = happySpecReduce_3  10# happyReduction_73
+happyReduction_73 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut56 happy_x_1 of { (HappyWrap56 happy_var_1) -> 
+        case happyOut57 happy_x_3 of { (HappyWrap57 happy_var_3) -> 
+        happyIn57
+                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_74 = happyReduce 4# 11# happyReduction_74
+happyReduction_74 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut53 happy_x_3 of { (HappyWrap53 happy_var_3) -> 
+        happyIn58
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.DeclUsedVars (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3))
+        ) `HappyStk` happyRest}}
+
+happyReduce_75 = happySpecReduce_0  11# happyReduction_75
+happyReduction_75  =  happyIn58
+                 ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.noDeclUsedVars Language.Rzk.Syntax.Abs.BNFC'NoPosition)
+        )
+
+happyReduce_76 = happySpecReduce_0  12# happyReduction_76
+happyReduction_76  =  happyIn59
+                 ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.NoSectionName Language.Rzk.Syntax.Abs.BNFC'NoPosition)
+        )
+
+happyReduce_77 = happySpecReduce_1  12# happyReduction_77
+happyReduction_77 happy_x_1
+         =  case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> 
+        happyIn59
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.SomeSectionName (fst happy_var_1) (snd happy_var_1))
+        )}
+
+happyReduce_78 = happySpecReduce_2  13# happyReduction_78
+happyReduction_78 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        happyIn60
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.SomeDataSort (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_79 = happySpecReduce_0  13# happyReduction_79
+happyReduction_79  =  happyIn60
+                 ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.NoDataSort Language.Rzk.Syntax.Abs.BNFC'NoPosition)
+        )
+
+happyReduce_80 = happySpecReduce_3  14# happyReduction_80
+happyReduction_80 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut63 happy_x_2 of { (HappyWrap63 happy_var_2) -> 
+        case happyOut66 happy_x_3 of { (HappyWrap66 happy_var_3) -> 
+        happyIn61
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.SomeDataBody (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3))
+        )}}}
+
+happyReduce_81 = happySpecReduce_0  14# happyReduction_81
+happyReduction_81  =  happyIn61
+                 ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.NoDataBody Language.Rzk.Syntax.Abs.BNFC'NoPosition)
+        )
+
+happyReduce_82 = happySpecReduce_3  15# happyReduction_82
+happyReduction_82 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> 
+        case happyOut74 happy_x_2 of { (HappyWrap74 happy_var_2) -> 
+        case happyOut64 happy_x_3 of { (HappyWrap64 happy_var_3) -> 
+        happyIn62
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Constructor (fst happy_var_1) (snd happy_var_1) (snd happy_var_2) (snd happy_var_3))
+        )}}}
+
+happyReduce_83 = happySpecReduce_2  15# happyReduction_83
+happyReduction_83 happy_x_2
+        happy_x_1
+         =  case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> 
+        case happyOut64 happy_x_2 of { (HappyWrap64 happy_var_2) -> 
+        happyIn62
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.constructorNoParams (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))
+        )}}
+
+happyReduce_84 = happySpecReduce_1  16# happyReduction_84
+happyReduction_84 happy_x_1
+         =  case happyOut62 happy_x_1 of { (HappyWrap62 happy_var_1) -> 
+        happyIn63
+                 ((fst happy_var_1, (:[]) (snd happy_var_1))
+        )}
+
+happyReduce_85 = happySpecReduce_3  16# happyReduction_85
+happyReduction_85 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut62 happy_x_1 of { (HappyWrap62 happy_var_1) -> 
+        case happyOut63 happy_x_3 of { (HappyWrap63 happy_var_3) -> 
+        happyIn63
+                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_86 = happySpecReduce_2  17# happyReduction_86
+happyReduction_86 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        happyIn64
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.SomeConstructorType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_87 = happySpecReduce_0  17# happyReduction_87
+happyReduction_87  =  happyIn64
+                 ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.NoConstructorType Language.Rzk.Syntax.Abs.BNFC'NoPosition)
+        )
+
+happyReduce_88 = happyReduce 4# 18# happyReduction_88
+happyReduction_88 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn65
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.DataElim (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_89 = happySpecReduce_0  19# happyReduction_89
+happyReduction_89  =  happyIn66
+                 ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, [])
+        )
+
+happyReduce_90 = happySpecReduce_2  19# happyReduction_90
+happyReduction_90 happy_x_2
+        happy_x_1
+         =  case happyOut65 happy_x_1 of { (HappyWrap65 happy_var_1) -> 
+        case happyOut66 happy_x_2 of { (HappyWrap66 happy_var_2) -> 
+        happyIn66
+                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
+        )}}
+
+happyReduce_91 = happyReduce 4# 20# happyReduction_91
+happyReduction_91 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> 
+        case happyOut70 happy_x_2 of { (HappyWrap70 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn67
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.MatchBranch (fst happy_var_1) (snd happy_var_1) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_92 = happySpecReduce_3  20# happyReduction_92
+happyReduction_92 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> 
+        case happyOut91 happy_x_3 of { (HappyWrap91 happy_var_3) -> 
+        happyIn67
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.matchBranchNoParams (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_93 = happyReduce 4# 20# happyReduction_93
+happyReduction_93 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> 
+        case happyOut70 happy_x_2 of { (HappyWrap70 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn67
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ascii_MatchBranch (fst happy_var_1) (snd happy_var_1) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_94 = happySpecReduce_3  20# happyReduction_94
+happyReduction_94 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> 
+        case happyOut91 happy_x_3 of { (HappyWrap91 happy_var_3) -> 
+        happyIn67
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ascii_matchBranchNoParams (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_95 = happySpecReduce_1  21# happyReduction_95
+happyReduction_95 happy_x_1
+         =  case happyOut67 happy_x_1 of { (HappyWrap67 happy_var_1) -> 
+        happyIn68
+                 ((fst happy_var_1, (:[]) (snd happy_var_1))
+        )}
+
+happyReduce_96 = happySpecReduce_3  21# happyReduction_96
+happyReduction_96 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut67 happy_x_1 of { (HappyWrap67 happy_var_1) -> 
+        case happyOut68 happy_x_3 of { (HappyWrap68 happy_var_3) -> 
+        happyIn68
+                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_97 = happySpecReduce_1  22# happyReduction_97
+happyReduction_97 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn69
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_98 = happySpecReduce_1  22# happyReduction_98
+happyReduction_98 happy_x_1
+         =  case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> 
+        happyIn69
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.PatternVar (fst happy_var_1) (snd happy_var_1))
+        )}
+
+happyReduce_99 = happyReduce 5# 22# happyReduction_99
+happyReduction_99 (happy_x_5 `HappyStk`
+        happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut69 happy_x_2 of { (HappyWrap69 happy_var_2) -> 
+        case happyOut69 happy_x_4 of { (HappyWrap69 happy_var_4) -> 
+        happyIn69
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternPair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_100 = happyReduce 7# 22# happyReduction_100
+happyReduction_100 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut69 happy_x_2 of { (HappyWrap69 happy_var_2) -> 
+        case happyOut69 happy_x_4 of { (HappyWrap69 happy_var_4) -> 
+        case happyOut72 happy_x_6 of { (HappyWrap72 happy_var_6) -> 
+        happyIn69
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternTuple (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_101 = happySpecReduce_1  23# happyReduction_101
+happyReduction_101 happy_x_1
+         =  case happyOut69 happy_x_1 of { (HappyWrap69 happy_var_1) -> 
+        happyIn70
+                 ((fst happy_var_1, (:[]) (snd happy_var_1))
+        )}
+
+happyReduce_102 = happySpecReduce_2  23# happyReduction_102
+happyReduction_102 happy_x_2
+        happy_x_1
+         =  case happyOut69 happy_x_1 of { (HappyWrap69 happy_var_1) -> 
+        case happyOut70 happy_x_2 of { (HappyWrap70 happy_var_2) -> 
+        happyIn70
+                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
+        )}}
+
+happyReduce_103 = happySpecReduce_1  24# happyReduction_103
+happyReduction_103 happy_x_1
+         =  case happyOut69 happy_x_1 of { (HappyWrap69 happy_var_1) -> 
+        happyIn71
+                 ((fst happy_var_1, (snd happy_var_1))
+        )}
+
+happyReduce_104 = happySpecReduce_1  25# happyReduction_104
+happyReduction_104 happy_x_1
+         =  case happyOut71 happy_x_1 of { (HappyWrap71 happy_var_1) -> 
+        happyIn72
+                 ((fst happy_var_1, (:[]) (snd happy_var_1))
+        )}
+
+happyReduce_105 = happySpecReduce_3  25# happyReduction_105
+happyReduction_105 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut71 happy_x_1 of { (HappyWrap71 happy_var_1) -> 
+        case happyOut72 happy_x_3 of { (HappyWrap72 happy_var_3) -> 
+        happyIn72
+                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_106 = happySpecReduce_1  26# happyReduction_106
+happyReduction_106 happy_x_1
+         =  case happyOut69 happy_x_1 of { (HappyWrap69 happy_var_1) -> 
+        happyIn73
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamPattern (fst happy_var_1) (snd happy_var_1))
+        )}
+
+happyReduce_107 = happyReduce 5# 26# 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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut70 happy_x_2 of { (HappyWrap70 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn73
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_108 = happyReduce 7# 26# happyReduction_108
+happyReduction_108 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut70 happy_x_2 of { (HappyWrap70 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        case happyOut91 happy_x_6 of { (HappyWrap91 happy_var_6) -> 
+        happyIn73
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_109 = happyReduce 5# 26# happyReduction_109
+happyReduction_109 (happy_x_5 `HappyStk`
+        happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut70 happy_x_2 of { (HappyWrap70 happy_var_2) -> 
+        case happyOut83 happy_x_3 of { (HappyWrap83 happy_var_3) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn73
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternModalType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_110 = happyReduce 7# 26# happyReduction_110
+happyReduction_110 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut70 happy_x_2 of { (HappyWrap70 happy_var_2) -> 
+        case happyOut83 happy_x_3 of { (HappyWrap83 happy_var_3) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        case happyOut91 happy_x_6 of { (HappyWrap91 happy_var_6) -> 
+        happyIn73
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternModalShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6))
+        ) `HappyStk` happyRest}}}}}
+
+happyReduce_111 = happySpecReduce_1  27# happyReduction_111
+happyReduction_111 happy_x_1
+         =  case happyOut73 happy_x_1 of { (HappyWrap73 happy_var_1) -> 
+        happyIn74
+                 ((fst happy_var_1, (:[]) (snd happy_var_1))
+        )}
+
+happyReduce_112 = happySpecReduce_2  27# happyReduction_112
+happyReduction_112 happy_x_2
+        happy_x_1
+         =  case happyOut73 happy_x_1 of { (HappyWrap73 happy_var_1) -> 
+        case happyOut74 happy_x_2 of { (HappyWrap74 happy_var_2) -> 
+        happyIn74
+                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
+        )}}
+
+happyReduce_113 = happySpecReduce_1  28# happyReduction_113
+happyReduction_113 happy_x_1
+         =  case happyOut69 happy_x_1 of { (HappyWrap69 happy_var_1) -> 
+        happyIn75
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.BindPattern (fst happy_var_1) (snd happy_var_1))
+        )}
+
+happyReduce_114 = happySpecReduce_3  28# happyReduction_114
+happyReduction_114 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut69 happy_x_1 of { (HappyWrap69 happy_var_1) -> 
+        case happyOut91 happy_x_3 of { (HappyWrap91 happy_var_3) -> 
+        happyIn75
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.BindPatternType (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_115 = happySpecReduce_1  29# happyReduction_115
+happyReduction_115 happy_x_1
+         =  case happyOut89 happy_x_1 of { (HappyWrap89 happy_var_1) -> 
+        happyIn76
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamType (fst happy_var_1) (snd happy_var_1))
+        )}
+
+happyReduce_116 = happyReduce 5# 29# happyReduction_116
+happyReduction_116 (happy_x_5 `HappyStk`
+        happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn76
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamTermType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_117 = happyReduce 7# 29# happyReduction_117
+happyReduction_117 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        case happyOut91 happy_x_6 of { (HappyWrap91 happy_var_6) -> 
+        happyIn76
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamTermShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_118 = happyReduce 5# 29# happyReduction_118
+happyReduction_118 (happy_x_5 `HappyStk`
+        happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        case happyOut83 happy_x_3 of { (HappyWrap83 happy_var_3) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn76
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamTermModalType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_119 = happyReduce 7# 29# happyReduction_119
+happyReduction_119 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        case happyOut83 happy_x_3 of { (HappyWrap83 happy_var_3) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        case happyOut91 happy_x_6 of { (HappyWrap91 happy_var_6) -> 
+        happyIn76
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamTermModalShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6))
+        ) `HappyStk` happyRest}}}}}
+
+happyReduce_120 = happySpecReduce_3  30# happyReduction_120
+happyReduction_120 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut69 happy_x_1 of { (HappyWrap69 happy_var_1) -> 
+        case happyOut91 happy_x_3 of { (HappyWrap91 happy_var_3) -> 
+        happyIn77
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.SigmaParam (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_121 = happySpecReduce_3  30# happyReduction_121
+happyReduction_121 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut69 happy_x_1 of { (HappyWrap69 happy_var_1) -> 
+        case happyOut83 happy_x_2 of { (HappyWrap83 happy_var_2) -> 
+        case happyOut91 happy_x_3 of { (HappyWrap91 happy_var_3) -> 
+        happyIn77
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.SigmaParamModal (fst happy_var_1) (snd happy_var_1) (snd happy_var_2) (snd happy_var_3))
+        )}}}
+
+happyReduce_122 = happySpecReduce_1  31# happyReduction_122
+happyReduction_122 happy_x_1
+         =  case happyOut77 happy_x_1 of { (HappyWrap77 happy_var_1) -> 
+        happyIn78
+                 ((fst happy_var_1, (:[]) (snd happy_var_1))
+        )}
+
+happyReduce_123 = happySpecReduce_3  31# happyReduction_123
+happyReduction_123 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut77 happy_x_1 of { (HappyWrap77 happy_var_1) -> 
+        case happyOut78 happy_x_3 of { (HappyWrap78 happy_var_3) -> 
+        happyIn78
+                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_124 = happySpecReduce_3  32# happyReduction_124
+happyReduction_124 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut91 happy_x_1 of { (HappyWrap91 happy_var_1) -> 
+        case happyOut91 happy_x_3 of { (HappyWrap91 happy_var_3) -> 
+        happyIn79
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Restriction (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_125 = happySpecReduce_3  32# happyReduction_125
+happyReduction_125 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut91 happy_x_1 of { (HappyWrap91 happy_var_1) -> 
+        case happyOut91 happy_x_3 of { (HappyWrap91 happy_var_3) -> 
+        happyIn79
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_Restriction (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_126 = happySpecReduce_1  33# happyReduction_126
+happyReduction_126 happy_x_1
+         =  case happyOut79 happy_x_1 of { (HappyWrap79 happy_var_1) -> 
+        happyIn80
+                 ((fst happy_var_1, (:[]) (snd happy_var_1))
+        )}
+
+happyReduce_127 = happySpecReduce_3  33# happyReduction_127
+happyReduction_127 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut79 happy_x_1 of { (HappyWrap79 happy_var_1) -> 
+        case happyOut80 happy_x_3 of { (HappyWrap80 happy_var_3) -> 
+        happyIn80
+                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_128 = happySpecReduce_1  34# happyReduction_128
+happyReduction_128 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn81
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Flat (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_129 = happySpecReduce_1  34# happyReduction_129
+happyReduction_129 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn81
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Flat (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_130 = happySpecReduce_1  34# happyReduction_130
+happyReduction_130 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn81
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Sharp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_131 = happySpecReduce_1  34# happyReduction_131
+happyReduction_131 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn81
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Sharp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_132 = happySpecReduce_1  34# happyReduction_132
+happyReduction_132 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn81
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Op (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_133 = happySpecReduce_1  34# happyReduction_133
+happyReduction_133 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn81
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Op (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_134 = happySpecReduce_1  34# happyReduction_134
+happyReduction_134 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn81
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Id (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_135 = happySpecReduce_1  35# happyReduction_135
+happyReduction_135 happy_x_1
+         =  case happyOut81 happy_x_1 of { (HappyWrap81 happy_var_1) -> 
+        happyIn82
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Single (fst happy_var_1) (snd happy_var_1))
+        )}
+
+happyReduce_136 = happySpecReduce_3  35# happyReduction_136
+happyReduction_136 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut81 happy_x_1 of { (HappyWrap81 happy_var_1) -> 
+        case happyOut81 happy_x_3 of { (HappyWrap81 happy_var_3) -> 
+        happyIn82
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Comp (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_137 = happySpecReduce_1  36# happyReduction_137
+happyReduction_137 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn83
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ModalColonFlat (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_138 = happySpecReduce_1  36# happyReduction_138
+happyReduction_138 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn83
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ModalColonSharp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_139 = happySpecReduce_1  36# happyReduction_139
+happyReduction_139 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn83
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ModalColonOp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_140 = happySpecReduce_1  36# happyReduction_140
+happyReduction_140 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn83
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ModalColonId (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_141 = happySpecReduce_1  36# happyReduction_141
+happyReduction_141 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn83
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_ModalColonFlat (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_142 = happySpecReduce_1  36# happyReduction_142
+happyReduction_142 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn83
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_ModalColonSharp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_143 = happySpecReduce_1  36# happyReduction_143
+happyReduction_143 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn83
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_ModalColonOp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_144 = happySpecReduce_1  37# happyReduction_144
+happyReduction_144 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Universe (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_145 = happySpecReduce_1  37# happyReduction_145
+happyReduction_145 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseCube (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_146 = happySpecReduce_1  37# happyReduction_146
+happyReduction_146 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseTope (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_147 = happySpecReduce_1  37# happyReduction_147
+happyReduction_147 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_148 = happySpecReduce_1  37# happyReduction_148
+happyReduction_148 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_149 = happySpecReduce_1  37# happyReduction_149
+happyReduction_149 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_150 = happySpecReduce_1  37# happyReduction_150
+happyReduction_150 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_151 = happySpecReduce_1  37# happyReduction_151
+happyReduction_151 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_152 = happySpecReduce_1  37# happyReduction_152
+happyReduction_152 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeI (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_153 = happySpecReduce_1  37# happyReduction_153
+happyReduction_153 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeI_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_154 = happySpecReduce_1  37# happyReduction_154
+happyReduction_154 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeI_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_155 = happySpecReduce_1  37# happyReduction_155
+happyReduction_155 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_156 = happySpecReduce_1  37# happyReduction_156
+happyReduction_156 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_157 = happySpecReduce_1  37# happyReduction_157
+happyReduction_157 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_158 = happyReduce 4# 37# happyReduction_158
+happyReduction_158 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut80 happy_x_3 of { (HappyWrap80 happy_var_3) -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3))
+        ) `HappyStk` happyRest}}
+
+happyReduce_159 = happySpecReduce_1  37# happyReduction_159
+happyReduction_159 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_160 = happyReduce 5# 37# happyReduction_160
+happyReduction_160 (happy_x_5 `HappyStk`
+        happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Pair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_161 = happyReduce 7# 37# happyReduction_161
+happyReduction_161 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        case happyOut92 happy_x_6 of { (HappyWrap92 happy_var_6) -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Tuple (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_162 = happySpecReduce_3  37# happyReduction_162
+happyReduction_162 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut81 happy_x_2 of { (HappyWrap81 happy_var_2) -> 
+        case happyOut84 happy_x_3 of { (HappyWrap84 happy_var_3) -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ModApp (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3))
+        )}}}
+
+happyReduce_163 = happySpecReduce_2  37# happyReduction_163
+happyReduction_163 happy_x_2
+        happy_x_1
+         =  case happyOut81 happy_x_1 of { (HappyWrap81 happy_var_1) -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn84
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ModType (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))
+        )}}
+
+happyReduce_164 = happySpecReduce_1  37# happyReduction_164
+happyReduction_164 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Unit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_165 = happySpecReduce_1  37# happyReduction_165
+happyReduction_165 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Refl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_166 = happySpecReduce_3  37# happyReduction_166
+happyReduction_166 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTerm (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_167 = happyReduce 5# 37# happyReduction_167
+happyReduction_167 (happy_x_5 `HappyStk`
+        happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTermType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_168 = happyReduce 14# 37# happyReduction_168
+happyReduction_168 (happy_x_14 `HappyStk`
+        happy_x_13 `HappyStk`
+        happy_x_12 `HappyStk`
+        happy_x_11 `HappyStk`
+        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)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_3 of { (HappyWrap91 happy_var_3) -> 
+        case happyOut91 happy_x_5 of { (HappyWrap91 happy_var_5) -> 
+        case happyOut91 happy_x_7 of { (HappyWrap91 happy_var_7) -> 
+        case happyOut91 happy_x_9 of { (HappyWrap91 happy_var_9) -> 
+        case happyOut91 happy_x_11 of { (HappyWrap91 happy_var_11) -> 
+        case happyOut91 happy_x_13 of { (HappyWrap91 happy_var_13) -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.IdJ (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9) (snd happy_var_11) (snd happy_var_13))
+        ) `HappyStk` happyRest}}}}}}}
+
+happyReduce_169 = happyReduce 5# 37# happyReduction_169
+happyReduction_169 (happy_x_5 `HappyStk`
+        happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        case happyOut68 happy_x_4 of { (HappyWrap68 happy_var_4) -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Match (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_170 = happyReduce 7# 37# happyReduction_170
+happyReduction_170 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        case happyOut84 happy_x_4 of { (HappyWrap84 happy_var_4) -> 
+        case happyOut68 happy_x_6 of { (HappyWrap68 happy_var_6) -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.MatchInto (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_171 = happySpecReduce_1  37# happyReduction_171
+happyReduction_171 happy_x_1
+         =  case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> 
+        happyIn84
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Hole (fst happy_var_1) (snd happy_var_1))
+        )}
+
+happyReduce_172 = happySpecReduce_1  37# happyReduction_172
+happyReduction_172 happy_x_1
+         =  case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> 
+        happyIn84
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.Var (fst happy_var_1) (snd happy_var_1))
+        )}
+
+happyReduce_173 = happySpecReduce_3  37# happyReduction_173
+happyReduction_173 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut91 happy_x_2 of { (HappyWrap91 happy_var_2) -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), (snd happy_var_2))
+        )}}
+
+happyReduce_174 = happySpecReduce_1  37# happyReduction_174
+happyReduction_174 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_175 = happySpecReduce_1  37# happyReduction_175
+happyReduction_175 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_176 = happySpecReduce_1  37# happyReduction_176
+happyReduction_176 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_177 = happySpecReduce_1  37# happyReduction_177
+happyReduction_177 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_CubeI (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_178 = happySpecReduce_1  37# happyReduction_178
+happyReduction_178 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_CubeI_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_179 = happySpecReduce_1  37# happyReduction_179
+happyReduction_179 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_CubeI_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_180 = happySpecReduce_1  37# happyReduction_180
+happyReduction_180 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_181 = happySpecReduce_1  37# happyReduction_181
+happyReduction_181 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        happyIn84
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TopeBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+        )}
+
+happyReduce_182 = happySpecReduce_3  38# happyReduction_182
+happyReduction_182 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut85 happy_x_1 of { (HappyWrap85 happy_var_1) -> 
+        case happyOut89 happy_x_3 of { (HappyWrap89 happy_var_3) -> 
+        happyIn85
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.CubeProduct (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_183 = happySpecReduce_3  38# happyReduction_183
+happyReduction_183 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut85 happy_x_1 of { (HappyWrap85 happy_var_1) -> 
+        case happyOut89 happy_x_3 of { (HappyWrap89 happy_var_3) -> 
+        happyIn85
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.CubeSup (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_184 = happySpecReduce_3  38# happyReduction_184
+happyReduction_184 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut85 happy_x_1 of { (HappyWrap85 happy_var_1) -> 
+        case happyOut89 happy_x_3 of { (HappyWrap89 happy_var_3) -> 
+        happyIn85
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.CubeInf (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_185 = happySpecReduce_1  38# happyReduction_185
+happyReduction_185 happy_x_1
+         =  case happyOut89 happy_x_1 of { (HappyWrap89 happy_var_1) -> 
+        happyIn85
+                 ((fst happy_var_1, (snd happy_var_1))
+        )}
+
+happyReduce_186 = happySpecReduce_3  38# happyReduction_186
+happyReduction_186 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut85 happy_x_1 of { (HappyWrap85 happy_var_1) -> 
+        case happyOut89 happy_x_3 of { (HappyWrap89 happy_var_3) -> 
+        happyIn85
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ascii_CubeProduct (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_187 = happySpecReduce_3  39# happyReduction_187
+happyReduction_187 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut85 happy_x_1 of { (HappyWrap85 happy_var_1) -> 
+        case happyOut85 happy_x_3 of { (HappyWrap85 happy_var_3) -> 
+        happyIn86
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_188 = happySpecReduce_3  39# happyReduction_188
+happyReduction_188 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut85 happy_x_1 of { (HappyWrap85 happy_var_1) -> 
+        case happyOut85 happy_x_3 of { (HappyWrap85 happy_var_3) -> 
+        happyIn86
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeLEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_189 = happySpecReduce_1  39# happyReduction_189
+happyReduction_189 happy_x_1
+         =  case happyOut85 happy_x_1 of { (HappyWrap85 happy_var_1) -> 
+        happyIn86
+                 ((fst happy_var_1, (snd happy_var_1))
+        )}
+
+happyReduce_190 = happySpecReduce_3  39# happyReduction_190
+happyReduction_190 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut85 happy_x_1 of { (HappyWrap85 happy_var_1) -> 
+        case happyOut85 happy_x_3 of { (HappyWrap85 happy_var_3) -> 
+        happyIn86
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TopeEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_191 = happySpecReduce_3  39# happyReduction_191
+happyReduction_191 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut85 happy_x_1 of { (HappyWrap85 happy_var_1) -> 
+        case happyOut85 happy_x_3 of { (HappyWrap85 happy_var_3) -> 
+        happyIn86
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TopeLEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_192 = happySpecReduce_3  40# happyReduction_192
+happyReduction_192 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut86 happy_x_1 of { (HappyWrap86 happy_var_1) -> 
+        case happyOut87 happy_x_3 of { (HappyWrap87 happy_var_3) -> 
+        happyIn87
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeAnd (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_193 = happySpecReduce_1  40# happyReduction_193
+happyReduction_193 happy_x_1
+         =  case happyOut86 happy_x_1 of { (HappyWrap86 happy_var_1) -> 
+        happyIn87
+                 ((fst happy_var_1, (snd happy_var_1))
+        )}
+
+happyReduce_194 = happySpecReduce_3  40# happyReduction_194
+happyReduction_194 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut86 happy_x_1 of { (HappyWrap86 happy_var_1) -> 
+        case happyOut87 happy_x_3 of { (HappyWrap87 happy_var_3) -> 
+        happyIn87
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TopeAnd (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_195 = happySpecReduce_3  41# happyReduction_195
+happyReduction_195 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut87 happy_x_1 of { (HappyWrap87 happy_var_1) -> 
+        case happyOut88 happy_x_3 of { (HappyWrap88 happy_var_3) -> 
+        happyIn88
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeOr (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_196 = happySpecReduce_1  41# happyReduction_196
+happyReduction_196 happy_x_1
+         =  case happyOut87 happy_x_1 of { (HappyWrap87 happy_var_1) -> 
+        happyIn88
+                 ((fst happy_var_1, (snd happy_var_1))
+        )}
+
+happyReduce_197 = happySpecReduce_3  41# happyReduction_197
+happyReduction_197 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut87 happy_x_1 of { (HappyWrap87 happy_var_1) -> 
+        case happyOut88 happy_x_3 of { (HappyWrap88 happy_var_3) -> 
+        happyIn88
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TopeOr (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_198 = happySpecReduce_2  42# happyReduction_198
+happyReduction_198 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeInv (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_199 = happySpecReduce_2  42# happyReduction_199
+happyReduction_199 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ascii_TopeInv (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_200 = happySpecReduce_2  42# happyReduction_200
+happyReduction_200 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeUninv (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_201 = happySpecReduce_2  42# happyReduction_201
+happyReduction_201 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ascii_TopeUninv (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_202 = happySpecReduce_2  42# happyReduction_202
+happyReduction_202 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeFlip (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_203 = happySpecReduce_2  42# happyReduction_203
+happyReduction_203 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ascii_CubeFlip (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_204 = happySpecReduce_2  42# happyReduction_204
+happyReduction_204 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnflip (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_205 = happySpecReduce_2  42# happyReduction_205
+happyReduction_205 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ascii_CubeUnflip (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_206 = happyReduce 4# 42# happyReduction_206
+happyReduction_206 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOut89 happy_x_1 of { (HappyWrap89 happy_var_1) -> 
+        case happyOut80 happy_x_3 of { (HappyWrap80 happy_var_3) -> 
+        happyIn89
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeRestricted (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        ) `HappyStk` happyRest}}
+
+happyReduce_207 = happySpecReduce_2  42# happyReduction_207
+happyReduction_207 happy_x_2
+        happy_x_1
+         =  case happyOut89 happy_x_1 of { (HappyWrap89 happy_var_1) -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.App (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))
+        )}}
+
+happyReduce_208 = happySpecReduce_3  42# happyReduction_208
+happyReduction_208 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut82 happy_x_2 of { (HappyWrap82 happy_var_2) -> 
+        case happyOut84 happy_x_3 of { (HappyWrap84 happy_var_3) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ModExtract (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3))
+        )}}}
+
+happyReduce_209 = happySpecReduce_2  42# happyReduction_209
+happyReduction_209 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.First (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_210 = happySpecReduce_2  42# happyReduction_210
+happyReduction_210 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Second (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_211 = happySpecReduce_1  42# happyReduction_211
+happyReduction_211 happy_x_1
+         =  case happyOut84 happy_x_1 of { (HappyWrap84 happy_var_1) -> 
+        happyIn89
+                 ((fst happy_var_1, (snd happy_var_1))
+        )}
+
+happyReduce_212 = happySpecReduce_3  42# happyReduction_212
+happyReduction_212 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        case happyOut84 happy_x_3 of { (HappyWrap84 happy_var_3) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ascii_CubeSup (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3))
+        )}}}
+
+happyReduce_213 = happySpecReduce_3  42# happyReduction_213
+happyReduction_213 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        case happyOut84 happy_x_3 of { (HappyWrap84 happy_var_3) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ascii_CubeInf (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3))
+        )}}}
+
+happyReduce_214 = happySpecReduce_2  42# happyReduction_214
+happyReduction_214 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_First (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_215 = happySpecReduce_2  42# happyReduction_215
+happyReduction_215 happy_x_2
+        happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut84 happy_x_2 of { (HappyWrap84 happy_var_2) -> 
+        happyIn89
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Second (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+        )}}
+
+happyReduce_216 = happySpecReduce_3  43# happyReduction_216
+happyReduction_216 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut76 happy_x_1 of { (HappyWrap76 happy_var_1) -> 
+        case happyOut90 happy_x_3 of { (HappyWrap90 happy_var_3) -> 
+        happyIn90
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_217 = happyReduce 8# 43# happyReduction_217
+happyReduction_217 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut69 happy_x_3 of { (HappyWrap69 happy_var_3) -> 
+        case happyOut91 happy_x_5 of { (HappyWrap91 happy_var_5) -> 
+        case happyOut90 happy_x_8 of { (HappyWrap90 happy_var_8) -> 
+        happyIn90
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_218 = happyReduce 8# 43# happyReduction_218
+happyReduction_218 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut69 happy_x_3 of { (HappyWrap69 happy_var_3) -> 
+        case happyOut83 happy_x_4 of { (HappyWrap83 happy_var_4) -> 
+        case happyOut91 happy_x_5 of { (HappyWrap91 happy_var_5) -> 
+        case happyOut90 happy_x_8 of { (HappyWrap90 happy_var_8) -> 
+        happyIn90
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeSigmaModal (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_4) (snd happy_var_5) (snd happy_var_8))
+        ) `HappyStk` happyRest}}}}}
+
+happyReduce_219 = happyReduce 8# 43# happyReduction_219
+happyReduction_219 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut77 happy_x_3 of { (HappyWrap77 happy_var_3) -> 
+        case happyOut78 happy_x_5 of { (HappyWrap78 happy_var_5) -> 
+        case happyOut90 happy_x_8 of { (HappyWrap90 happy_var_8) -> 
+        happyIn90
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeSigmaTuple (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_220 = happyReduce 5# 43# happyReduction_220
+happyReduction_220 (happy_x_5 `HappyStk`
+        happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOut88 happy_x_1 of { (HappyWrap88 happy_var_1) -> 
+        case happyOut91 happy_x_3 of { (HappyWrap91 happy_var_3) -> 
+        case happyOut88 happy_x_5 of { (HappyWrap88 happy_var_5) -> 
+        happyIn90
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeId (fst happy_var_1) (snd happy_var_1) (snd happy_var_3) (snd happy_var_5))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_221 = happySpecReduce_3  43# happyReduction_221
+happyReduction_221 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut88 happy_x_1 of { (HappyWrap88 happy_var_1) -> 
+        case happyOut88 happy_x_3 of { (HappyWrap88 happy_var_3) -> 
+        happyIn90
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeIdSimple (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_222 = happyReduce 6# 43# happyReduction_222
+happyReduction_222 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut75 happy_x_2 of { (HappyWrap75 happy_var_2) -> 
+        case happyOut91 happy_x_4 of { (HappyWrap91 happy_var_4) -> 
+        case happyOut91 happy_x_6 of { (HappyWrap91 happy_var_6) -> 
+        happyIn90
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Let (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_223 = happyReduce 4# 43# happyReduction_223
+happyReduction_223 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut74 happy_x_2 of { (HappyWrap74 happy_var_2) -> 
+        case happyOut90 happy_x_4 of { (HappyWrap90 happy_var_4) -> 
+        happyIn90
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Lambda (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_224 = happyReduce 8# 43# happyReduction_224
+happyReduction_224 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut82 happy_x_3 of { (HappyWrap82 happy_var_3) -> 
+        case happyOut75 happy_x_4 of { (HappyWrap75 happy_var_4) -> 
+        case happyOut91 happy_x_6 of { (HappyWrap91 happy_var_6) -> 
+        case happyOut91 happy_x_8 of { (HappyWrap91 happy_var_8) -> 
+        happyIn90
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.LetMod (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))
+        ) `HappyStk` happyRest}}}}}
+
+happyReduce_225 = happySpecReduce_1  43# happyReduction_225
+happyReduction_225 happy_x_1
+         =  case happyOut88 happy_x_1 of { (HappyWrap88 happy_var_1) -> 
+        happyIn90
+                 ((fst happy_var_1, (snd happy_var_1))
+        )}
+
+happyReduce_226 = happySpecReduce_3  43# happyReduction_226
+happyReduction_226 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut76 happy_x_1 of { (HappyWrap76 happy_var_1) -> 
+        case happyOut90 happy_x_3 of { (HappyWrap90 happy_var_3) -> 
+        happyIn90
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_227 = happyReduce 8# 43# happyReduction_227
+happyReduction_227 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut69 happy_x_3 of { (HappyWrap69 happy_var_3) -> 
+        case happyOut91 happy_x_5 of { (HappyWrap91 happy_var_5) -> 
+        case happyOut90 happy_x_8 of { (HappyWrap90 happy_var_8) -> 
+        happyIn90
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_228 = happyReduce 8# 43# happyReduction_228
+happyReduction_228 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut69 happy_x_3 of { (HappyWrap69 happy_var_3) -> 
+        case happyOut83 happy_x_4 of { (HappyWrap83 happy_var_4) -> 
+        case happyOut91 happy_x_5 of { (HappyWrap91 happy_var_5) -> 
+        case happyOut90 happy_x_8 of { (HappyWrap90 happy_var_8) -> 
+        happyIn90
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ascii_TypeSigmaModal (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_4) (snd happy_var_5) (snd happy_var_8))
+        ) `HappyStk` happyRest}}}}}
+
+happyReduce_229 = happyReduce 8# 43# happyReduction_229
+happyReduction_229 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut77 happy_x_3 of { (HappyWrap77 happy_var_3) -> 
+        case happyOut78 happy_x_5 of { (HappyWrap78 happy_var_5) -> 
+        case happyOut90 happy_x_8 of { (HappyWrap90 happy_var_8) -> 
+        happyIn90
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TypeSigmaTuple (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_230 = happyReduce 4# 43# happyReduction_230
+happyReduction_230 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut74 happy_x_2 of { (HappyWrap74 happy_var_2) -> 
+        case happyOut90 happy_x_4 of { (HappyWrap90 happy_var_4) -> 
+        happyIn90
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Lambda (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
+        ) `HappyStk` happyRest}}}
+
+happyReduce_231 = happyReduce 8# 43# happyReduction_231
+happyReduction_231 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut69 happy_x_3 of { (HappyWrap69 happy_var_3) -> 
+        case happyOut91 happy_x_5 of { (HappyWrap91 happy_var_5) -> 
+        case happyOut90 happy_x_8 of { (HappyWrap90 happy_var_8) -> 
+        happyIn90
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigmaAlt (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_232 = happyReduce 8# 43# happyReduction_232
+happyReduction_232 (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 happyOutTok happy_x_1 of { happy_var_1 -> 
+        case happyOut77 happy_x_3 of { (HappyWrap77 happy_var_3) -> 
+        case happyOut78 happy_x_5 of { (HappyWrap78 happy_var_5) -> 
+        case happyOut90 happy_x_8 of { (HappyWrap90 happy_var_8) -> 
+        happyIn90
+                 ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigmaTupleAlt (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
+        ) `HappyStk` happyRest}}}}
+
+happyReduce_233 = happySpecReduce_3  44# happyReduction_233
+happyReduction_233 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut88 happy_x_1 of { (HappyWrap88 happy_var_1) -> 
+        case happyOut90 happy_x_3 of { (HappyWrap90 happy_var_3) -> 
+        happyIn91
+                 ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeAsc (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyReduce_234 = happySpecReduce_1  44# happyReduction_234
+happyReduction_234 happy_x_1
+         =  case happyOut90 happy_x_1 of { (HappyWrap90 happy_var_1) -> 
+        happyIn91
+                 ((fst happy_var_1, (snd happy_var_1))
+        )}
+
+happyReduce_235 = happySpecReduce_1  45# happyReduction_235
+happyReduction_235 happy_x_1
+         =  case happyOut91 happy_x_1 of { (HappyWrap91 happy_var_1) -> 
+        happyIn92
+                 ((fst happy_var_1, (:[]) (snd happy_var_1))
+        )}
+
+happyReduce_236 = happySpecReduce_3  45# happyReduction_236
+happyReduction_236 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut91 happy_x_1 of { (HappyWrap91 happy_var_1) -> 
+        case happyOut92 happy_x_3 of { (HappyWrap92 happy_var_3) -> 
+        happyIn92
+                 ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
+        )}}
+
+happyTerminalToTok term = case term of {
+        PT _ (TS _ 1) -> 2#;
+        PT _ (TS _ 2) -> 3#;
+        PT _ (TS _ 3) -> 4#;
+        PT _ (TS _ 4) -> 5#;
+        PT _ (TS _ 5) -> 6#;
+        PT _ (TS _ 6) -> 7#;
+        PT _ (TS _ 7) -> 8#;
+        PT _ (TS _ 8) -> 9#;
+        PT _ (TS _ 9) -> 10#;
+        PT _ (TS _ 10) -> 11#;
+        PT _ (TS _ 11) -> 12#;
+        PT _ (TS _ 12) -> 13#;
+        PT _ (TS _ 13) -> 14#;
+        PT _ (TS _ 14) -> 15#;
+        PT _ (TS _ 15) -> 16#;
+        PT _ (TS _ 16) -> 17#;
+        PT _ (TS _ 17) -> 18#;
+        PT _ (TS _ 18) -> 19#;
+        PT _ (TS _ 19) -> 20#;
+        PT _ (TS _ 20) -> 21#;
+        PT _ (TS _ 21) -> 22#;
+        PT _ (TS _ 22) -> 23#;
+        PT _ (TS _ 23) -> 24#;
+        PT _ (TS _ 24) -> 25#;
+        PT _ (TS _ 25) -> 26#;
+        PT _ (TS _ 26) -> 27#;
+        PT _ (TS _ 27) -> 28#;
+        PT _ (TS _ 28) -> 29#;
+        PT _ (TS _ 29) -> 30#;
+        PT _ (TS _ 30) -> 31#;
+        PT _ (TS _ 31) -> 32#;
+        PT _ (TS _ 32) -> 33#;
+        PT _ (TS _ 33) -> 34#;
+        PT _ (TS _ 34) -> 35#;
+        PT _ (TS _ 35) -> 36#;
+        PT _ (TS _ 36) -> 37#;
+        PT _ (TS _ 37) -> 38#;
+        PT _ (TS _ 38) -> 39#;
+        PT _ (TS _ 39) -> 40#;
+        PT _ (TS _ 40) -> 41#;
+        PT _ (TS _ 41) -> 42#;
+        PT _ (TS _ 42) -> 43#;
+        PT _ (TS _ 43) -> 44#;
+        PT _ (TS _ 44) -> 45#;
+        PT _ (TS _ 45) -> 46#;
+        PT _ (TS _ 46) -> 47#;
+        PT _ (TS _ 47) -> 48#;
+        PT _ (TS _ 48) -> 49#;
+        PT _ (TS _ 49) -> 50#;
+        PT _ (TS _ 50) -> 51#;
+        PT _ (TS _ 51) -> 52#;
+        PT _ (TS _ 52) -> 53#;
+        PT _ (TS _ 53) -> 54#;
+        PT _ (TS _ 54) -> 55#;
+        PT _ (TS _ 55) -> 56#;
+        PT _ (TS _ 56) -> 57#;
+        PT _ (TS _ 57) -> 58#;
+        PT _ (TS _ 58) -> 59#;
+        PT _ (TS _ 59) -> 60#;
+        PT _ (TS _ 60) -> 61#;
+        PT _ (TS _ 61) -> 62#;
+        PT _ (TS _ 62) -> 63#;
+        PT _ (TS _ 63) -> 64#;
+        PT _ (TS _ 64) -> 65#;
+        PT _ (TS _ 65) -> 66#;
+        PT _ (TS _ 66) -> 67#;
+        PT _ (TS _ 67) -> 68#;
+        PT _ (TS _ 68) -> 69#;
+        PT _ (TS _ 69) -> 70#;
+        PT _ (TS _ 70) -> 71#;
+        PT _ (TS _ 71) -> 72#;
+        PT _ (TS _ 72) -> 73#;
+        PT _ (TS _ 73) -> 74#;
+        PT _ (TS _ 74) -> 75#;
+        PT _ (TS _ 75) -> 76#;
+        PT _ (TS _ 76) -> 77#;
+        PT _ (TS _ 77) -> 78#;
+        PT _ (TS _ 78) -> 79#;
+        PT _ (TS _ 79) -> 80#;
+        PT _ (TS _ 80) -> 81#;
+        PT _ (TS _ 81) -> 82#;
+        PT _ (TS _ 82) -> 83#;
+        PT _ (TS _ 83) -> 84#;
+        PT _ (TS _ 84) -> 85#;
+        PT _ (TS _ 85) -> 86#;
+        PT _ (TS _ 86) -> 87#;
+        PT _ (TS _ 87) -> 88#;
+        PT _ (TS _ 88) -> 89#;
+        PT _ (TS _ 89) -> 90#;
+        PT _ (TS _ 90) -> 91#;
+        PT _ (TS _ 91) -> 92#;
+        PT _ (TS _ 92) -> 93#;
+        PT _ (TS _ 93) -> 94#;
+        PT _ (TS _ 94) -> 95#;
+        PT _ (TS _ 95) -> 96#;
+        PT _ (TS _ 96) -> 97#;
+        PT _ (TS _ 97) -> 98#;
+        PT _ (TS _ 98) -> 99#;
+        PT _ (TS _ 99) -> 100#;
+        PT _ (TS _ 100) -> 101#;
+        PT _ (TS _ 101) -> 102#;
+        PT _ (TS _ 102) -> 103#;
+        PT _ (TS _ 103) -> 104#;
+        PT _ (TS _ 104) -> 105#;
+        PT _ (TS _ 105) -> 106#;
+        PT _ (TS _ 106) -> 107#;
+        PT _ (TS _ 107) -> 108#;
+        PT _ (TS _ 108) -> 109#;
+        PT _ (TS _ 109) -> 110#;
+        PT _ (TS _ 110) -> 111#;
+        PT _ (TS _ 111) -> 112#;
+        PT _ (TS _ 112) -> 113#;
+        PT _ (TS _ 113) -> 114#;
+        PT _ (TS _ 114) -> 115#;
+        PT _ (TS _ 115) -> 116#;
+        PT _ (TS _ 116) -> 117#;
+        PT _ (TS _ 117) -> 118#;
+        PT _ (TL _) -> 119#;
+        PT _ (T_VarIdentToken _) -> 120#;
+        PT _ (T_HoleIdentToken _) -> 121#;
+        _ -> -1#;
+        }
+{-# NOINLINE happyTerminalToTok #-}
+
+happyLex kend  _kmore []       = kend notHappyAtAll []
+happyLex _kend kmore  (tk:tks) = kmore (happyTerminalToTok tk) tk tks
+{-# INLINE happyLex #-}
+
+happyNewToken action sts stk = happyLex (\tk -> happyDoAction 122# notHappyAtAll action sts stk) (\i tk -> happyDoAction i tk action sts stk)
+
+happyReport 122# tk explist resume tks = happyReport' tks explist resume
+happyReport _ tk explist resume tks = happyReport' (tk:tks) explist (\tks -> resume (Happy_Prelude.tail tks))
+
+
+happyThen :: () => (Err a) -> (a -> (Err b)) -> (Err b)
+happyThen = ((>>=))
+happyReturn :: () => a -> (Err a)
+happyReturn = (return)
+happyThen1 m k tks = ((>>=)) m (\a -> k a tks)
+happyFmap1 f m tks = happyThen (m tks) (\a -> happyReturn (f a))
+happyReturn1 :: () => a -> b -> (Err a)
+happyReturn1 = \a tks -> (return) a
+happyReport' :: () => [(Token)] -> [Happy_Prelude.String] -> ([(Token)] -> (Err a)) -> (Err a)
+happyReport' = (\tokens expected resume -> happyError tokens)
+
+happyAbort :: () => [(Token)] -> (Err a)
+happyAbort = Happy_Prelude.error "Called abort handler in non-resumptive parser"
+
+pModule_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 0# tks) (\x -> happyReturn (let {(HappyWrap50 x') = happyOut50 x} in x'))
+
+pHoleIdent_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 1# tks) (\x -> happyReturn (let {(HappyWrap51 x') = happyOut51 x} in x'))
+
+pVarIdent_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 2# tks) (\x -> happyReturn (let {(HappyWrap52 x') = happyOut52 x} in x'))
+
+pListVarIdent_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 3# tks) (\x -> happyReturn (let {(HappyWrap53 x') = happyOut53 x} in x'))
+
+pLanguageDecl_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 4# tks) (\x -> happyReturn (let {(HappyWrap54 x') = happyOut54 x} in x'))
+
+pLanguage_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 5# tks) (\x -> happyReturn (let {(HappyWrap55 x') = happyOut55 x} in x'))
+
+pCommand_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 6# tks) (\x -> happyReturn (let {(HappyWrap56 x') = happyOut56 x} in x'))
+
+pListCommand_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 7# tks) (\x -> happyReturn (let {(HappyWrap57 x') = happyOut57 x} in x'))
+
+pDeclUsedVars_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 8# tks) (\x -> happyReturn (let {(HappyWrap58 x') = happyOut58 x} in x'))
+
+pSectionName_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 9# tks) (\x -> happyReturn (let {(HappyWrap59 x') = happyOut59 x} in x'))
+
+pDataSort_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 10# tks) (\x -> happyReturn (let {(HappyWrap60 x') = happyOut60 x} in x'))
+
+pDataBody_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 11# tks) (\x -> happyReturn (let {(HappyWrap61 x') = happyOut61 x} in x'))
+
+pConstructor_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 12# tks) (\x -> happyReturn (let {(HappyWrap62 x') = happyOut62 x} in x'))
+
+pListConstructor_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 13# tks) (\x -> happyReturn (let {(HappyWrap63 x') = happyOut63 x} in x'))
+
+pConstructorType_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 14# tks) (\x -> happyReturn (let {(HappyWrap64 x') = happyOut64 x} in x'))
+
+pDataElim_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 15# tks) (\x -> happyReturn (let {(HappyWrap65 x') = happyOut65 x} in x'))
+
+pListDataElim_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 16# tks) (\x -> happyReturn (let {(HappyWrap66 x') = happyOut66 x} in x'))
+
+pMatchBranch_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 17# tks) (\x -> happyReturn (let {(HappyWrap67 x') = happyOut67 x} in x'))
+
+pListMatchBranch_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 18# tks) (\x -> happyReturn (let {(HappyWrap68 x') = happyOut68 x} in x'))
+
+pPattern_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 19# tks) (\x -> happyReturn (let {(HappyWrap69 x') = happyOut69 x} in x'))
+
+pListPattern_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 20# tks) (\x -> happyReturn (let {(HappyWrap70 x') = happyOut70 x} in x'))
+
+pPattern1_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 21# tks) (\x -> happyReturn (let {(HappyWrap71 x') = happyOut71 x} in x'))
+
+pListPattern1_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 22# tks) (\x -> happyReturn (let {(HappyWrap72 x') = happyOut72 x} in x'))
+
+pParam_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 23# tks) (\x -> happyReturn (let {(HappyWrap73 x') = happyOut73 x} in x'))
+
+pListParam_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 24# tks) (\x -> happyReturn (let {(HappyWrap74 x') = happyOut74 x} in x'))
+
+pBind_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 25# tks) (\x -> happyReturn (let {(HappyWrap75 x') = happyOut75 x} in x'))
+
+pParamDecl_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 26# tks) (\x -> happyReturn (let {(HappyWrap76 x') = happyOut76 x} in x'))
+
+pSigmaParam_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 27# tks) (\x -> happyReturn (let {(HappyWrap77 x') = happyOut77 x} in x'))
+
+pListSigmaParam_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 28# tks) (\x -> happyReturn (let {(HappyWrap78 x') = happyOut78 x} in x'))
+
+pRestriction_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 29# tks) (\x -> happyReturn (let {(HappyWrap79 x') = happyOut79 x} in x'))
+
+pListRestriction_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 30# tks) (\x -> happyReturn (let {(HappyWrap80 x') = happyOut80 x} in x'))
+
+pModality_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 31# tks) (\x -> happyReturn (let {(HappyWrap81 x') = happyOut81 x} in x'))
+
+pModComp_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 32# tks) (\x -> happyReturn (let {(HappyWrap82 x') = happyOut82 x} in x'))
+
+pModalColon_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 33# tks) (\x -> happyReturn (let {(HappyWrap83 x') = happyOut83 x} in x'))
+
+pTerm7_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 34# tks) (\x -> happyReturn (let {(HappyWrap84 x') = happyOut84 x} in x'))
+
+pTerm5_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 35# tks) (\x -> happyReturn (let {(HappyWrap85 x') = happyOut85 x} in x'))
+
+pTerm4_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 36# tks) (\x -> happyReturn (let {(HappyWrap86 x') = happyOut86 x} in x'))
+
+pTerm3_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 37# tks) (\x -> happyReturn (let {(HappyWrap87 x') = happyOut87 x} in x'))
+
+pTerm2_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 38# tks) (\x -> happyReturn (let {(HappyWrap88 x') = happyOut88 x} in x'))
+
+pTerm6_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 39# tks) (\x -> happyReturn (let {(HappyWrap89 x') = happyOut89 x} in x'))
+
+pTerm1_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 40# tks) (\x -> happyReturn (let {(HappyWrap90 x') = happyOut90 x} in x'))
+
+pTerm_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 41# tks) (\x -> happyReturn (let {(HappyWrap91 x') = happyOut91 x} in x'))
+
+pListTerm_internal tks = happySomeParser where
+ happySomeParser = happyThen (happyDoParse 42# tks) (\x -> happyReturn (let {(HappyWrap92 x') = happyOut92 x} in x'))
+
+happySeq = happyDontSeq
+
+
+type Err = Either String
+
+happyError :: [Token] -> Err a
+happyError ts = Left $
+  "syntax error at " ++ tokenPos ts ++
+  case ts of
+    []      -> []
+    [Err _] -> " due to lexer error"
+    t:_     -> " before `" ++ (prToken t) ++ "'"
+
+myLexer :: Data.Text.Text -> [Token]
+myLexer = tokens
+
+-- Entrypoints
+
+pModule :: [Token] -> Err Language.Rzk.Syntax.Abs.Module
+pModule = fmap snd . pModule_internal
+
+pHoleIdent :: [Token] -> Err Language.Rzk.Syntax.Abs.HoleIdent
+pHoleIdent = fmap snd . pHoleIdent_internal
+
+pVarIdent :: [Token] -> Err Language.Rzk.Syntax.Abs.VarIdent
+pVarIdent = fmap snd . pVarIdent_internal
+
+pListVarIdent :: [Token] -> Err [Language.Rzk.Syntax.Abs.VarIdent]
+pListVarIdent = fmap snd . pListVarIdent_internal
+
+pLanguageDecl :: [Token] -> Err Language.Rzk.Syntax.Abs.LanguageDecl
+pLanguageDecl = fmap snd . pLanguageDecl_internal
+
+pLanguage :: [Token] -> Err Language.Rzk.Syntax.Abs.Language
+pLanguage = fmap snd . pLanguage_internal
+
+pCommand :: [Token] -> Err Language.Rzk.Syntax.Abs.Command
+pCommand = fmap snd . pCommand_internal
+
+pListCommand :: [Token] -> Err [Language.Rzk.Syntax.Abs.Command]
+pListCommand = fmap snd . pListCommand_internal
+
+pDeclUsedVars :: [Token] -> Err Language.Rzk.Syntax.Abs.DeclUsedVars
+pDeclUsedVars = fmap snd . pDeclUsedVars_internal
+
+pSectionName :: [Token] -> Err Language.Rzk.Syntax.Abs.SectionName
+pSectionName = fmap snd . pSectionName_internal
+
+pDataSort :: [Token] -> Err Language.Rzk.Syntax.Abs.DataSort
+pDataSort = fmap snd . pDataSort_internal
+
+pDataBody :: [Token] -> Err Language.Rzk.Syntax.Abs.DataBody
+pDataBody = fmap snd . pDataBody_internal
+
+pConstructor :: [Token] -> Err Language.Rzk.Syntax.Abs.Constructor
+pConstructor = fmap snd . pConstructor_internal
+
+pListConstructor :: [Token] -> Err [Language.Rzk.Syntax.Abs.Constructor]
+pListConstructor = fmap snd . pListConstructor_internal
+
+pConstructorType :: [Token] -> Err Language.Rzk.Syntax.Abs.ConstructorType
+pConstructorType = fmap snd . pConstructorType_internal
+
+pDataElim :: [Token] -> Err Language.Rzk.Syntax.Abs.DataElim
+pDataElim = fmap snd . pDataElim_internal
+
+pListDataElim :: [Token] -> Err [Language.Rzk.Syntax.Abs.DataElim]
+pListDataElim = fmap snd . pListDataElim_internal
+
+pMatchBranch :: [Token] -> Err Language.Rzk.Syntax.Abs.MatchBranch
+pMatchBranch = fmap snd . pMatchBranch_internal
+
+pListMatchBranch :: [Token] -> Err [Language.Rzk.Syntax.Abs.MatchBranch]
+pListMatchBranch = fmap snd . pListMatchBranch_internal
 
 pPattern :: [Token] -> Err Language.Rzk.Syntax.Abs.Pattern
 pPattern = fmap snd . pPattern_internal
diff --git a/src/Language/Rzk/Syntax/Print.hs b/src/Language/Rzk/Syntax/Print.hs
--- a/src/Language/Rzk/Syntax/Print.hs
+++ b/src/Language/Rzk/Syntax/Print.hs
@@ -177,6 +177,7 @@
     Language.Rzk.Syntax.Abs.CommandSection _ sectionname -> prPrec i 0 (concatD [doc (showString "#section"), prt 0 sectionname])
     Language.Rzk.Syntax.Abs.CommandSectionEnd _ sectionname -> prPrec i 0 (concatD [doc (showString "#end"), prt 0 sectionname])
     Language.Rzk.Syntax.Abs.CommandDefine _ varident declusedvars params term1 term2 -> prPrec i 0 (concatD [doc (showString "#define"), prt 0 varident, prt 0 declusedvars, prt 0 params, doc (showString ":"), prt 0 term1, doc (showString ":="), prt 0 term2])
+    Language.Rzk.Syntax.Abs.CommandData _ varident declusedvars params datasort databody -> prPrec i 0 (concatD [doc (showString "#data"), prt 0 varident, prt 0 declusedvars, prt 0 params, prt 0 datasort, prt 0 databody])
 
 instance Print [Language.Rzk.Syntax.Abs.Command' a] where
   prt _ [] = concatD []
@@ -191,6 +192,47 @@
     Language.Rzk.Syntax.Abs.NoSectionName _ -> prPrec i 0 (concatD [])
     Language.Rzk.Syntax.Abs.SomeSectionName _ varident -> prPrec i 0 (concatD [prt 0 varident])
 
+instance Print (Language.Rzk.Syntax.Abs.DataSort' a) where
+  prt i = \case
+    Language.Rzk.Syntax.Abs.SomeDataSort _ term -> prPrec i 0 (concatD [doc (showString ":"), prt 0 term])
+    Language.Rzk.Syntax.Abs.NoDataSort _ -> prPrec i 0 (concatD [])
+
+instance Print (Language.Rzk.Syntax.Abs.DataBody' a) where
+  prt i = \case
+    Language.Rzk.Syntax.Abs.SomeDataBody _ constructors dataelims -> prPrec i 0 (concatD [doc (showString ":="), prt 0 constructors, prt 0 dataelims])
+    Language.Rzk.Syntax.Abs.NoDataBody _ -> prPrec i 0 (concatD [])
+
+instance Print (Language.Rzk.Syntax.Abs.Constructor' a) where
+  prt i = \case
+    Language.Rzk.Syntax.Abs.Constructor _ varident params constructortype -> prPrec i 0 (concatD [prt 0 varident, prt 0 params, prt 0 constructortype])
+
+instance Print [Language.Rzk.Syntax.Abs.Constructor' a] where
+  prt _ [] = concatD []
+  prt _ [x] = concatD [prt 0 x]
+  prt _ (x:xs) = concatD [prt 0 x, doc (showString "|"), prt 0 xs]
+
+instance Print (Language.Rzk.Syntax.Abs.ConstructorType' a) where
+  prt i = \case
+    Language.Rzk.Syntax.Abs.SomeConstructorType _ term -> prPrec i 0 (concatD [doc (showString ":"), prt 0 term])
+    Language.Rzk.Syntax.Abs.NoConstructorType _ -> prPrec i 0 (concatD [])
+
+instance Print (Language.Rzk.Syntax.Abs.DataElim' a) where
+  prt i = \case
+    Language.Rzk.Syntax.Abs.DataElim _ varident term -> prPrec i 0 (concatD [doc (showString "eliminator"), prt 0 varident, doc (showString ":"), prt 0 term])
+
+instance Print [Language.Rzk.Syntax.Abs.DataElim' a] where
+  prt _ [] = concatD []
+  prt _ (x:xs) = concatD [prt 0 x, prt 0 xs]
+
+instance Print (Language.Rzk.Syntax.Abs.MatchBranch' a) where
+  prt i = \case
+    Language.Rzk.Syntax.Abs.MatchBranch _ varident patterns term -> prPrec i 0 (concatD [prt 0 varident, prt 0 patterns, doc (showString "\8658"), prt 0 term])
+
+instance Print [Language.Rzk.Syntax.Abs.MatchBranch' a] where
+  prt _ [] = concatD []
+  prt _ [x] = concatD [prt 0 x]
+  prt _ (x:xs) = concatD [prt 0 x, doc (showString "|"), prt 0 xs]
+
 instance Print (Language.Rzk.Syntax.Abs.Pattern' a) where
   prt i = \case
     Language.Rzk.Syntax.Abs.PatternUnit _ -> prPrec i 0 (concatD [doc (showString "unit")])
@@ -210,7 +252,6 @@
     Language.Rzk.Syntax.Abs.ParamPattern _ pattern_ -> prPrec i 0 (concatD [prt 0 pattern_])
     Language.Rzk.Syntax.Abs.ParamPatternType _ patterns term -> prPrec i 0 (concatD [doc (showString "("), prt 0 patterns, doc (showString ":"), prt 0 term, doc (showString ")")])
     Language.Rzk.Syntax.Abs.ParamPatternShape _ patterns term1 term2 -> prPrec i 0 (concatD [doc (showString "("), prt 0 patterns, doc (showString ":"), prt 0 term1, doc (showString "|"), prt 0 term2, doc (showString ")")])
-    Language.Rzk.Syntax.Abs.ParamPatternShapeDeprecated _ pattern_ term1 term2 -> prPrec i 0 (concatD [doc (showString "{"), prt 0 pattern_, doc (showString ":"), prt 0 term1, doc (showString "|"), prt 0 term2, doc (showString "}")])
     Language.Rzk.Syntax.Abs.ParamPatternModalType _ patterns modalcolon term -> prPrec i 0 (concatD [doc (showString "("), prt 0 patterns, prt 0 modalcolon, prt 0 term, doc (showString ")")])
     Language.Rzk.Syntax.Abs.ParamPatternModalShape _ patterns modalcolon term1 term2 -> prPrec i 0 (concatD [doc (showString "("), prt 0 patterns, prt 0 modalcolon, prt 0 term1, doc (showString "|"), prt 0 term2, doc (showString ")")])
 
@@ -229,8 +270,6 @@
     Language.Rzk.Syntax.Abs.ParamType _ term -> prPrec i 0 (concatD [prt 6 term])
     Language.Rzk.Syntax.Abs.ParamTermType _ term1 term2 -> prPrec i 0 (concatD [doc (showString "("), prt 0 term1, doc (showString ":"), prt 0 term2, doc (showString ")")])
     Language.Rzk.Syntax.Abs.ParamTermShape _ term1 term2 term3 -> prPrec i 0 (concatD [doc (showString "("), prt 0 term1, doc (showString ":"), prt 0 term2, doc (showString "|"), prt 0 term3, doc (showString ")")])
-    Language.Rzk.Syntax.Abs.ParamTermTypeDeprecated _ pattern_ term -> prPrec i 0 (concatD [doc (showString "{"), prt 0 pattern_, doc (showString ":"), prt 0 term, doc (showString "}")])
-    Language.Rzk.Syntax.Abs.ParamVarShapeDeprecated _ pattern_ term1 term2 -> prPrec i 0 (concatD [doc (showString "{"), doc (showString "("), prt 0 pattern_, doc (showString ":"), prt 0 term1, doc (showString ")"), doc (showString "|"), prt 0 term2, doc (showString "}")])
     Language.Rzk.Syntax.Abs.ParamTermModalType _ term1 modalcolon term2 -> prPrec i 0 (concatD [doc (showString "("), prt 0 term1, prt 0 modalcolon, prt 0 term2, doc (showString ")")])
     Language.Rzk.Syntax.Abs.ParamTermModalShape _ term1 modalcolon term2 term3 -> prPrec i 0 (concatD [doc (showString "("), prt 0 term1, prt 0 modalcolon, prt 0 term2, doc (showString "|"), prt 0 term3, doc (showString ")")])
 
@@ -293,6 +332,8 @@
     Language.Rzk.Syntax.Abs.CubeI_0 _ -> prPrec i 7 (concatD [doc (showString "0\7522")])
     Language.Rzk.Syntax.Abs.CubeI_1 _ -> prPrec i 7 (concatD [doc (showString "1\7522")])
     Language.Rzk.Syntax.Abs.CubeProduct _ term1 term2 -> prPrec i 5 (concatD [prt 5 term1, doc (showString "\215"), prt 6 term2])
+    Language.Rzk.Syntax.Abs.CubeSup _ term1 term2 -> prPrec i 5 (concatD [prt 5 term1, doc (showString "\8852"), prt 6 term2])
+    Language.Rzk.Syntax.Abs.CubeInf _ term1 term2 -> prPrec i 5 (concatD [prt 5 term1, doc (showString "\8851"), prt 6 term2])
     Language.Rzk.Syntax.Abs.TopeTop _ -> prPrec i 7 (concatD [doc (showString "\8868")])
     Language.Rzk.Syntax.Abs.TopeBottom _ -> prPrec i 7 (concatD [doc (showString "\8869")])
     Language.Rzk.Syntax.Abs.TopeEQ _ term1 term2 -> prPrec i 4 (concatD [prt 5 term1, doc (showString "\8801"), prt 5 term2])
@@ -305,7 +346,6 @@
     Language.Rzk.Syntax.Abs.CubeUnflip _ term -> prPrec i 6 (concatD [doc (showString "unflip\7506\7510"), prt 7 term])
     Language.Rzk.Syntax.Abs.RecBottom _ -> prPrec i 7 (concatD [doc (showString "recBOT")])
     Language.Rzk.Syntax.Abs.RecOr _ restrictions -> prPrec i 7 (concatD [doc (showString "recOR"), doc (showString "("), prt 0 restrictions, doc (showString ")")])
-    Language.Rzk.Syntax.Abs.RecOrDeprecated _ term1 term2 term3 term4 -> prPrec i 7 (concatD [doc (showString "recOR"), doc (showString "("), prt 0 term1, doc (showString ","), prt 0 term2, doc (showString ","), prt 0 term3, doc (showString ","), prt 0 term4, doc (showString ")")])
     Language.Rzk.Syntax.Abs.TypeFun _ paramdecl term -> prPrec i 1 (concatD [prt 0 paramdecl, doc (showString "\8594"), prt 1 term])
     Language.Rzk.Syntax.Abs.TypeSigma _ pattern_ term1 term2 -> prPrec i 1 (concatD [doc (showString "\931"), doc (showString "("), prt 0 pattern_, doc (showString ":"), prt 0 term1, doc (showString ")"), doc (showString ","), prt 1 term2])
     Language.Rzk.Syntax.Abs.TypeSigmaModal _ pattern_ modalcolon term1 term2 -> prPrec i 1 (concatD [doc (showString "\931"), doc (showString "("), prt 0 pattern_, prt 0 modalcolon, prt 0 term1, doc (showString ")"), doc (showString ","), prt 1 term2])
@@ -314,7 +354,6 @@
     Language.Rzk.Syntax.Abs.TypeId _ term1 term2 term3 -> prPrec i 1 (concatD [prt 2 term1, doc (showString "=_{"), prt 0 term2, doc (showString "}"), prt 2 term3])
     Language.Rzk.Syntax.Abs.TypeIdSimple _ term1 term2 -> prPrec i 1 (concatD [prt 2 term1, doc (showString "="), prt 2 term2])
     Language.Rzk.Syntax.Abs.TypeRestricted _ term restrictions -> prPrec i 6 (concatD [prt 6 term, doc (showString "["), prt 0 restrictions, doc (showString "]")])
-    Language.Rzk.Syntax.Abs.TypeExtensionDeprecated _ paramdecl term -> prPrec i 7 (concatD [doc (showString "<"), prt 0 paramdecl, doc (showString "\8594"), prt 0 term, doc (showString ">")])
     Language.Rzk.Syntax.Abs.Let _ bind term1 term2 -> prPrec i 1 (concatD [doc (showString "let"), prt 0 bind, doc (showString ":="), prt 0 term1, doc (showString "in"), prt 0 term2])
     Language.Rzk.Syntax.Abs.App _ term1 term2 -> prPrec i 6 (concatD [prt 6 term1, prt 7 term2])
     Language.Rzk.Syntax.Abs.Lambda _ params term -> prPrec i 1 (concatD [doc (showString "\\"), prt 0 params, doc (showString "\8594"), prt 1 term])
@@ -331,6 +370,8 @@
     Language.Rzk.Syntax.Abs.ReflTerm _ term -> prPrec i 7 (concatD [doc (showString "refl_{"), prt 0 term, doc (showString "}")])
     Language.Rzk.Syntax.Abs.ReflTermType _ term1 term2 -> prPrec i 7 (concatD [doc (showString "refl_{"), prt 0 term1, doc (showString ":"), prt 0 term2, doc (showString "}")])
     Language.Rzk.Syntax.Abs.IdJ _ term1 term2 term3 term4 term5 term6 -> prPrec i 7 (concatD [doc (showString "idJ"), doc (showString "("), prt 0 term1, doc (showString ","), prt 0 term2, doc (showString ","), prt 0 term3, doc (showString ","), prt 0 term4, doc (showString ","), prt 0 term5, doc (showString ","), prt 0 term6, doc (showString ")")])
+    Language.Rzk.Syntax.Abs.Match _ term matchbranchs -> prPrec i 7 (concatD [doc (showString "match"), prt 7 term, doc (showString "("), prt 0 matchbranchs, doc (showString ")")])
+    Language.Rzk.Syntax.Abs.MatchInto _ term1 term2 matchbranchs -> prPrec i 7 (concatD [doc (showString "match"), prt 7 term1, doc (showString "into"), prt 7 term2, doc (showString "("), prt 0 matchbranchs, doc (showString ")")])
     Language.Rzk.Syntax.Abs.Hole _ holeident -> prPrec i 7 (concatD [prt 0 holeident])
     Language.Rzk.Syntax.Abs.Var _ varident -> prPrec i 7 (concatD [prt 0 varident])
     Language.Rzk.Syntax.Abs.TypeAsc _ term1 term2 -> prPrec i 0 (concatD [prt 2 term1, doc (showString "as"), prt 1 term2])
@@ -350,7 +391,6 @@
     Language.Rzk.Syntax.Abs.ASCII_TypeSigma _ pattern_ term1 term2 -> prPrec i 1 (concatD [doc (showString "Sigma"), doc (showString "("), prt 0 pattern_, doc (showString ":"), prt 0 term1, doc (showString ")"), doc (showString ","), prt 1 term2])
     Language.Rzk.Syntax.Abs.ASCII_TypeSigmaTuple _ sigmaparam sigmaparams term -> prPrec i 1 (concatD [doc (showString "Sigma"), doc (showString "("), prt 0 sigmaparam, doc (showString ","), prt 0 sigmaparams, doc (showString ")"), doc (showString ","), prt 1 term])
     Language.Rzk.Syntax.Abs.ASCII_Lambda _ params term -> prPrec i 1 (concatD [doc (showString "\\"), prt 0 params, doc (showString "->"), prt 1 term])
-    Language.Rzk.Syntax.Abs.ASCII_TypeExtensionDeprecated _ paramdecl term -> prPrec i 7 (concatD [doc (showString "<"), prt 0 paramdecl, doc (showString "->"), prt 0 term, doc (showString ">")])
     Language.Rzk.Syntax.Abs.ASCII_First _ term -> prPrec i 6 (concatD [doc (showString "first"), prt 7 term])
     Language.Rzk.Syntax.Abs.ASCII_Second _ term -> prPrec i 6 (concatD [doc (showString "second"), prt 7 term])
 
diff --git a/src/Language/Rzk/VSCode/Handlers.hs b/src/Language/Rzk/VSCode/Handlers.hs
--- a/src/Language/Rzk/VSCode/Handlers.hs
+++ b/src/Language/Rzk/VSCode/Handlers.hs
@@ -19,6 +19,7 @@
   formatSignature,
   formatDocument,
   provideSemanticTokens,
+  useSiteTokens,
   handleFilesChanged,
 ) where
 
@@ -44,6 +45,7 @@
 import           Language.LSP.Protocol.Lens    (HasContext (context),
                                                 HasDetail (detail),
                                                 HasDocumentation (documentation),
+                                                HasKind (kind),
                                                 HasLabel (label),
                                                 HasParams (params),
                                                 HasPosition (position),
@@ -68,6 +70,7 @@
                                                 parseModuleSafe, printTree)
 import qualified Language.Rzk.VSCode.Config    as RzkConfig
 import           Language.Rzk.VSCode.Env
+import qualified Language.Rzk.VSCode.PositionEncoding as Enc
 import qualified Language.Rzk.VSCode.ReferenceIndex as RefInd
 import           Language.Rzk.VSCode.Logging
 import           Language.Rzk.VSCode.Tokenize  (mergeTokens, tokenizeModule,
@@ -127,21 +130,51 @@
 toLspUri :: RefInd.Uri -> LSP.Uri
 toLspUri (RefInd.Uri { uriPath = p }) = filePathToUri p
 
-fromLspPosition :: LSP.Position -> RefInd.Position
-fromLspPosition (LSP.Position l c) =
-  RefInd.Position (fromIntegral l) (fromIntegral c)
+-- | The astral-line map of a file, for position conversion at the LSP
+-- boundary (see "Language.Rzk.VSCode.PositionEncoding"): from the editor
+-- buffer when the file is open, from disk otherwise. A file that cannot be
+-- read converts as all-BMP, i.e. the conversion is the identity.
+astralLinesOfFile :: FilePath -> LSP Enc.AstralLines
+astralLinesOfFile path = do
+  mdoc <- getVirtualFile (filePathToNormalizedUri path)
+  case virtualFileText <$> mdoc of
+    Just text -> return (Enc.astralLines (T.filter (/= '\r') text))
+    Nothing -> liftIO $ do
+      result <- try @SomeException (readFile path)
+      return $ case result of
+        Left _    -> Enc.astralLines ""
+        Right src -> Enc.astralLines (T.filter (/= '\r') (T.pack src))
 
-toLspPosition :: RefInd.Position -> LSP.Position
-toLspPosition (RefInd.Position l c) =
-  LSP.Position (fromIntegral l) (fromIntegral c)
+fromLspPosition :: Enc.AstralLines -> LSP.Position -> RefInd.Position
+fromLspPosition als (LSP.Position l c) =
+  RefInd.Position (fromIntegral l)
+    (Enc.colFromUtf16 als (fromIntegral l) (fromIntegral c))
 
-toLspRange :: RefInd.Range -> Range
-toLspRange (RefInd.Range s e) = Range (toLspPosition s) (toLspPosition e)
+toLspPosition :: Enc.AstralLines -> RefInd.Position -> LSP.Position
+toLspPosition als (RefInd.Position l c) =
+  LSP.Position (fromIntegral l)
+    (fromIntegral (Enc.colToUtf16 als l c))
 
-toLspLocation :: RefInd.Location -> LSP.Location
-toLspLocation (RefInd.Location u r) =
-  LSP.Location (toLspUri u) (toLspRange r)
+toLspRange :: Enc.AstralLines -> RefInd.Range -> Range
+toLspRange als (RefInd.Range s e) =
+  Range (toLspPosition als s) (toLspPosition als e)
 
+-- | Convert locations to LSP, fetching the astral-line map once per file.
+toLspLocations :: [RefInd.Location] -> LSP [LSP.Location]
+toLspLocations locations = do
+  let files = nub (map RefInd.locationPath locations)
+  alss <- Map.fromList <$> forM files (\f -> (,) f <$> astralLinesOfFile f)
+  return
+    [ LSP.Location (toLspUri u) (toLspRange als r)
+    | RefInd.Location u r <- locations
+    , Just als <- [Map.lookup (RefInd.uriPath u) alss]
+    ]
+
+toLspLocation :: RefInd.Location -> LSP LSP.Location
+toLspLocation (RefInd.Location u r) = do
+  als <- astralLinesOfFile (RefInd.uriPath u)
+  return (LSP.Location (toLspUri u) (toLspRange als r))
+
 typecheckFromConfigFile :: LSP ()
 typecheckFromConfigFile = do
   logInfo "Looking for rzk.yaml"
@@ -173,7 +206,8 @@
 
           -- Report parse errors to the client
           forM_ parseErrors $ \(path, err) -> do
-            publishDiagnostics maxDiagnosticCount (filePathToNormalizedUri path) Nothing (partitionBySource [diagnosticOfParseError err])
+            als <- astralLinesOfFile path
+            publishDiagnostics maxDiagnosticCount (filePathToNormalizedUri path) Nothing (partitionBySource [diagnosticOfParseError als err])
 
           -- Files after the first parse error are not typechecked at all
           -- ('collectErrors' stops collecting modules there); mark the ones
@@ -226,7 +260,7 @@
               publishBlockedDiagnostics rootPath path (map fst rest)
             Right (Left err) -> do
               logError ("An impossible error happened! Please report a bug:\n" <> T.pack (ppTypeErrorInScopedContext BottomUp err))
-              publishModuleDiagnostics path [err] []    -- sort of impossible
+              publishModuleDiagnostics path [err] [] []    -- sort of impossible
               publishBlockedDiagnostics rootPath path (map fst rest)
             Right (Right (checkedNow, holeInfos)) -> do
               let errors = checkedErrors checkedNow
@@ -237,7 +271,7 @@
                     [(path, RzkCachedModule checkedNow decls
                         (filter ((== path) . filepathOfTypeError) errors))]
               cacheTypecheckedModules checked'
-              publishModuleDiagnostics path errors holeInfos
+              publishModuleDiagnostics path errors (checkedWarnings checkedNow) holeInfos
               -- Stop at the first module with errors, like the batch checker
               -- ('typecheckModulesWithLocation'') does: later modules depend
               -- on this one and would report cascading errors. Mark the
@@ -257,15 +291,19 @@
     -- per-source map over the old one, and @partitionBySource []@ has no
     -- "rzk" key, so the old diagnostics would survive and be re-sent. A
     -- max count of 0 forces an empty publish to the client, clearing it.
-    publishModuleDiagnostics :: FilePath -> [TypeErrorInScopedContext] -> [HoleInfo] -> LSP ()
-    publishModuleDiagnostics path typeErrors holeInfos = do
+    publishModuleDiagnostics :: FilePath -> [TypeErrorInScopedContext] -> [CheckWarning] -> [HoleInfo] -> LSP ()
+    publishModuleDiagnostics path typeErrors warnings holeInfos = do
       let errDiagnostics  = [ (filepathOfTypeError err, [diagnosticOfTypeError err])
                             | err <- typeErrors ]
+          warnDiagnostics = [ (path', [diagnosticOfWarning warning])
+                            | warning <- warnings
+                            , let path' = fromMaybe path
+                                    (warningLocation warning >>= locationFilePath) ]
           holeDiagnostics = [ (path', [diagnosticOfHole hole])
                             | hole <- holeInfos
                             , Just path' <- [holeLocation hole >>= locationFilePath] ]
           diagnosticsByFile = Map.insertWith (flip (<>)) path [] $
-            Map.fromListWith (flip (<>)) (errDiagnostics <> holeDiagnostics)
+            Map.fromListWith (flip (<>)) (errDiagnostics <> warnDiagnostics <> holeDiagnostics)
       forM_ (Map.toList diagnosticsByFile) $ \(path', diags) ->
         publishDiagnostics (if null diags then 0 else maxDiagnosticCount)
           (filePathToNormalizedUri path') Nothing (partitionBySource diags)
@@ -333,8 +371,11 @@
     diagnosticOfHole :: HoleInfo -> Diagnostic
     diagnosticOfHole = lspDiagnosticOf . Diag.diagnoseHole
 
-    diagnosticOfParseError :: T.Text -> Diagnostic
-    diagnosticOfParseError err = Diagnostic (Range (Position errLine errColumnStart) (Position errLine errColumnEnd))
+    diagnosticOfWarning :: CheckWarning -> Diagnostic
+    diagnosticOfWarning = lspDiagnosticOf . Diag.diagnoseCheckWarning
+
+    diagnosticOfParseError :: Enc.AstralLines -> T.Text -> Diagnostic
+    diagnosticOfParseError als err = Diagnostic (Enc.rangeToUtf16 als (Range (Position errLine errColumnStart) (Position errLine errColumnEnd)))
                       (Just DiagnosticSeverity_Error)
                       (Just $ InR "parse-error")
                       Nothing
@@ -395,9 +436,10 @@
     declsToItems :: FilePath -> (FilePath, [DeclView]) -> [CompletionItem]
     declsToItems root (path, decls) = map (declToItem root path) decls
     declToItem :: FilePath -> FilePath -> DeclView -> CompletionItem
-    declToItem rootDir path (DeclView name type' _ _loc) = def
+    declToItem rootDir path (DeclView name type' _ _loc declKind) = def
 
       & label .~ T.pack (printTree $ getVarIdent name)
+      & kind ?~ completionKindOfDecl declKind
       & detail ?~ T.pack (show type')
       & documentation ?~ InR (MarkupContent MarkupKind_Markdown $ T.pack $
           "---\nDefined" ++
@@ -419,11 +461,11 @@
   | otherwise =
       let newlineCount = T.count (T.singleton '\n') source
           endLine = newlineCount
-          -- Length of last line (after last newline); if no newline, whole text is one line
+          -- Length of the last line (after the last newline; if no newline,
+          -- the whole text is one line), in UTF-16 units as LSP counts them.
           endCharacter
             | T.last source == '\n' = 0
-            | Just i <- T.findIndex (== '\n') (T.reverse source) = fromIntegral i
-            | otherwise = fromIntegral (T.length source)
+            | otherwise = fromIntegral (Enc.utf16Length (T.takeWhileEnd (/= '\n') source))
       in Range (Position 0 0) (Position (fromIntegral endLine) endCharacter)
 
 formatDocument :: Handler LSP 'Method_TextDocumentFormatting
@@ -470,7 +512,16 @@
 provideSemanticTokens :: Handler LSP 'Method_TextDocumentSemanticTokensFull
 provideSemanticTokens req responder = do
   let doc = req ^. params . textDocument . uri . to toNormalizedUri
+      currentFile = fromMaybe "" (uriToFilePath (req ^. params . textDocument . uri))
   mdoc <- getVirtualFile doc
+  -- Use-site classification needs name resolution (an occurrence of a
+  -- constructor is a plain variable to the AST walk): the reference index
+  -- resolves the occurrences, and the typecheck cache knows each
+  -- declaration's kind.
+  referenceIndex <- indexProject currentFile
+  cachedModules <- getCachedTypecheckedModules
+  let declsByFile = [ (path, cachedModuleDecls m) | (path, m) <- cachedModules ]
+      overlay = useSiteTokens declsByFile referenceIndex currentFile
   possibleTokens <- case virtualFileText <$> mdoc of
     Nothing         -> return (Left "Failed to get file content")
     Just sourceCode -> do
@@ -483,7 +534,10 @@
           logWarning ("Failed to parse file for semantic tokens: " <> err)
           return []
         Right rzkModule -> return (tokenizeModule rzkModule)
-      return (Right (mergeTokens astTokens (tokenizeSyntaxSymbols src)))
+      -- On overlapping positions: the AST walk wins (it has the declaration
+      -- modifiers), then the use-site overlay, then the lexer baseline.
+      return (Right (Enc.tokensToUtf16 (Enc.astralLines src)
+        (mergeTokens (mergeTokens astTokens overlay) (tokenizeSyntaxSymbols src))))
   case possibleTokens of
     Left err -> do
       -- Exception occurred when parsing the module
@@ -502,8 +556,11 @@
   let uri' = req ^. params . textDocument . uri
       currentFile = fromMaybe "" (uriToFilePath uri')
   referenceIndex <- indexProject currentFile
-  case RefInd.lookupAt referenceIndex (fromLspUri uri') (fromLspPosition (req ^. params . position)) of
-    Just binding -> res $ Right $ InL $ Definition $ InL (toLspLocation (RefInd.bindingDef binding))
+  als <- astralLinesOfFile currentFile
+  case RefInd.lookupAt referenceIndex (fromLspUri uri') (fromLspPosition als (req ^. params . position)) of
+    Just binding -> do
+      location <- toLspLocation (RefInd.bindingDef binding)
+      res $ Right $ InL $ Definition $ InL location
     Nothing      -> res $ Right $ InR $ InR Null
 
 findReferences :: Handler LSP 'Method_TextDocumentReferences
@@ -512,12 +569,14 @@
       currentFile = fromMaybe "" (uriToFilePath uri')
       includeDeclaration = req ^. params . context . to (\(ReferenceContext incl) -> incl)
   referenceIndex <- indexProject currentFile
-  case RefInd.lookupAt referenceIndex (fromLspUri uri') (fromLspPosition (req ^. params . position)) of
-    Just binding ->
+  als <- astralLinesOfFile currentFile
+  case RefInd.lookupAt referenceIndex (fromLspUri uri') (fromLspPosition als (req ^. params . position)) of
+    Just binding -> do
       let sites
             | includeDeclaration = RefInd.bindingSites binding
             | otherwise          = RefInd.bindingRefs binding
-      in res $ Right $ InL (map toLspLocation sites)
+      locations <- toLspLocations sites
+      res $ Right $ InL locations
     Nothing -> res $ Right $ InL []
 
 indexProject :: FilePath -> LSP RefInd.ReferenceIndex
@@ -591,17 +650,19 @@
 provideHover :: Handler LSP 'Method_TextDocumentHover
 provideHover req res = do
   let uri' = req ^. params . textDocument . uri
-      pos  = fromLspPosition (req ^. params . position)
       currentFile = fromMaybe "" $ uriToFilePath uri'
   referenceIndex <- indexProject currentFile
+  als <- astralLinesOfFile currentFile
+  let pos = fromLspPosition als (req ^. params . position)
   case RefInd.lookupAt referenceIndex (fromLspUri uri') pos of
     Nothing -> res $ Right $ InR Null
     Just binding -> do
       cached <- getCachedTypecheckedModules
       let body = hoverContent binding cached
+      LSP.Location _ defRange <- toLspLocation (RefInd.bindingDef binding)
       res $ Right $ InL $ Hover
         (InL (MarkupContent MarkupKind_Markdown body))
-        (Just (toLspRange (RefInd.locationRange (RefInd.bindingDef binding))))
+        (Just defRange)
   where
     hoverContent binding cached =
       T.pack (file ++ "\n\n```rzk\n" ++ signature ++ "\n```")
@@ -638,46 +699,167 @@
               Nothing  -> case find declWithName decls of
                 Just d  -> formatSignature (T.unpack name) (getRendered (declViewType d))
                 Nothing -> T.unpack name ++ " : ?"
-        declWithName (DeclView v _ _ _) =
+        declWithName (DeclView v _ _ _ _) =
           T.pack (printTree (getVarIdent v)) == name
-        declOnSameLine d@(DeclView _ _ _ mloc) =
+        declOnSameLine d@(DeclView _ _ _ mloc _) =
           declWithName d && (locationLine =<< mloc) == Just (defLine + 1)
 
 -- | The printed name of a declaration and the range of its defining
 -- occurrence, shared by the document and workspace symbol providers.
-declNameRange :: DeclView -> (T.Text, Range)
-declNameRange (DeclView name _ _ _) = (T.pack (printTree ident), range)
+declNameRange :: Enc.AstralLines -> DeclView -> (T.Text, Range)
+declNameRange als (DeclView name _ _ _ _) = (T.pack (printTree ident), range)
   where
     ident = getVarIdent name
     VarIdent pos _ = ident
     RzkPosition _path pos' = pos
     (line, col) = fromMaybe (0, 0) pos'
     len = length (printTree ident)
-    pos0 = Position (fromIntegral (max 0 (line - 1))) (fromIntegral (max 0 (col - 1)))
-    end  = Position (fromIntegral (max 0 (line - 1))) (fromIntegral (max 0 (col - 1) + len))
+    line0 = max 0 (line - 1)
+    col0 = max 0 (col - 1)
+    pos0 = Position (fromIntegral line0) (fromIntegral (Enc.colToUtf16 als line0 col0))
+    end  = Position (fromIntegral line0) (fromIntegral (Enc.colToUtf16 als line0 (col0 + len)))
     range = Range pos0 end
 
 provideSymbols :: Handler LSP 'Method_TextDocumentDocumentSymbol
 provideSymbols req res = do
   let currentFile = fromMaybe "" $ uriToFilePath $ req ^. params . textDocument . uri
   cachedModules <- getCachedTypecheckedModules
+  als <- astralLinesOfFile currentFile
   let decls = maybe [] cachedModuleDecls (lookup currentFile cachedModules)
-  res $ Right $ InR $ InL $ map declToSymbol decls
+  res $ Right $ InR $ InL $ outline als decls
   where
-    declToSymbol :: DeclView -> DocumentSymbol
-    declToSymbol decl@(DeclView _ type' _ _loc) = DocumentSymbol
+    -- A #data contributes one symbol with its constructors as children; the
+    -- generated eliminators stay out of the outline (they are not in the
+    -- source; workspace symbol search still finds them).
+    outline :: Enc.AstralLines -> [DeclView] -> [DocumentSymbol]
+    outline _ [] = []
+    outline als (d : ds) = case declViewKind d of
+      DeclKindData ->
+        let isChildOf c = case declViewKind c of
+              DeclKindDataCon parent -> parent == declViewName d
+              _                      -> False
+            (childDecls, rest) = span isChildOf ds
+        in declToSymbol als (Just (map (declToSymbol als Nothing) childDecls)) d
+             : outline als rest
+      DeclKindDataElim _ -> outline als ds
+      _ -> declToSymbol als Nothing d : outline als ds
+
+    declToSymbol :: Enc.AstralLines -> Maybe [DocumentSymbol] -> DeclView -> DocumentSymbol
+    declToSymbol als mchildren decl@(DeclView _ type' _ _loc declKind) = DocumentSymbol
       { _name           = symbolName
       , _detail         = Just (T.pack (show type'))
-      , _kind           = SymbolKind_Function
+      , _kind           = symbolKindOfDecl declKind
       , _tags           = Nothing
       , _deprecated     = Nothing
       , _range          = range
       , _selectionRange = range
-      , _children       = Nothing
+      , _children       = mchildren
       }
       where
-        (symbolName, range) = declNameRange decl
+        (symbolName, range) = declNameRange als decl
 
+-- | The LSP symbol kind of a declaration, mirroring the semantic token
+-- choices at the declaration site (class for a data type, enum member for a
+-- constructor, function otherwise).
+symbolKindOfDecl :: DeclKind -> SymbolKind
+symbolKindOfDecl = \case
+  DeclKindData       -> SymbolKind_Class
+  DeclKindDataCon _  -> SymbolKind_EnumMember
+  DeclKindDataElim _ -> SymbolKind_Function
+  DeclKindPostulate  -> SymbolKind_Function
+  DeclKindDefine     -> SymbolKind_Function
+
+-- | The completion kind of a declaration, mirroring 'symbolKindOfDecl'.
+completionKindOfDecl :: DeclKind -> CompletionItemKind
+completionKindOfDecl = \case
+  DeclKindData       -> CompletionItemKind_Class
+  DeclKindDataCon _  -> CompletionItemKind_EnumMember
+  DeclKindDataElim _ -> CompletionItemKind_Function
+  DeclKindPostulate  -> CompletionItemKind_Function
+  DeclKindDefine     -> CompletionItemKind_Function
+
+-- | The checker-derived token overlay for identifier /uses/: an occurrence
+-- that resolves to a product of a @#data@ declaration is coloured by its
+-- kind wherever it appears — a constructor as an enum member, the type as a
+-- class, a generated eliminator as a library function — and an occurrence
+-- of a postulate or an assumption is marked abstract (declared, but not
+-- proven), so a proof that leans on an axiom is visible at a glance.
+-- Postulates, top-level assumptions, and in-section assumptions get
+-- distinct type/modifier combinations, in decreasing order of severity.
+-- Occurrences are
+-- matched to declarations by definition site (file and line) /and/ name, so
+-- a local that shadows a constructor stays plain, and plain definitions are
+-- left to the lexer baseline. Positions are code points, like every other
+-- token source; the UTF-16 conversion happens after merging.
+useSiteTokens
+  :: [(FilePath, [DeclView])]  -- ^ the typechecked declarations, per file
+  -> RefInd.ReferenceIndex
+  -> FilePath                  -- ^ the file to produce tokens for
+  -> [SemanticTokenAbsolute]
+useSiteTokens declsByFile refIndex path =
+  [ SemanticTokenAbsolute
+      { _line = fromIntegral l
+      , _startChar = fromIntegral s
+      , _length = fromIntegral (e - s)
+      , _tokenType = tokenType
+      , _tokenModifiers = modifiers
+      }
+  | (binding, l, s, e) <- RefInd.fileOccurrences refIndex path
+  , Just (tokenType, modifiers) <- [classify binding]
+  ]
+  where
+    classify binding
+      -- Assumptions do not survive to the typechecked declarations (the
+      -- section mechanism folds them into their users), so they are
+      -- recognised by their syntactic definition site instead. A
+      -- top-level assumption is a file-wide axiom; one inside a section
+      -- is a hypothesis discharged at its #end, so it keeps the
+      -- parameter token type and only gains the abstract modifier.
+      | Just scope <- RefInd.assumeScopeAt refIndex (RefInd.bindingDef binding) =
+          Just $ case scope of
+            RefInd.AssumeTopLevel ->
+              (SemanticTokenTypes_Function, [SemanticTokenModifiers_Abstract])
+            RefInd.AssumeInSection ->
+              (SemanticTokenTypes_Parameter, [SemanticTokenModifiers_Abstract])
+      | otherwise = do
+      let RefInd.Location (RefInd.Uri defPath) range = RefInd.bindingDef binding
+          defStart = RefInd.rangeStart range
+          key = ( defPath
+                , RefInd.positionLine defStart
+                , RefInd.positionCharacter defStart
+                , RefInd.bindingName binding )
+      declKind <- Map.lookup key kindTable
+      case declKind of
+        DeclKindData       -> Just (SemanticTokenTypes_Class, [])
+        DeclKindDataCon _  -> Just (SemanticTokenTypes_EnumMember, [])
+        DeclKindDataElim _ ->
+          Just (SemanticTokenTypes_Function, [SemanticTokenModifiers_DefaultLibrary])
+        -- The abstract and static modifiers are in the default legend, so
+        -- no custom legend is needed; clients style function.abstract
+        -- distinctly (the VS Code extension maps it to a bright scope).
+        -- The static modifier only distinguishes a postulate (a permanent
+        -- axiom) from a top-level assumption (discharged at module end),
+        -- so a postulate can be styled louder.
+        DeclKindPostulate  ->
+          Just ( SemanticTokenTypes_Function
+               , [SemanticTokenModifiers_Abstract, SemanticTokenModifiers_Static] )
+        DeclKindDefine     -> Nothing
+    -- Keyed by the declared name's own position, which is what the index
+    -- records as the definition site (a constructor's key is where it is
+    -- written, also in a multi-line declaration). The generated eliminators
+    -- share the type name's position — its derived zero-width entries — so
+    -- the name is part of the key.
+    kindTable = Map.fromList
+      [ ((file, line - 1, col - 1, name), declViewKind d)
+      | (_, decls) <- declsByFile
+      , d <- decls
+      , let ident = getVarIdent (declViewName d)
+      , let name = T.pack (printTree ident)
+      , VarIdent (RzkPosition mpath mpos) _ <- [ident]
+      , Just file <- [mpath]
+      , Just (line, col) <- [mpos]
+      ]
+
 -- | Workspace-wide symbol search over every typechecked module in the cache.
 -- The query is matched case-insensitively as an infix of the definition name;
 -- an empty query lists all definitions (clients filter further as the user
@@ -686,20 +868,21 @@
 provideWorkspaceSymbols req res = do
   let symbolQuery = T.toLower (req ^. params . query)
   cachedModules <- getCachedTypecheckedModules
-  let symbols =
-        [ WorkspaceSymbol
-            { _name          = symbolName
-            , _kind          = SymbolKind_Function
-            , _tags          = Nothing
-            , _containerName = Nothing
-            , _location      = InL (Location (filePathToUri path) range)
-            , _data_         = Nothing
-            }
-        | (path, cachedModule) <- cachedModules
-        , decl <- cachedModuleDecls cachedModule
-        , let (symbolName, range) = declNameRange decl
-        , symbolQuery `T.isInfixOf` T.toLower symbolName
-        ]
+  symbols <- fmap concat $ forM cachedModules $ \(path, cachedModule) -> do
+    als <- astralLinesOfFile path
+    return
+      [ WorkspaceSymbol
+          { _name          = symbolName
+          , _kind          = symbolKindOfDecl (declViewKind decl)
+          , _tags          = Nothing
+          , _containerName = Nothing
+          , _location      = InL (Location (filePathToUri path) range)
+          , _data_         = Nothing
+          }
+      | decl <- cachedModuleDecls cachedModule
+      , let (symbolName, range) = declNameRange als decl
+      , symbolQuery `T.isInfixOf` T.toLower symbolName
+      ]
   res $ Right $ InR $ InL symbols
 
 
diff --git a/src/Language/Rzk/VSCode/PositionEncoding.hs b/src/Language/Rzk/VSCode/PositionEncoding.hs
new file mode 100644
--- /dev/null
+++ b/src/Language/Rzk/VSCode/PositionEncoding.hs
@@ -0,0 +1,104 @@
+-- | Conversion between code-point and UTF-16 positions at the LSP boundary.
+--
+-- LSP positions count UTF-16 code units (the default position encoding, and
+-- the only one VS Code supports), while alex positions and everything derived
+-- from them (the surface AST, the reference index, the typechecker) count
+-- Unicode code points. The two agree except on lines containing astral-plane
+-- characters (code points above U+FFFF, such as @𝕀@), each of which takes two
+-- UTF-16 units. Emitting a code-point column for such a line shifts every
+-- position to the right of the character, and a range boundary can land in
+-- the middle of a surrogate pair, which is what shatters the glyph in the
+-- editor (see issue #303).
+--
+-- Everything internal stays in code points; the handlers convert with this
+-- module when crossing the wire, in both directions. 'AstralLines' records
+-- only the lines where the two encodings differ, so for the common all-BMP
+-- document every conversion is an identity after one map lookup.
+module Language.Rzk.VSCode.PositionEncoding (
+  AstralLines,
+  astralLines,
+  utf16Length,
+  colToUtf16,
+  colFromUtf16,
+  positionFromUtf16,
+  rangeToUtf16,
+  tokensToUtf16,
+) where
+
+import qualified Data.IntMap.Strict          as IntMap
+import qualified Data.Text                   as T
+import           Language.LSP.Protocol.Types (Position (Position),
+                                              Range (Range),
+                                              SemanticTokenAbsolute (..))
+
+-- | The lines of a document on which code-point and UTF-16 columns differ,
+-- keyed by 0-based line number.
+newtype AstralLines = AstralLines (IntMap.IntMap T.Text)
+
+astralLines :: T.Text -> AstralLines
+astralLines src = AstralLines $ IntMap.fromDistinctAscList
+  [ (i, line) | (i, line) <- zip [0 ..] (T.lines src), T.any isAstral line ]
+
+isAstral :: Char -> Bool
+isAstral c = c > '\xFFFF'
+
+utf16Width :: Char -> Int
+utf16Width c = if isAstral c then 2 else 1
+
+-- | The length of a text in UTF-16 code units.
+utf16Length :: T.Text -> Int
+utf16Length = T.foldl' (\n c -> n + utf16Width c) 0
+
+-- | Convert a 0-based code-point column on the given 0-based line to UTF-16
+-- units. A column beyond the end of the line keeps its distance past the end
+-- (the diagnostics code uses column 99 to mean "to the end of the line").
+colToUtf16 :: AstralLines -> Int -> Int -> Int
+colToUtf16 (AstralLines ls) line col =
+  case IntMap.lookup line ls of
+    Nothing   -> col
+    Just text -> utf16Length (T.take col text) + max 0 (col - T.length text)
+
+-- | Convert a 0-based UTF-16 column on the given 0-based line to code
+-- points. A column inside a surrogate pair maps to the start of its
+-- character.
+colFromUtf16 :: AstralLines -> Int -> Int -> Int
+colFromUtf16 (AstralLines ls) line col =
+  case IntMap.lookup line ls of
+    Nothing   -> col
+    Just text -> go 0 0 (T.unpack text)
+      where
+        go cp units (c : cs)
+          | units >= col                = cp
+          | units + utf16Width c > col  = cp
+          | otherwise                   = go (cp + 1) (units + utf16Width c) cs
+        go cp units []                  = cp + max 0 (col - units)
+
+-- | Convert an incoming LSP position (UTF-16) to code points.
+positionFromUtf16 :: AstralLines -> Position -> Position
+positionFromUtf16 als (Position l c) =
+  Position l (fromIntegral (colFromUtf16 als (fromIntegral l) (fromIntegral c)))
+
+-- | Convert an outgoing range (code points) to UTF-16.
+rangeToUtf16 :: AstralLines -> Range -> Range
+rangeToUtf16 als (Range s e) = Range (posToUtf16 s) (posToUtf16 e)
+  where
+    posToUtf16 (Position l c) =
+      Position l (fromIntegral (colToUtf16 als (fromIntegral l) (fromIntegral c)))
+
+-- | Convert semantic tokens (code points) to UTF-16. The length is converted
+-- through the token's end column, so a token that itself contains astral
+-- characters (e.g. the @𝕀@ keyword) gets its UTF-16 width.
+tokensToUtf16 :: AstralLines -> [SemanticTokenAbsolute] -> [SemanticTokenAbsolute]
+tokensToUtf16 als@(AstralLines ls) tokens
+  | IntMap.null ls = tokens
+  | otherwise      = map adjust tokens
+  where
+    adjust token = token
+      { _startChar = fromIntegral start'
+      , _length    = fromIntegral (end' - start')
+      }
+      where
+        line   = fromIntegral (_line token)
+        start  = fromIntegral (_startChar token)
+        start' = colToUtf16 als line start
+        end'   = colToUtf16 als line (start + fromIntegral (_length token))
diff --git a/src/Language/Rzk/VSCode/ReferenceIndex.hs b/src/Language/Rzk/VSCode/ReferenceIndex.hs
--- a/src/Language/Rzk/VSCode/ReferenceIndex.hs
+++ b/src/Language/Rzk/VSCode/ReferenceIndex.hs
@@ -13,6 +13,9 @@
   lookupAt,
   bindingSites,
   locationPath,
+  fileOccurrences,
+  AssumeScope (..),
+  assumeScopeAt,
 ) where
 
 import           Control.Applicative      ((<|>))
@@ -64,14 +67,35 @@
   }
   deriving (Eq, Show)
 
-newtype ReferenceIndex = ReferenceIndex
+data ReferenceIndex = ReferenceIndex
   { occurrences :: Map.Map (FilePath, Int) [(Int, Int, Binding)]
     -- ^ Every occurrence (definition or reference), keyed by file and line,
     -- as column spans; identifiers never span lines. This is what makes
     -- 'lookupAt' a map lookup rather than a scan over all bindings.
+  , assumeSites :: Map.Map Location AssumeScope
+    -- ^ The definition sites of @#assume@d names, with their scope.
+    -- Assumptions do not survive to the typechecked declarations (the
+    -- section mechanism folds them into the definitions that use them), so
+    -- the semantic token overlay recognises them here, syntactically. The
+    -- scope is kept because the two kinds warrant different styling: a
+    -- top-level assumption is a file-wide axiom (such as function
+    -- extensionality), while one inside a section is a hypothesis the
+    -- section abstracts over at its @#end@.
   }
   deriving (Show)
 
+-- | Where a name was @#assume@d.
+data AssumeScope
+  = AssumeTopLevel   -- ^ outside any section: a file-wide axiom
+  | AssumeInSection  -- ^ inside a section: a hypothesis, discharged at @#end@
+  deriving (Eq, Show)
+
+-- | The assume-scope of a definition site, if it is one of an @#assume@d
+-- name. A local that shadows an assumption resolves to its own binder,
+-- not to a site recorded here.
+assumeScopeAt :: ReferenceIndex -> Location -> Maybe AssumeScope
+assumeScopeAt index loc = Map.lookup loc (assumeSites index)
+
 -- | One resolved occurrence: name, definition site, occurrence site, and
 -- (for the self-link of a binder) its printed type annotation.
 data Link = Link T.Text Location Location (Maybe T.Text)
@@ -103,20 +127,37 @@
     Nothing    -> Nothing
     Just spans -> listToMaybe [ b | (s, e, b) <- spans, s <= c, c < e ]
 
+-- | Every occurrence recorded for a file, with the binding it resolves to:
+-- 0-based line and column span. Zero-width spans (the derived def entries of
+-- generated eliminators) are skipped; they occupy no characters.
+fileOccurrences :: ReferenceIndex -> FilePath -> [(Binding, Int, Int, Int)]
+fileOccurrences index path =
+  [ (b, l, s, e)
+  | ((p, l), spans) <- Map.toList (occurrences index)
+  , p == path
+  , (s, e, b) <- spans
+  , e > s
+  ]
+
 indexModules :: [(FilePath, Rzk.Module)] -> ReferenceIndex
 indexModules modules = group $
   concat [ goCommand file env0 c | (file, m) <- modules, c <- moduleCommands m ]
   where
     -- On duplicate names, the first definition wins (as scope lookup would).
     env0 = Map.fromListWith (\_new old -> old)
-      [ (varText v, loc)
-      | (file, m) <- modules, v <- globalNames m, Just loc <- [identLoc file v] ]
+      (concat [ globalEntries file m | (file, m) <- modules ])
     group links = ReferenceIndex
       { occurrences = Map.fromListWith (++)
           [ ((path, l), [(s, e, b)])
           | b <- bs
           , Location (Uri path) (Range (Position l s) (Position _ e)) <- bindingSites b
           ]
+      , assumeSites = Map.fromList
+          [ (loc, scope)
+          | (file, m) <- modules
+          , (v, scope) <- assumesWithScope (moduleCommands m)
+          , Just loc <- [identLoc file v]
+          ]
       }
       where
         -- Binders produce a self-link (definition site linked to itself) so
@@ -136,15 +177,50 @@
 moduleCommands :: Rzk.Module -> [Rzk.Command]
 moduleCommands (Rzk.Module _ _ cmds) = cmds
 
-globalNames :: Rzk.Module -> [Rzk.VarIdent]
-globalNames = concatMap cmd . moduleCommands
+-- | The assumed names of a module with their scope, walking the flat
+-- command list with a section-depth counter.
+assumesWithScope :: [Rzk.Command] -> [(Rzk.VarIdent, AssumeScope)]
+assumesWithScope = go (0 :: Int)
   where
+    go _ [] = []
+    go depth (c : cs) = case c of
+      Rzk.CommandSection _ _     -> go (depth + 1) cs
+      Rzk.CommandSectionEnd _ _  -> go (max 0 (depth - 1)) cs
+      Rzk.CommandAssume _ vars _ ->
+        let scope = if depth == 0 then AssumeTopLevel else AssumeInSection
+        in [ (v, scope) | v <- vars ] ++ go depth cs
+      _                          -> go depth cs
+
+-- | The top-level names a module contributes, with their definition sites.
+-- A @#data@ contributes its type name and constructors, plus the /derived/
+-- eliminator names @ind-D@ and @rec-D@: they have no source declaration, so
+-- they point at the @#data@ name with a zero-width range — resolvable (and
+-- jumped to) from their uses, but never occluding the name they sit on.
+globalEntries :: FilePath -> Rzk.Module -> [(T.Text, Location)]
+globalEntries file = concatMap cmd . moduleCommands
+  where
+    plain v = [ (varText v, loc) | Just loc <- [identLoc file v] ]
+    derived prefix v =
+      [ (prefix <> varText v, zeroWidth loc) | Just loc <- [identLoc file v] ]
+    zeroWidth (Location u (Range s _)) = Location u (Range s s)
     cmd = \case
-      Rzk.CommandDefine _ name _ _ _ _  -> [name]
-      Rzk.CommandPostulate _ name _ _ _ -> [name]
-      Rzk.CommandAssume _ vars _        -> vars
+      Rzk.CommandDefine _ name _ _ _ _  -> plain name
+      Rzk.CommandPostulate _ name _ _ _ -> plain name
+      Rzk.CommandAssume _ vars _        -> concatMap plain vars
+      Rzk.CommandData _ name _ _ _ body -> concat
+        [ plain name
+        , derived "ind-" name
+        , derived "rec-" name
+        , concatMap plain (constructorNames body)
+        ]
       _                                 -> []
 
+constructorNames :: Rzk.DataBody -> [Rzk.VarIdent]
+constructorNames = \case
+  Rzk.NoDataBody _ -> []
+  Rzk.SomeDataBody _ cons _elims ->
+    [ cname | Rzk.Constructor _ cname _ _ <- cons ]
+
 use :: FilePath -> Env -> Rzk.VarIdent -> [Link]
 use file env v = case (Map.lookup (varText v) env, identLoc file v) of
   (Just defLoc, Just occLoc) -> [Link (varText v) defLoc occLoc Nothing]
@@ -282,6 +358,29 @@
     [ Link (varText v) loc loc (Just (printAnn (AnnType ty)))
     | v <- vars, Just loc <- [identLoc file v] ]
       ++ goTerm file env ty
+  -- A #data declares the type, its constructors, and (implicitly) the
+  -- generated eliminators; the type name is in scope in the sort and in
+  -- the constructor types (for return types, and for recursion later).
+  Rzk.CommandData _ name _ ps sort body ->
+    let (env', occs) = goParams file env ps
+        envD = case identLoc file name of
+          Just loc -> Map.insert (varText name) loc env'
+          Nothing  -> env'
+        goSort = case sort of
+          Rzk.SomeDataSort _ ty -> goTerm file envD ty
+          Rzk.NoDataSort _      -> []
+        goBody = case body of
+          Rzk.SomeDataBody _ cons elims -> concat
+            [ concatMap goCon cons
+            , concatMap (\(Rzk.DataElim _ _elim ty) -> goTerm file envD ty) elims
+            ]
+          Rzk.NoDataBody _ -> []
+        goCon (Rzk.Constructor _ cname cps cty) =
+          let (env'', coccs) = goParams file envD cps
+          in def cname ++ coccs ++ case cty of
+               Rzk.SomeConstructorType _ ty -> goTerm file env'' ty
+               Rzk.NoConstructorType _      -> []
+    in def name ++ occs ++ goSort ++ goBody
   Rzk.CommandCheck _ a b       -> goTerm file env a ++ goTerm file env b
   Rzk.CommandCompute _ a       -> goTerm file env a
   Rzk.CommandComputeWHNF _ a   -> goTerm file env a
@@ -309,10 +408,10 @@
   Rzk.ASCII_TypeSigmaTuple _ sp sps ret     -> sigmaTupleScope file env (sp : sps) ret
   Rzk.TypeFun _ pd ret                      -> paramDeclScope file env pd ret
   Rzk.ASCII_TypeFun _ pd ret                -> paramDeclScope file env pd ret
-  Rzk.TypeExtensionDeprecated _ pd ty       -> paramDeclScope file env pd ty
-  Rzk.ASCII_TypeExtensionDeprecated _ pd ty -> paramDeclScope file env pd ty
 
   Rzk.CubeProduct _ a b         -> goTerm file env a ++ goTerm file env b
+  Rzk.CubeSup _ a b             -> goTerm file env a ++ goTerm file env b
+  Rzk.CubeInf _ a b             -> goTerm file env a ++ goTerm file env b
   Rzk.TopeEQ _ a b              -> goTerm file env a ++ goTerm file env b
   Rzk.TopeLEQ _ a b             -> goTerm file env a ++ goTerm file env b
   Rzk.TopeAnd _ a b             -> goTerm file env a ++ goTerm file env b
@@ -326,7 +425,6 @@
   Rzk.CubeFlip _ a              -> goTerm file env a
   Rzk.CubeUnflip _ a            -> goTerm file env a
   Rzk.RecOr _ rs                -> concatMap (restriction file env) rs
-  Rzk.RecOrDeprecated _ a b c d -> concatMap (goTerm file env) [a, b, c, d]
   Rzk.TypeId _ a b c            -> concatMap (goTerm file env) [a, b, c]
   Rzk.TypeIdSimple _ a b        -> goTerm file env a ++ goTerm file env b
   Rzk.TypeRestricted _ a rs     -> goTerm file env a ++ concatMap (restriction file env) rs
@@ -343,6 +441,9 @@
   Rzk.ReflTerm _ a              -> goTerm file env a
   Rzk.ReflTermType _ a b        -> goTerm file env a ++ goTerm file env b
   Rzk.IdJ _ a b c d e f         -> concatMap (goTerm file env) [a, b, c, d, e, f]
+  Rzk.Match _ scrut bs          -> goTerm file env scrut ++ concatMap (matchBranchScope file env) bs
+  Rzk.MatchInto _ scrut motive bs ->
+    goTerm file env scrut ++ goTerm file env motive ++ concatMap (matchBranchScope file env) bs
   Rzk.TypeAsc _ a b             -> goTerm file env a ++ goTerm file env b
 
   Rzk.Universe{}           -> []
@@ -398,6 +499,17 @@
   Rzk.Restriction _ a b       -> goTerm file env a ++ goTerm file env b
   Rzk.ASCII_Restriction _ a b -> goTerm file env a ++ goTerm file env b
 
+-- | A match branch: the constructor name is a use (linked to the constructor's
+-- declaration), and the binder patterns scope over the branch body.
+matchBranchScope :: FilePath -> Env -> Rzk.MatchBranch -> [Link]
+matchBranchScope file env (Rzk.MatchBranch _ con pats body) =
+  use file env con ++ goPats env pats
+  where
+    goPats env' []       = goTerm file env' body
+    goPats env' (p : ps) =
+      let (env'', occs) = bindPat file env' Nothing p
+       in occs ++ goPats env'' ps
+
 goBind :: FilePath -> Env -> Rzk.Bind -> (Env, [Link])
 goBind file env = \case
   Rzk.BindPattern _ pat -> bindPat file env Nothing pat
@@ -420,9 +532,6 @@
   Rzk.ParamPatternShape _ pats cube tope ->
     let (env', occs) = bindVars file env (concatMap (annotatedPatternVars (shapeAnn cube tope)) pats)
     in (env', goTerm file env cube ++ occs ++ goTerm file env' tope)
-  Rzk.ParamPatternShapeDeprecated _ pat cube tope ->
-    let (env', occs) = bindPat file env (shapeAnn cube tope) pat
-    in (env', goTerm file env cube ++ occs ++ goTerm file env' tope)
   Rzk.ParamPatternModalType _ pats _ ty ->
     let (env', occs) = bindVars file env (concatMap (annotatedPatternVars (typeAnn ty)) pats)
     in (env', goTerm file env ty ++ occs)
@@ -438,12 +547,6 @@
     in (env', goTerm file env ty ++ occs)
   Rzk.ParamTermShape _ patTerm cube tope ->
     let (env', occs) = bindVars file env (annotatedTermPatVars (shapeAnn cube tope) patTerm)
-    in (env', goTerm file env cube ++ occs ++ goTerm file env' tope)
-  Rzk.ParamTermTypeDeprecated _ pat ty ->
-    let (env', occs) = bindPat file env (typeAnn ty) pat
-    in (env', goTerm file env ty ++ occs)
-  Rzk.ParamVarShapeDeprecated _ pat cube tope ->
-    let (env', occs) = bindPat file env (shapeAnn cube tope) pat
     in (env', goTerm file env cube ++ occs ++ goTerm file env' tope)
   Rzk.ParamTermModalType _ patTerm _ ty ->
     let (env', occs) = bindVars file env (annotatedTermPatVars (typeAnn ty) patTerm)
diff --git a/src/Language/Rzk/VSCode/Tokenize.hs b/src/Language/Rzk/VSCode/Tokenize.hs
--- a/src/Language/Rzk/VSCode/Tokenize.hs
+++ b/src/Language/Rzk/VSCode/Tokenize.hs
@@ -18,9 +18,27 @@
 tokenizeModule :: Module -> [SemanticTokenAbsolute]
 tokenizeModule (Module _loc langDecl commands) = concat
   [ tokenizeLanguageDecl langDecl
-  , foldMap tokenizeCommand commands
+  , tokenizeCommands 0 commands
   ]
 
+-- | Walk the commands tracking the section depth: an assumption outside
+-- any section is a file-wide axiom and is marked as an abstract function
+-- (see 'tokenizeCommand'), while an assumption inside a section is a
+-- hypothesis the section abstracts over at its @#end@, so it keeps the
+-- parameter token type and only gains the abstract modifier.
+tokenizeCommands :: Int -> [Command] -> [SemanticTokenAbsolute]
+tokenizeCommands _ [] = []
+tokenizeCommands depth (command : commands) = case command of
+  CommandSection{} ->
+    tokenizeCommand command ++ tokenizeCommands (depth + 1) commands
+  CommandSectionEnd{} ->
+    tokenizeCommand command ++ tokenizeCommands (max 0 (depth - 1)) commands
+  CommandAssume _loc vars type_ | depth > 0 -> concat
+    [ foldMap (\var -> mkToken var SemanticTokenTypes_Parameter [SemanticTokenModifiers_Declaration, SemanticTokenModifiers_Abstract]) vars
+    , tokenizeTerm type_
+    ] ++ tokenizeCommands depth commands
+  _ -> tokenizeCommand command ++ tokenizeCommands depth commands
+
 tokenizeLanguageDecl :: LanguageDecl -> [SemanticTokenAbsolute]
 tokenizeLanguageDecl _ = []
 
@@ -33,8 +51,13 @@
   CommandComputeNF    _loc term -> tokenizeTerm term
   CommandComputeWHNF  _loc term -> tokenizeTerm term
 
+  -- A postulate is declared, but not proven: the abstract modifier lets
+  -- clients render its name (here and at every use site, see
+  -- 'Language.Rzk.VSCode.Handlers.useSiteTokens') distinctly. The static
+  -- modifier distinguishes it from a top-level assumption: a postulate is
+  -- a permanent axiom, so clients can style it louder.
   CommandPostulate _loc name declUsedVars params type_ -> concat
-    [ mkToken name SemanticTokenTypes_Function [SemanticTokenModifiers_Declaration]
+    [ mkToken name SemanticTokenTypes_Function [SemanticTokenModifiers_Declaration, SemanticTokenModifiers_Abstract, SemanticTokenModifiers_Static]
     , tokenizeDeclUsedVars declUsedVars
     , foldMap tokenizeParam params
     , tokenizeTerm type_
@@ -46,13 +69,52 @@
     , foldMap tokenizeTerm [type_, term]
     ]
 
+  -- A name assumed at the top level is a file-wide axiom like a postulate
+  -- (see 'CommandPostulate' above), so it gets the same abstract marking;
+  -- 'tokenizeCommands' intercepts the in-section case.
   CommandAssume _loc vars type_ -> concat
-    [ foldMap (\var -> mkToken var SemanticTokenTypes_Parameter [SemanticTokenModifiers_Declaration]) vars
+    [ foldMap (\var -> mkToken var SemanticTokenTypes_Function [SemanticTokenModifiers_Declaration, SemanticTokenModifiers_Abstract]) vars
     , tokenizeTerm type_
     ]
   CommandSection    _loc name -> tokenizeSectionName name
   CommandSectionEnd _loc name -> tokenizeSectionName name
 
+  CommandData _loc name declUsedVars params sort body -> concat
+    [ mkToken name SemanticTokenTypes_Class [SemanticTokenModifiers_Declaration]
+    , tokenizeDeclUsedVars declUsedVars
+    , foldMap tokenizeParam params
+    , tokenizeDataSort sort
+    , tokenizeDataBody body
+    ]
+
+tokenizeDataSort :: DataSort -> [SemanticTokenAbsolute]
+tokenizeDataSort = \case
+  SomeDataSort _loc ty -> tokenizeTerm ty
+  NoDataSort _loc      -> []
+
+tokenizeDataBody :: DataBody -> [SemanticTokenAbsolute]
+tokenizeDataBody = \case
+  NoDataBody _loc -> []
+  SomeDataBody _loc cons elims -> concat
+    [ foldMap tokenizeConstructor cons
+    , foldMap tokenizeDataElim elims
+    ]
+
+tokenizeConstructor :: Constructor -> [SemanticTokenAbsolute]
+tokenizeConstructor (Constructor _loc name params ctype) = concat
+  [ mkToken name SemanticTokenTypes_EnumMember [SemanticTokenModifiers_Declaration]
+  , foldMap tokenizeParam params
+  , case ctype of
+      SomeConstructorType _loc' ty -> tokenizeTerm ty
+      NoConstructorType _loc'      -> []
+  ]
+
+tokenizeDataElim :: DataElim -> [SemanticTokenAbsolute]
+tokenizeDataElim (DataElim _loc name ty) = concat
+  [ mkToken name SemanticTokenTypes_Function [SemanticTokenModifiers_Declaration]
+  , tokenizeTerm ty
+  ]
+
 tokenizeDeclUsedVars :: DeclUsedVars -> [SemanticTokenAbsolute]
 tokenizeDeclUsedVars (DeclUsedVars _loc vars) =
   foldMap (\var -> mkToken var SemanticTokenTypes_Parameter []) vars
@@ -77,10 +139,6 @@
     [ foldMap tokenizePattern pats
     , tokenizeTerm cube
     , tokenizeTope tope ]
-  ParamPatternShapeDeprecated _loc pat cube tope -> concat
-    [ tokenizePattern pat
-    , tokenizeTerm cube
-    , tokenizeTope tope ]
   ParamPatternModalType _loc pats mc ty -> concat
     [ foldMap tokenizePattern pats
     , tokenizeModalColon mc
@@ -98,6 +156,14 @@
   pat@(PatternUnit _loc) -> mkToken pat SemanticTokenTypes_EnumMember [SemanticTokenModifiers_Declaration]
   PatternTuple _loc p1 p2 ps -> foldMap tokenizePattern (p1 : p2 : ps)
 
+-- | A match branch: the constructor name is an enum member (as constructor
+-- uses are), the binders are parameters, the body is an ordinary term.
+tokenizeMatchBranch :: MatchBranch -> [SemanticTokenAbsolute]
+tokenizeMatchBranch (MatchBranch _loc con pats body) = concat
+  [ mkToken con SemanticTokenTypes_EnumMember []
+  , foldMap tokenizePattern pats
+  , tokenizeTerm body ]
+
 tokenizeTope :: Term -> [SemanticTokenAbsolute]
 tokenizeTope = tokenizeTerm' (Just SemanticTokenTypes_String)
 
@@ -135,6 +201,8 @@
       ASCII_CubeI{}        -> mkToken term SemanticTokenTypes_Enum [SemanticTokenModifiers_DefaultLibrary]
 
       CubeProduct _loc l r -> foldMap go [l, r]
+      CubeSup _loc l r -> foldMap go [l, r]
+      CubeInf _loc l r -> foldMap go [l, r]
 
       TopeTop{}            -> mkToken term SemanticTokenTypes_String [SemanticTokenModifiers_DefaultLibrary]
       ASCII_TopeTop{}            -> mkToken term SemanticTokenTypes_String [SemanticTokenModifiers_DefaultLibrary]
@@ -229,15 +297,19 @@
 
       TypeAsc _loc t type_ -> foldMap go [t, type_]
 
+      Match _loc scrut branches -> concat
+        [ go scrut
+        , foldMap tokenizeMatchBranch branches ]
+      MatchInto _loc scrut motive branches -> concat
+        [ go scrut
+        , go motive
+        , foldMap tokenizeMatchBranch branches ]
+
       ModType _loc md type_ -> concat [tokenizeModality md, go type_]
       ModApp _loc md te -> concat [tokenizeModality md, go te]
       ModExtract _loc comp te -> concat [tokenizeModComp comp, go te]
 
-      RecOrDeprecated{} -> mkToken term SemanticTokenTypes_Regexp [SemanticTokenModifiers_Deprecated]
-      TypeExtensionDeprecated{} -> mkToken term SemanticTokenTypes_Regexp [SemanticTokenModifiers_Deprecated]
-      ASCII_TypeExtensionDeprecated{} -> mkToken term SemanticTokenTypes_Regexp [SemanticTokenModifiers_Deprecated]
 
-
 tokenizeRestriction :: Restriction -> [SemanticTokenAbsolute]
 tokenizeRestriction (Restriction _loc tope term) = concat
   [ tokenizeTope tope
@@ -257,14 +329,6 @@
     , tokenizeTerm cube
     , tokenizeTope tope
     ]
-  ParamTermTypeDeprecated _loc pat type_ -> concat
-    [ tokenizePattern pat
-    , tokenizeTerm type_ ]
-  ParamVarShapeDeprecated _loc pat cube tope -> concat
-    [ tokenizePattern pat
-    , tokenizeTerm cube
-    , tokenizeTope tope
-    ]
   ParamTermModalType _loc pat mc type_ -> concat
     [ tokenizeTerm pat, tokenizeModalColon mc, tokenizeTerm type_ ]
   ParamTermModalShape _loc pat mc cube tope -> concat
@@ -352,7 +416,10 @@
   | otherwise            = Just SemanticTokenTypes_Operator
   where
     -- Plain brackets are left to the editor (e.g. bracket pair colorization).
-    ignored = ["(", ")", "[", "]", "{", "}", ";", "<", ">"]
+    -- @}@ is not among them: since the brace shape-parameters were removed,
+    -- it occurs only as the closer of @=_{@ and @refl_{@, which classify as
+    -- operators, so it takes the same colour as its opener.
+    ignored = ["(", ")", "[", "]", "{", ";", "<", ">"]
 
 -- | Combine tokens from the parsed module with tokens from the raw symbol
 -- stream. On overlap (same start position) the AST-based token wins, since
diff --git a/src/Rzk/Diagnostic.hs b/src/Rzk/Diagnostic.hs
--- a/src/Rzk/Diagnostic.hs
+++ b/src/Rzk/Diagnostic.hs
@@ -149,6 +149,14 @@
   TypeErrorUnusedVariable{}        -> "TypeErrorUnusedVariable"
   TypeErrorUnusedUsedVariables{}   -> "TypeErrorUnusedUsedVariables"
   TypeErrorImplicitAssumption{}    -> "TypeErrorImplicitAssumption"
+  TypeErrorNotIntervalCube{}       -> "TypeErrorNotIntervalCube"
+  TypeErrorRepeatedBinder{}        -> "TypeErrorRepeatedBinder"
+  TypeErrorMatchScrutineeNotData{} -> "TypeErrorMatchScrutineeNotData"
+  TypeErrorMatchCannotInfer{}      -> "TypeErrorMatchCannotInfer"
+  TypeErrorMatchMissingBranch{}    -> "TypeErrorMatchMissingBranch"
+  TypeErrorMatchDuplicateBranch{}  -> "TypeErrorMatchDuplicateBranch"
+  TypeErrorMatchUnknownBranch{}    -> "TypeErrorMatchUnknownBranch"
+  TypeErrorMatchBranchArity{}      -> "TypeErrorMatchBranchArity"
 
 -- | The tag of a type error.
 --
@@ -171,6 +179,47 @@
   , diagnosticMessage  = ppTypeErrorInScopedContext dir err
   , diagnosticHole     = Nothing
   }
+
+-- | A checker warning as a diagnostic: warning severity, with the warning's
+-- constructor name as the stable code (like 'diagnoseTypeError' does for
+-- errors).
+diagnoseCheckWarning :: CheckWarning -> Diagnostic
+diagnoseCheckWarning (LargeInductiveTypeWarning dataName conName loc) = Diagnostic
+  { diagnosticSeverity = SeverityWarning
+  , diagnosticCode     = "LargeInductiveTypeWarning"
+  , diagnosticLocation = loc
+  , diagnosticMessage  =
+      "large inductive type: a field of constructor " <> show conName
+        <> " stores a universe; predicatively " <> show dataName
+        <> " lives above U"
+  , diagnosticHole     = Nothing
+  }
+diagnoseCheckWarning (MetaPrefixWarning defName usedName supplied required rule loc) = Diagnostic
+  { diagnosticSeverity = SeverityWarning
+  , diagnosticCode     = case rule of
+      MetaPrefixBoth       -> "MetaPrefixWarning"
+      MetaPrefixStrictOnly -> "MetaPrefixWarningStrictOnly"
+  , diagnosticLocation = loc
+  , diagnosticMessage  =
+      "meta-parameter layer: " <> show usedName <> " is used with "
+        <> show supplied <> " of its " <> show required
+        <> " meta-prefix arguments"
+        <> (case rule of
+              MetaPrefixBoth       -> " at an object-level position"
+              MetaPrefixStrictOnly -> " outside another declaration's meta prefix")
+        <> " (in " <> show defName <> ")"
+  , diagnosticHole     = Nothing
+  }
+
+-- | A checker warning as a human-readable line (the CLI).
+ppCheckWarning :: CheckWarning -> String
+ppCheckWarning = ("Warning: " <>) . diagnosticMessage . diagnoseCheckWarning
+
+-- | The stable tag of a warning (its diagnostic code), used to match
+-- @warnings@ in fixtures; sharing the definition keeps the two from
+-- drifting apart.
+checkWarningTag :: CheckWarning -> String
+checkWarningTag = diagnosticCode . diagnoseCheckWarning
 
 -- | A structured diagnostic for a hole, carrying the hole's goal and local
 -- context. A hole is an unfilled obligation, so it is a 'SeverityWarning' —
diff --git a/src/Rzk/Format.hs b/src/Rzk/Format.hs
--- a/src/Rzk/Format.hs
+++ b/src/Rzk/Format.hs
@@ -50,6 +50,7 @@
 data FormatState = FormatState
   { parensDepth      :: Int  -- ^ The level of parentheses nesting
   , letDepth         :: Int  -- ^ The level of #let nesting
+  , inDataCommand    :: Bool -- ^ Inside a #data command (its := may stay inline for a short declaration)
   , definingName     :: Bool -- ^ After #define, in name or assumptions (to detect the : for the type)
   , lambdaArrow      :: Bool -- ^ After a lambda '\', in the parameters (to leave its -> on the same line)
   , eqBraceDepth     :: Int  -- ^ Depth inside =_{ ... }; 0 = not inside, 1 = at top level after =_{
@@ -69,7 +70,7 @@
     Left _err     -> [] -- TODO: log error (in a CLI and LSP friendly way)
     Right allToks -> go (initialState {allTokens = allToks}) allToks
   where
-    initialState = FormatState { parensDepth = 0, letDepth  = 0, definingName = False, lambdaArrow = False, eqBraceDepth = 0, eqBraceOnOwnLine = False, allTokens = [] }
+    initialState = FormatState { parensDepth = 0, letDepth  = 0, inDataCommand = False, definingName = False, lambdaArrow = False, eqBraceDepth = 0, eqBraceOnOwnLine = False, allTokens = [] }
     incParensDepth s = s { parensDepth = parensDepth s + 1 }
     decParensDepth s = s { parensDepth = 0 `max` (parensDepth s - 1) }
     rzkBlocks = tryExtractMarkdownCodeBlocks "rzk" contents
@@ -82,6 +83,7 @@
     unicodeTokens =
       [ ("->", "→")
       , ("|->", "↦")
+      , ("=>", "⇒")
       , ("===", "≡")
       , ("<=", "≤")
       , ("/\\", "∧")
@@ -123,6 +125,11 @@
 
     go s (Token "#postulate" _ _ : tks) = go (s {definingName = True}) tks
 
+    -- Both canonical #data layouts keep their := where the user put it: on
+    -- one line for a short declaration, on its own line in the multi-line
+    -- layout (design/inductive-types.md §3).
+    go s (Token "#data" _ _ : tks) = go (s {inDataCommand = True}) tks
+
     go s (Token "#define" defLine defCol : TokenIdent _name nameLine nameCol : tks)
       = edits ++ go (s {definingName = True}) tks
       where
@@ -259,7 +266,7 @@
 
     -- Line break before := (only the top-level one) and one space after
     go s (Token ":=" line col : tks)
-      | letDepth s == 0 = defEdits ++ edits ++ go s tks
+      | letDepth s == 0 && not (inDataCommand s) = defEdits ++ edits ++ go s tks
       | otherwise = edits ++ go s tks
       where
         lineContent = contentLines line
@@ -293,7 +300,7 @@
           ]
 
     -- Reset any state necessary after finishing a command
-    go s (Token ";" _ _ : tks) = go s tks
+    go s (Token ";" _ _ : tks) = go s {inDataCommand = False} tks
 
     -- One space (or new line) around binary operators and replace ASCII w/ unicode
     go s (Token tk line col : tks) = edits ++ go s' tks
@@ -301,6 +308,9 @@
         s' | isArrow = s { lambdaArrow = False } -- reset flag after reaching the arrow
            | otherwise = s
         isArrow = tk `elem` ["->", "→"]
+        -- the match-branch arrow ends its line (like the λ-arrow), so it is
+        -- never moved to the next line
+        isMatchArrow = tk `elem` ["=>", "⇒"]
         lineContent = contentLines line
         spacesBefore = T.length $ T.takeWhile (== ' ') (T.reverse $ T.take (col - 1) lineContent)
         spacesAfter = T.length $ T.takeWhile (== ' ') (T.drop (col + T.length tk - 1) lineContent)
@@ -315,7 +325,7 @@
         spacesNextLine = T.length $ T.takeWhile (== ' ') nextLine
         edits = spaceEdits ++ unicodeEdits
         spaceEdits
-          | tk `elem` ["->", "→", ",", "*", "×", "="] = concatMap snd $ filter fst
+          | tk `elem` ["->", "→", "=>", "⇒", ",", "*", "×", "="] = concatMap snd $ filter fst
               -- Ensure exactly one space before (unless first char in line, or about to move to next line)
               [ (not isFirstNonSpaceChar && spacesBefore /= 1 && not isLastNonSpaceChar,
                   [FormattingEdit line (col - spacesBefore) line col " "])
@@ -323,7 +333,7 @@
               , (not isLastNonSpaceChar && spacesAfter /= 1,
                   [FormattingEdit line (col + T.length tk) line (col + T.length tk + spacesAfter) " "])
               -- If last char in line, move it to next line (except for lambda arrow)
-              , (isLastNonSpaceChar && not (lambdaArrow s),
+              , (isLastNonSpaceChar && not (lambdaArrow s) && not isMatchArrow,
                   -- This is split into 2 edits to avoid possible overlap with unicode replacement
                   -- 1. Add a new line (with relevant spaces) before the token
                   [ FormattingEdit line (col - spacesBefore) line col $
diff --git a/src/Rzk/TypeCheck/BinderTypes.hs b/src/Rzk/TypeCheck/BinderTypes.hs
--- a/src/Rzk/TypeCheck/BinderTypes.hs
+++ b/src/Rzk/TypeCheck/BinderTypes.hs
@@ -203,7 +203,7 @@
 -- Pure at the interface: it runs the checker silently and returns no entries where
 -- it fails.
 binderTypesOfFile :: Checked -> FilePath -> [(VarIdent, BinderTypeView)]
-binderTypesOfFile (Checked ctx decls _errs) path =
+binderTypesOfFile (Checked ctx decls _errs _warnings) path =
   case runTypeCheckIn ctx action of
     Left _        -> []
     Right entries -> entries
diff --git a/src/Rzk/TypeCheck/Context.hs b/src/Rzk/TypeCheck/Context.hs
--- a/src/Rzk/TypeCheck/Context.hs
+++ b/src/Rzk/TypeCheck/Context.hs
@@ -87,8 +87,52 @@
   , varIsTopLevel          :: Bool
   , varDeclaredAssumptions :: [Foil.Name n]
   , varLocation            :: Maybe LocationInfo
+  , varDataRole            :: Maybe (DataRole n)
+    -- ^ the role the entry plays for a @#data@ declaration, if any
+  , varMetaPrefix          :: Int
+    -- ^ the length of the entry's meta-parameter prefix (0 for locals and
+    -- for declarations with no meta parameters); see
+    -- "Rzk.TypeCheck.MetaPrefix". Recomputed when a section close rewrites
+    -- the entry's type.
   }
 
+-- | The role a top-level entry plays for a @#data@ declaration. The ι-rule
+-- (in 'Rzk.TypeCheck.Eval') recognises an eliminator head and a
+-- constructor-headed scrutinee by these; both entries are otherwise opaque
+-- (they carry no value).
+--
+-- The argument counts speak of the entry's elaborated type: a constructor
+-- takes the datatype's parameters and then its own fields; an eliminator
+-- takes the parameters, the motive, one method per constructor (in
+-- declaration order), and the scrutinee. Closing a section prepends the
+-- section's assumptions uniformly to all entries of a declaration, so
+-- 'abstractOver' bumps the parameter counts.
+data DataRole n = DataRole
+  { dataRoleDataType  :: Foil.Name n
+    -- ^ the type former this entry belongs to
+  , dataRoleNumParams :: Int
+    -- ^ the datatype parameters the entry takes before anything else
+  , dataRoleKind      :: DataRoleKind
+  }
+
+data DataRoleKind
+  = DataConKind Int Int [Int]
+    -- ^ a constructor: its 0-based position among the constructors (= the
+    -- method index), the number of its own fields after the parameters,
+    -- and the 0-based positions of its recursive fields (each contributes
+    -- an induction hypothesis right after the field in the method)
+  | DataElimKind Int Int ElimKind
+    -- ^ an eliminator: the number of methods (one per constructor, in
+    -- declaration order) and the number of indices of the family; the
+    -- spine is parameters, motive, methods, indices, scrutinee
+
+-- | Which eliminator; the ι-rule is the same for both.
+data ElimKind = ElimInd | ElimRec
+
+-- | Add one leading parameter (a section assumption made explicit).
+bumpDataRoleParams :: DataRole n -> DataRole n
+bumpDataRoleParams role = role { dataRoleNumParams = dataRoleNumParams role + 1 }
+
 -- | A tope, together with the modalities under which it is available.
 data ModalTope n = ModalTope
   { tModAccum :: TModality
@@ -202,8 +246,23 @@
     -- is legitimate (see @happy-restrict-face-not-contained@). Enabled with
     -- @#set-option "warn-overhang" "yes"@. The /disjointness/ error next to
     -- it is unaffected: a vacuous face is always rejected.
+  , ctxMetaPrefixSensitivity :: MetaPrefixSensitivity
+    -- ^ How sensitively the meta-parameter layer check classifies use
+    -- positions (see "Rzk.TypeCheck.MetaPrefix"). Strict by default; set
+    -- with @#set-option "warn-meta-prefix" = "off" | "structural" | "strict"@.
   }
 
+-- | The sensitivity levels of the meta-parameter layer check.
+data MetaPrefixSensitivity
+  = MetaPrefixOff
+    -- ^ no meta-prefix warnings
+  | MetaPrefixStructural
+    -- ^ warn only at structurally object-level positions
+  | MetaPrefixStrict
+    -- ^ additionally require an unsaturated schema argument to sit within
+    -- a top-level receiver's meta prefix (the default)
+  deriving (Eq, Show)
+
 -- | An open section: the entries declared in it, newest first.
 data SectionInfo n = SectionInfo
   { sectionName    :: Maybe Rzk.SectionName
@@ -236,6 +295,7 @@
   , ctxDeferHoleMismatches = True
   , ctxHintLemmas = []
   , ctxWarnOverhang = False
+  , ctxMetaPrefixSensitivity = MetaPrefixStrict
   }
 
 -- | The tope context of an empty context: @⊤@ holds under every modality.
@@ -324,7 +384,10 @@
     { varType = Foil.sinkabilityProof rename (varType info)
     , varValue = Foil.sinkabilityProof rename <$> varValue info
     , varDeclaredAssumptions = rename <$> varDeclaredAssumptions info
+    , varDataRole = renameRole <$> varDataRole info
     }
+    where
+      renameRole role = role { dataRoleDataType = rename (dataRoleDataType role) }
 
 instance Foil.Sinkable ModalTope where
   sinkabilityProof rename tope =
diff --git a/src/Rzk/TypeCheck/Decl.hs b/src/Rzk/TypeCheck/Decl.hs
--- a/src/Rzk/TypeCheck/Decl.hs
+++ b/src/Rzk/TypeCheck/Decl.hs
@@ -1,4 +1,7 @@
-{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+-- The scope-extension evidence on 'sinkDeclGroups' (a coercion) is its
+-- soundness contract, not an argument it can consume, so GHC calls it
+-- redundant. It stays.
+{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-redundant-constraints #-}
 {-# LANGUAGE DataKinds           #-}
 {-# LANGUAGE FlexibleContexts    #-}
 {-# LANGUAGE GADTs               #-}
@@ -23,11 +26,14 @@
 
 import           Control.Monad             (forM, when)
 import           Control.Monad.Except      (catchError, runExcept)
+import           Data.Data                 (Data, cast, gmapQ)
 import           Control.Monad.Reader      (ask, asks, local, runReaderT)
 import           Control.Monad.Trans.Writer.CPS (runWriterT)
 import           Data.List                 (intercalate)
 import qualified Data.Map                  as Map
+import qualified Data.Text                 as T
 import           Debug.Trace               (trace)
+import           Unsafe.Coerce             (unsafeCoerce)
 
 import           Control.Monad.Foil        (DExt, Distinct, NameBinder)
 import qualified Control.Monad.Foil        as Foil
@@ -37,13 +43,14 @@
 import           Language.Rzk.Foil.Syntax
 import           Language.Rzk.Foil.Names   (Binder (..), TModality (..),
                                             VarIdent, binderName, markUnresolved,
-                                            patternToTerm, varIdentAt)
+                                            patternToTerm, varIdent, varIdentAt)
 import qualified Language.Rzk.Syntax       as Rzk
 import           Rzk.TypeCheck.Context
 import           Rzk.TypeCheck.Display
 import           Rzk.TypeCheck.Error
 import           Rzk.TypeCheck.Eval
 import           Rzk.TypeCheck.Judgements
+import           Rzk.TypeCheck.MetaPrefix
 import           Rzk.TypeCheck.Monad
 import           Rzk.TypeCheck.Render
 
@@ -62,16 +69,30 @@
   , declLocation     :: Maybe LocationInfo
   }
 
--- | A declaration sinks along a scope extension, by coercion (see the note in
--- "Rzk.TypeCheck.Context").
+-- | A declaration sinks along a scope extension by coercion, like the
+-- context does (see the note in "Rzk.TypeCheck.Context"); the proof
+-- obligation is discharged field by field.
+instance Foil.Sinkable Decl where
+  sinkabilityProof rename decl = decl
+    { declNameOf = rename (declNameOf decl)
+    , declType = Foil.sinkabilityProof rename (declType decl)
+    , declValue = Foil.sinkabilityProof rename <$> declValue decl
+    , declUsedVars = rename <$> declUsedVars decl
+    }
+
 sinkDecl :: DExt n l => Decl n -> Decl l
-sinkDecl decl = decl
-  { declNameOf = Foil.sink (declNameOf decl)
-  , declType = Foil.sink (declType decl)
-  , declValue = Foil.sink <$> declValue decl
-  , declUsedVars = Foil.sink <$> declUsedVars decl
-  }
+sinkDecl = Foil.sink
 
+-- | Sinking a whole list is a coercion too, with no per-element rebuild.
+sinkDecls :: DExt n l => [Decl n] -> [Decl l]
+sinkDecls = Foil.sinkContainer
+
+-- | The per-file groups also sink by coercion. 'Foil.sinkContainer' cannot
+-- see through the pair (its element must be the sunk type itself), but the
+-- sinkability argument is the same: only the declarations mention the scope.
+sinkDeclGroups :: DExt n l => [(FilePath, [Decl n])] -> [(FilePath, [Decl l])]
+sinkDeclGroups = unsafeCoerce
+
 -- | What a run of the checker produced: the top-level scope, the declarations in
 -- it, and the errors found.
 --
@@ -85,6 +106,7 @@
     => Context n
     -> [(FilePath, [Decl n])]
     -> [TypeErrorInScopedContext]
+    -> [CheckWarning]
     -> Checked
 
 -- * Entering a top-level entry
@@ -97,10 +119,13 @@
   -> Maybe (TermT n)     -- ^ its value, for a definition
   -> Bool                -- ^ is it an assumption (a @#assume@)?
   -> [Foil.Name n]       -- ^ the variables it declared it uses
+  -> Maybe (DataRole n)  -- ^ its role for a @#data@ declaration, if any
   -> (forall l. (DExt n l, Distinct l) => NameBinder n l -> Decl l -> TypeCheck l r)
   -> TypeCheck n r
-withTopLevel name ty mval isAssumption usedVars k = do
+withTopLevel name ty mval isAssumption usedVars mrole k = do
   checkTopLevelDuplicate name
+  metaPrefix <- metaPrefixOf ty
+  recordMetaPrefixUses name ty mval
   ctx <- ask
   Foil.withFresh (ctxScope ctx) $ \binder -> do
     let info = VarInfo
@@ -113,15 +138,17 @@
           , varIsTopLevel = True
           , varDeclaredAssumptions = usedVars
           , varLocation = ctxLocation ctx
+          , varDataRole = mrole
+          , varMetaPrefix = metaPrefix
           }
         ctx' = recordInSection (Foil.nameOf binder) (enterBinder binder info [] ctx)
         decl = Decl
           { declName = name
           , declNameOf = Foil.nameOf binder
           , declType = Foil.sink ty
-          , declValue = Foil.sink <$> mval
+          , declValue = Foil.sinkContainer mval
           , declIsAssumption = isAssumption
-          , declUsedVars = Foil.sink <$> usedVars
+          , declUsedVars = Foil.sinkContainer usedVars
           , declLocation = ctxLocation ctx
           }
     inContext ctx' (k binder decl)
@@ -171,8 +198,15 @@
   let sectionHasHole = any (maybe False containsHole . varValue . snd) infos
       tolerateUnused = lenient && sectionHasHole
 
-  (kept, errs') <- collectSectionDecls tolerateUnused errs [] infos
+  (kept0, errs') <- collectSectionDecls tolerateUnused errs [] infos
 
+  -- Abstracting over the section's assumptions rewrote the entries' types,
+  -- which can change their meta-parameter prefix (an assumption such as
+  -- funext becomes a leading meta parameter), so recompute it.
+  kept <- forM kept0 $ \(name, info) -> do
+    metaPrefix <- metaPrefixOf (varType info)
+    pure (name, info { varMetaPrefix = metaPrefix })
+
   loc <- asks ctxLocation
   let decls = map (toDecl loc) kept
       assumptions = [ name | (name, info) <- infos, varIsAssumption info ]
@@ -210,6 +244,9 @@
   where
     sameName a b = Foil.nameId a == Foil.nameId b
 
+    -- The entry records where it was declared; the section-close location is
+    -- only the fallback (previously every declaration of a section carried
+    -- the #end-time location, i.e. the last command's line).
     toDecl loc (name, info) = Decl
       { declName = case varOrig info of
           BinderVar (Just x) -> x
@@ -219,7 +256,9 @@
       , declValue = varValue info
       , declIsAssumption = varIsAssumption info
       , declUsedVars = varDeclaredAssumptions info
-      , declLocation = loc
+      , declLocation = case varLocation info of
+          Just declaredAt -> Just declaredAt
+          Nothing         -> loc
       }
 
 -- | An error, captured in the current context (rather than thrown).
@@ -243,12 +282,14 @@
 collectSectionDecls _tolerate errs recent [] = pure (recent, errs)
 collectSectionDecls tolerate errs recent (entry@(name, info) : rest)
   | varIsAssumption info = do
-      (used, recent') <- makeAssumptionExplicit entry recent
-      unusedErr <-
-        if null errs && not used && not tolerate
-          then local (\c -> c { ctxLocation = varLocation info }) $
-            pure <$> typeErrorHere (TypeErrorUnusedVariable name (varType info))
-          else return []
+      (use, recent') <- makeAssumptionExplicit entry recent
+      unusedErr <- case use of
+        AssumptionUsed -> return []
+        AssumptionUnused
+          | null errs && not tolerate ->
+              local (\c -> c { ctxLocation = varLocation info }) $
+                pure <$> typeErrorHere (TypeErrorUnusedVariable name (varType info))
+          | otherwise -> return []
       collectSectionDecls tolerate (errs <> unusedErr) recent' rest
   | otherwise =
       collectSectionDecls tolerate errs (entry : recent) rest
@@ -259,47 +300,71 @@
 -- every later definition that mentions /that/ definition is rewritten to apply it
 -- to the assumption. A definition that mentions it without declaring it in its
 -- @uses@ clause is an implicit assumption, and an error.
+-- | Whether an assumption was taken up by (abstracted into) any definition
+-- that followed it in its section.
+data AssumptionUse = AssumptionUsed | AssumptionUnused
+
 makeAssumptionExplicit
-  :: Distinct n
+  :: forall n. Distinct n
   => (Foil.Name n, VarInfo n)
   -> [(Foil.Name n, VarInfo n)]
-  -> TypeCheck n (Bool, [(Foil.Name n, VarInfo n)])
-makeAssumptionExplicit _ [] = pure (False {- UNUSED -}, [])
-makeAssumptionExplicit assumption@(a, aInfo) ((x, xInfo) : xs) = do
-  scope <- asks ctxScope
-  -- Two notions of use, and the difference between them is what 'implicit' means.
-  -- The deep one follows the types of the variables the entry mentions, so it sees
-  -- a dependency the entry never names; the shallow one is a syntactic occurrence.
-  deepVars <- do
-    inTy <- freeVarsDeep (varType xInfo)
-    inVal <- concat <$> traverse freeVarsDeep (varValue xInfo)
-    pure (inTy <> inVal)
-  -- The syntactic check reads the declaration as the user wrote it, from the
-  -- context — not the entry, which the assumptions abstracted before this one have
-  -- already rewritten (and which therefore mentions them).
-  written <- asks (lookupVarInfo x)
-  let hasAssumption = a `elemName` deepVars
-      inTypeSyntactically = a `elemName` freeVarsOfTermT (varType written)
-      inBodySyntactically = any (elemName a . freeVarsOfTermT) (varValue written)
-      declared = a `elemName` varDeclaredAssumptions xInfo
-      -- used, but never written down: neither in the type, nor in the body, nor in
-      -- the 'uses' clause
-      implicit = and
-        [ hasAssumption
-        , not (inTypeSyntactically || inBodySyntactically)
-        , not declared
-        ]
-  if hasAssumption
-    then do
-      when implicit $
-        issueTypeError $ TypeErrorImplicitAssumption (a, varType aInfo) x
-      let xInfo' = abstractOver scope a aInfo xInfo
-          xs' = map (fmap (applyToAssumption scope a (x, xInfo'))) xs
-      (_used, xs'') <- makeAssumptionExplicit assumption xs'
-      return (True {- USED -}, (x, xInfo') : xs'')
-    else do
-      (used, xs'') <- makeAssumptionExplicit assumption xs
-      return (used, (x, xInfo) : xs'')
+  -> TypeCheck n (AssumptionUse, [(Foil.Name n, VarInfo n)])
+makeAssumptionExplicit (a, aInfo) entries = do
+    -- A #data family closes over a section assumption uniformly: its type
+    -- former is abstracted whenever any entry of the family uses the
+    -- assumption, even though the former's own type (params → U) cannot
+    -- mention it. Abstracting the former rewrites every later use of it to
+    -- an application, so the constructors and eliminators (which all
+    -- mention the former) follow through the ordinary deep-use path; not
+    -- forcing the former would leave one unparameterised type inhabited by
+    -- constructors of every instantiation.
+    forced <- fmap concat $ forM entries $ \(_x, xInfo) ->
+      case varDataRole xInfo of
+        Nothing   -> pure []
+        Just role -> do
+          inTy <- freeVarsDeep (varType xInfo)
+          pure [ Foil.nameId (dataRoleDataType role) | a `elemName` inTy ]
+    go forced entries
+  where
+    go _ [] = pure (AssumptionUnused, [])
+    go forced ((x, xInfo) : xs) = do
+      scope <- asks ctxScope
+      -- Two notions of use, and the difference between them is what 'implicit' means.
+      -- The deep one follows the types of the variables the entry mentions, so it sees
+      -- a dependency the entry never names; the shallow one is a syntactic occurrence.
+      deepVars <- do
+        inTy <- freeVarsDeep (varType xInfo)
+        inVal <- concat <$> traverse freeVarsDeep (varValue xInfo)
+        pure (inTy <> inVal)
+      -- The syntactic check reads the declaration as the user wrote it, from the
+      -- context — not the entry, which the assumptions abstracted before this one have
+      -- already rewritten (and which therefore mentions them).
+      written <- asks (lookupVarInfo x)
+      let forcedFormer = Foil.nameId x `elem` forced
+          hasAssumption = forcedFormer || a `elemName` deepVars
+          inTypeSyntactically = a `elemName` freeVarsOfTermT (varType written)
+          inBodySyntactically = any (elemName a . freeVarsOfTermT) (varValue written)
+          declared = a `elemName` varDeclaredAssumptions xInfo
+          -- used, but never written down: neither in the type, nor in the body, nor in
+          -- the 'uses' clause. A forced type former is exempt: the use lives in its
+          -- constructors, which have their own declarations.
+          implicit = and
+            [ hasAssumption
+            , not (inTypeSyntactically || inBodySyntactically)
+            , not declared
+            , not forcedFormer
+            ]
+      if hasAssumption
+        then do
+          when implicit $
+            issueTypeError $ TypeErrorImplicitAssumption (a, varType aInfo) x
+          let xInfo' = abstractOver scope a aInfo xInfo
+              xs' = map (fmap (applyToAssumption scope a (x, xInfo'))) xs
+          (_use, xs'') <- go forced xs'
+          return (AssumptionUsed, (x, xInfo') : xs'')
+        else do
+          (use, xs'') <- go forced xs
+          return (use, (x, xInfo) : xs'')
 
 -- | Give an entry the assumption as an explicit parameter.
 abstractOver
@@ -312,6 +377,10 @@
   , varModAccum = Id
   , varDeclaredAssumptions =
       filter (\v -> Foil.nameId v /= Foil.nameId a) (varDeclaredAssumptions info)
+  -- All products of a #data depend on the datatype (deeply, through their
+  -- types), so a section assumption is abstracted over all of them
+  -- uniformly, and the spine layouts the ι-rule relies on shift together.
+  , varDataRole = bumpDataRoleParams <$> varDataRole info
   }
   where
     orig = varOrig aInfo
@@ -370,6 +439,14 @@
   "no"  -> localWarnOverhang False
   _ -> const $
     issueTypeError $ TypeErrorOther "unknown value for \"warn-overhang\" (use \"yes\" or \"no\")"
+-- The sensitivity of the meta-parameter layer check (see
+-- "Rzk.TypeCheck.MetaPrefix"); strict by default.
+setOption "warn-meta-prefix" = \case
+  "off"        -> localMetaPrefixSensitivity MetaPrefixOff
+  "structural" -> localMetaPrefixSensitivity MetaPrefixStructural
+  "strict"     -> localMetaPrefixSensitivity MetaPrefixStrict
+  _ -> const $
+    issueTypeError $ TypeErrorOther "unknown value for \"warn-meta-prefix\" (use \"off\", \"structural\", or \"strict\")"
 setOption optionName = const $ const $
   issueTypeError $ TypeErrorOther ("unknown option " <> show optionName)
 
@@ -378,12 +455,12 @@
 unsetOption "render" = localRenderBackend (ctxRenderBackend emptyContext)
 unsetOption "render-hide-term" = localHideTerm (ctxRenderHideTerm emptyContext)
 unsetOption "warn-overhang" = localWarnOverhang (ctxWarnOverhang emptyContext)
+unsetOption "warn-meta-prefix" =
+  localMetaPrefixSensitivity (ctxMetaPrefixSensitivity emptyContext)
 unsetOption optionName = const $
   issueTypeError $ TypeErrorOther ("unknown option " <> show optionName)
 
 paramToParamDecl :: Distinct n => Rzk.Param -> TypeCheck n [Rzk.ParamDecl]
-paramToParamDecl (Rzk.ParamPatternShapeDeprecated loc pat cube tope) = pure
-  [ Rzk.ParamTermShape loc (patternToTerm pat) cube tope ]
 paramToParamDecl (Rzk.ParamPatternShape loc pats cube tope) = pure
   [ Rzk.ParamTermShape loc (patternToTerm pat) cube tope | pat <- pats]
 paramToParamDecl (Rzk.ParamPatternType loc pats ty) = pure
@@ -404,6 +481,439 @@
 addParams []     = id
 addParams params = Rzk.Lambda Nothing params
 
+-- * @#data@ declarations
+--
+-- A @#data@ elaborates to ordinary top-level entries: the type former, one
+-- entry per constructor, and the generated eliminators @ind-D@ and @rec-D@.
+-- All of them are opaque (no value); computation is the ι-rule in
+-- "Rzk.TypeCheck.Eval", driven by the 'DataRole's recorded here. The types
+-- of the generated entries are built as /surface/ terms and pushed through
+-- the ordinary 'elaborate' and 'typecheck', so nothing here constructs core
+-- terms by hand.
+--
+-- Stage 1 (see @design/inductive-types.md@): no recursion, no indices, sort
+-- @U@ only, no eliminator re-ascription clauses. The declaration grammar
+-- already covers the later stages; this checker rejects what it does not
+-- support.
+
+-- | Stage 1: the sort must be @U@ (families are stage 2).
+-- | One index of a family, as declared in the sort: its binder (when the
+-- sort names it, as in @(n : nat) → U@) and its type.
+data SortIndex = SortIndex
+  { sortIndexVar  :: Maybe Rzk.VarIdent
+  , sortIndexType :: Rzk.Term
+  }
+
+-- | The index telescope of the sort. The sort must be @U@ (no indices) or a
+-- Π-telescope of plain types ending in @U@.
+dataSortIndices :: Distinct n => Rzk.DataSort -> TypeCheck n [SortIndex]
+dataSortIndices = \case
+  Rzk.NoDataSort _        -> pure []
+  Rzk.SomeDataSort _ sort -> go sort
+  where
+    go = \case
+      Rzk.Universe{} -> pure []
+      Rzk.TypeFun _ param ret       -> (:) <$> indexOf param <*> go ret
+      Rzk.ASCII_TypeFun _ param ret -> (:) <$> indexOf param <*> go ret
+      sort -> issueTypeError $ TypeErrorOther $
+        "the sort of a #data must be U, or an index telescope ending in U, got "
+          <> Rzk.printTree sort
+    indexOf = \case
+      Rzk.ParamType _ ty -> pure (SortIndex Nothing ty)
+      Rzk.ParamTermType _ (Rzk.Var _ v) ty -> pure (SortIndex (Just v) ty)
+      Rzk.ParamTermType _ pat _ -> issueTypeError $ TypeErrorOther $
+        "an index binder of a #data sort must be a plain variable, got "
+          <> Rzk.printTree pat
+      p -> issueTypeError $ TypeErrorOther $
+        "an index of a #data sort must be a plain type, got " <> Rzk.printTree p
+
+dataBodyParts :: Rzk.DataBody -> ([Rzk.Constructor], [Rzk.DataElim])
+dataBodyParts = \case
+  Rzk.NoDataBody _              -> ([], [])
+  Rzk.SomeDataBody _ cons elims -> (cons, elims)
+
+-- | The parameters of a @#data@ must be plain typed variables @(x : A)@:
+-- the constructors and eliminators apply the type former to them.
+dataParamVars :: Distinct n => [Rzk.Param] -> TypeCheck n [Rzk.VarIdent]
+dataParamVars = fmap concat . mapM paramVarsOf
+  where
+    paramVarsOf = \case
+      Rzk.ParamPatternType _ pats _ty -> forM pats $ \case
+        Rzk.PatternVar _ v -> pure v
+        pat -> issueTypeError $ TypeErrorOther $
+          "a parameter of a #data must be a plain variable, got "
+            <> Rzk.printTree pat
+      p -> issueTypeError $ TypeErrorOther $
+        "a parameter of a #data must be a typed variable (x : A), got "
+          <> Rzk.printTree p
+
+-- | A constructor field: a typed parameter, with cube/shape fields rejected
+-- (over a directed interval they would declare directed cells, out of scope
+-- for M3) and modal fields deferred (crisp induction).
+dataFieldToParamDecl :: Distinct n => Rzk.VarIdent -> Rzk.Param -> TypeCheck n [Rzk.ParamDecl]
+dataFieldToParamDecl cname = \case
+  p@Rzk.ParamPatternType{} -> paramToParamDecl p
+  Rzk.ParamPattern _ pat -> issueTypeError $ TypeErrorOther $
+    "untyped field " <> Rzk.printTree pat <> " in constructor " <> Rzk.printTree cname
+  Rzk.ParamPatternShape{} -> issueTypeError $ TypeErrorOther $
+    "constructor " <> Rzk.printTree cname
+      <> " takes a cube or shape argument; over the directed interval this would declare a directed cell, which is not supported"
+  Rzk.ParamPatternModalType{} -> modalFieldError cname
+  Rzk.ParamPatternModalShape{} -> modalFieldError cname
+
+modalFieldError :: Distinct n => Rzk.VarIdent -> TypeCheck n a
+modalFieldError cname = issueTypeError $ TypeErrorOther $
+  "modal fields are not supported yet in constructor " <> Rzk.printTree cname
+
+-- | A constructor, preprocessed at the surface level.
+data DataConSurface = DataConSurface
+  { dataConName       :: Rzk.VarIdent
+  , dataConFields     :: [Rzk.ParamDecl]
+    -- ^ the field telescope, one entry per bound variable
+  , dataConFieldPats  :: [Rzk.Term]
+    -- ^ the field patterns as terms, in the same order
+  , dataConRecursive  :: [(Int, [Rzk.Term])]
+    -- ^ the directly recursive fields (their type is the declared type
+    -- applied to its parameters and some index terms): 0-based position
+    -- and the index terms; each contributes an induction hypothesis to
+    -- the eliminator's method
+  , dataConRetIndices :: [Rzk.Term]
+    -- ^ the index terms of the constructor's return type
+  , dataConType       :: Rzk.Term
+    -- ^ the constructor's full surface type: params → fields → D params
+  , dataConProbe      :: Rzk.Term
+    -- ^ the non-recursive fields → Unit, for the positivity and largeness
+    -- checks (a directly recursive field mentions the type legitimately)
+  , dataConNonRec     :: [Rzk.Term]
+    -- ^ the non-recursive field types, for the per-field error message
+  , dataConLocalNames :: [Rzk.VarIdentToken]
+    -- ^ every binder token of the constructor, for freshening
+  }
+
+surfacePatternVars :: Rzk.Pattern -> [Rzk.VarIdent]
+surfacePatternVars = \case
+  Rzk.PatternVar _ v        -> [v]
+  Rzk.PatternPair _ a b     -> surfacePatternVars a <> surfacePatternVars b
+  Rzk.PatternTuple _ a b cs -> concatMap surfacePatternVars (a : b : cs)
+  Rzk.PatternUnit _         -> []
+
+identTokenOf :: Rzk.VarIdent -> Rzk.VarIdentToken
+identTokenOf (Rzk.VarIdent _ tok) = tok
+
+surfaceVar :: Rzk.VarIdent -> Rzk.Term
+surfaceVar = Rzk.Var Nothing
+
+surfaceApps :: Rzk.Term -> [Rzk.Term] -> Rzk.Term
+surfaceApps f []       = f
+surfaceApps f (x : xs) = surfaceApps (Rzk.App Nothing f x) xs
+
+surfaceAppSpine :: Rzk.Term -> (Rzk.Term, [Rzk.Term])
+surfaceAppSpine = go []
+  where
+    go acc (Rzk.App _ f x) = go (x : acc) f
+    go acc t               = (t, acc)
+
+surfaceArrow :: Rzk.Term -> Rzk.Term -> Rzk.Term
+surfaceArrow a = Rzk.TypeFun Nothing (Rzk.ParamType Nothing a)
+
+-- | The domains and codomain of a surface Π-chain (domain types only; for
+-- the shaped and modal parameter forms the carrier is what matters here).
+surfacePiSpine :: Rzk.Term -> ([Rzk.Term], Rzk.Term)
+surfacePiSpine = go []
+  where
+    go acc (Rzk.TypeFun _ param ret)       = go (domainsOf param <> acc) ret
+    go acc (Rzk.ASCII_TypeFun _ param ret) = go (domainsOf param <> acc) ret
+    go acc t                               = (reverse acc, t)
+    domainsOf = \case
+      Rzk.ParamType _ t                 -> [t]
+      Rzk.ParamTermType _ _ t           -> [t]
+      Rzk.ParamTermShape _ _ cube _     -> [cube]
+      Rzk.ParamTermModalType _ _ _ t    -> [t]
+      Rzk.ParamTermModalShape _ _ _ c _ -> [c]
+
+-- | Is the term the given name applied to exactly the given parameter
+-- variables (in order, the uniformity requirement) and then exactly
+-- @arity@ index terms? Returns those index terms. A syntactic check: this
+-- is how constructor return types and directly recursive fields are
+-- recognised.
+dataAppliedIndices :: Rzk.VarIdent -> [Rzk.VarIdent] -> Int -> Rzk.Term -> Maybe [Rzk.Term]
+dataAppliedIndices dataName paramVars arity t = case surfaceAppSpine t of
+  (Rzk.Var _ h, args)
+    | identTokenOf h == identTokenOf dataName
+    , (paramArgs, indexArgs) <- splitAt (length paramVars) args
+    , map (Just . identTokenOf) paramVars == map varTokenOf paramArgs
+    , length indexArgs == arity
+    -> Just indexArgs
+  _ -> Nothing
+  where
+    varTokenOf (Rzk.Var _ v) = Just (identTokenOf v)
+    varTokenOf _             = Nothing
+
+matchesDataApplied :: Rzk.VarIdent -> [Rzk.VarIdent] -> Int -> Rzk.Term -> Bool
+matchesDataApplied dataName paramVars arity =
+  maybe False (const True) . dataAppliedIndices dataName paramVars arity
+
+surfacePi :: Rzk.VarIdent -> Rzk.Term -> Rzk.Term -> Rzk.Term
+surfacePi v ty = Rzk.TypeFun Nothing (Rzk.ParamTermType Nothing (surfaceVar v) ty)
+
+dataConSurface
+  :: Distinct n
+  => Rzk.VarIdent -> [Rzk.VarIdent] -> [Rzk.ParamDecl] -> Int -> Rzk.Constructor
+  -> TypeCheck n DataConSurface
+dataConSurface dataName paramVars paramDecls indexArity (Rzk.Constructor _loc cname cparams ctype) = do
+  fieldDecls <- concat <$> mapM (dataFieldToParamDecl cname) cparams
+  let defaultRet = surfaceApps (surfaceVar dataName) (map surfaceVar paramVars)
+      recIndicesOf = dataAppliedIndices dataName paramVars indexArity
+  (ret, retIndices) <- case ctype of
+    Rzk.NoConstructorType _
+      | indexArity == 0 -> pure (defaultRet, [])
+      | otherwise -> issueTypeError $ TypeErrorOther $
+          "constructor " <> Rzk.printTree cname
+            <> " must spell out its return type: the family has "
+            <> show indexArity <> " index(es)"
+    Rzk.SomeConstructorType _ ret
+      | Just ixs <- recIndicesOf ret -> pure (ret, ixs)
+      | otherwise -> issueTypeError $ TypeErrorOther $
+          "the return type of constructor " <> Rzk.printTree cname
+            <> " must be the declared type applied to its parameters and "
+            <> show indexArity <> " index(es), like "
+            <> Rzk.printTree defaultRet <> " …"
+  let fieldTypes = [ ty | Rzk.ParamTermType _ _ ty <- fieldDecls ]
+      recursive =
+        [ (j, ixs) | (j, ty) <- zip [0 ..] fieldTypes, Just ixs <- [recIndicesOf ty] ]
+      isRec ty = maybe False (const True) (recIndicesOf ty)
+      nonRecTypes = [ ty | ty <- fieldTypes, not (isRec ty) ]
+      nonRecDecls = [ d | d@(Rzk.ParamTermType _ _ ty) <- fieldDecls, not (isRec ty) ]
+  pure DataConSurface
+    { dataConName = cname
+    , dataConFields = fieldDecls
+    , dataConFieldPats = concatMap fieldPats cparams
+    , dataConRecursive = recursive
+    , dataConRetIndices = retIndices
+    , dataConType = addParamDecls (paramDecls <> fieldDecls) ret
+    , dataConProbe = addParamDecls nonRecDecls (Rzk.TypeUnit Nothing)
+    , dataConNonRec = nonRecTypes
+    , dataConLocalNames = identTokenOf cname
+        : map identTokenOf (concatMap fieldVars cparams)
+    }
+  where
+    fieldVars = \case
+      Rzk.ParamPatternType _ pats _ -> concatMap surfacePatternVars pats
+      _                             -> []
+    fieldPats = \case
+      Rzk.ParamPatternType _ pats _ -> map patternToTerm pats
+      _                             -> []
+
+-- | The assumptions an entry depends on, possibly only through the types of
+-- what it mentions. The generated entries of a @#data@ declare these
+-- dependencies, so that closing a section abstracts the assumption over all
+-- of them uniformly instead of reporting an implicit assumption.
+assumptionDepsOf :: TermT n -> TypeCheck n [Foil.Name n]
+assumptionDepsOf ty = do
+  ctx <- ask
+  deep <- freeVarsDeep ty
+  pure [ v | v <- deep, varIsAssumption (lookupVarInfo v ctx) ]
+
+-- | Several distinct fresh identifiers with a shared base.
+freshIdents
+  :: Int -> [Rzk.VarIdentToken] -> T.Text -> TypeCheck n [Rzk.VarIdent]
+freshIdents n avoid base = go n avoid []
+  where
+    go 0 _ acc = pure (reverse acc)
+    go k avoidNow acc = do
+      ident <- freshIdent Nothing avoidNow base
+      go (k - 1) (identTokenOf ident : avoidNow) (ident : acc)
+
+-- | An identifier that is neither bound at the top level nor among the given
+-- local binder tokens; primes are appended until one is free. Used for the
+-- motive and scrutinee binders of the generated eliminator types, which
+-- close over the user's field types.
+freshIdent
+  :: Maybe FilePath -> [Rzk.VarIdentToken] -> T.Text -> TypeCheck n Rzk.VarIdent
+freshIdent path avoid base = do
+  ctx <- ask
+  let candidates =
+        [ Rzk.VarIdent Nothing (Rzk.VarIdentToken (base <> T.replicate p "'"))
+        | p <- [0 ..] ]
+      isFree cand = identTokenOf cand `notElem` avoid
+        && case lookupNamed (varIdentAt path cand) ctx of
+             Nothing -> True
+             Just _  -> False
+  case filter isFree candidates of
+    cand : _ -> pure cand
+    []       -> panicImpossible "no fresh identifier candidate"
+
+-- | Bind the products of one @#data@ declaration: the type former, the
+-- constructors (checked in a scope where the type former exists), and the
+-- generated eliminators @ind-D@ and @rec-D@.
+withDataDecls
+  :: forall n r. Distinct n
+  => Maybe FilePath
+  -> [Foil.Name n]        -- ^ the declared used variables
+  -> Rzk.VarIdent         -- ^ the datatype name (surface)
+  -> [Rzk.VarIdent]       -- ^ the parameter variables
+  -> [Rzk.ParamDecl]      -- ^ the parameter telescope
+  -> [SortIndex]          -- ^ the index telescope of the sort
+  -> [DataConSurface]     -- ^ the constructors, preprocessed
+  -> (forall l. (DExt n l, Distinct l) => [Decl l] -> TypeCheck l r)
+  -> TypeCheck n r
+withDataDecls path used name paramVars paramDecls sortIndices consData k = do
+  -- The type former's type spells the sort as written: params → indices → U.
+  let sortTerm = foldr wrapIndex (Rzk.Universe Nothing) sortIndices
+      wrapIndex (SortIndex mv ty) body = case mv of
+        Just v  -> surfacePi v ty body
+        Nothing -> surfaceArrow ty body
+  dTyTerm <- elaborate (addParamDecls paramDecls sortTerm)
+  dTy <- memoizeWHNF =<< typecheck dTyTerm universeT
+  dDeps <- assumptionDepsOf dTy
+  withTopLevel (varIdentAt path name) dTy Nothing False
+    (nubNames (used <> dDeps)) Nothing $ \dBinder dDecl ->
+      bindCons (Foil.nameOf dBinder) (Foil.sinkContainer used) 0 consData [sinkDecl dDecl] $
+        \dName usedL declsAcc -> bindElims dName usedL declsAcc
+  where
+    numParams  = length paramDecls
+    numMethods = length consData
+    indexArity = length sortIndices
+
+    bindCons
+      :: forall m. DExt n m
+      => Foil.Name m -> [Foil.Name m] -> Int -> [DataConSurface] -> [Decl m]
+      -> (forall l. (DExt n l, Distinct l)
+            => Foil.Name l -> [Foil.Name l] -> [Decl l] -> TypeCheck l r)
+      -> TypeCheck m r
+    bindCons dName usedHere _index [] acc kk = kk dName usedHere acc
+    bindCons dName usedHere index (con : rest) acc kk = do
+      -- Directly recursive fields (type = the declared type applied to its
+      -- parameters) are recognised syntactically and excluded from the
+      -- probe; any other occurrence of the type in a field is an error.
+      let dOccursIn t = any ((== Foil.nameId dName) . Foil.nameId) (freeVarsOfTerm t)
+      probeT <- elaborate (dataConProbe con)
+      when (dOccursIn probeT) $ do
+        -- Locate the offending field for a precise message: a positive but
+        -- function-typed recursive field is meaningful and merely
+        -- unsupported; anything else violates strict positivity.
+        offending <- forM (dataConNonRec con) $ \ty -> do
+          t <- elaborate ty
+          pure (ty, dOccursIn t)
+        funRec <- case [ ty | (ty, True) <- offending ] of
+          ty : _ -> do
+            let (domains, codomain) = surfacePiSpine ty
+            domainsClean <- mapM (fmap (not . dOccursIn) . elaborate) domains
+            pure (matchesDataApplied name paramVars indexArity codomain && and domainsClean)
+          [] -> pure False
+        issueTypeError $ TypeErrorOther $ if funRec
+          then "constructor " <> Rzk.printTree (dataConName con)
+            <> " has a function-typed recursive field; only directly recursive fields are supported for now"
+          else "constructor " <> Rzk.printTree (dataConName con)
+            <> " is not strictly positive: the declared type may occur in a field only as the type of the whole field"
+      when (containsUniverse probeT) $ do
+        loc <- asks ctxLocation
+        recordCheckWarning $ LargeInductiveTypeWarning
+          (varIdentAt path name)
+          (varIdentAt path (dataConName con))
+          loc
+      conTyTerm <- elaborate (dataConType con)
+      conTy <- memoizeWHNF =<< typecheck conTyTerm universeT
+      conDeps <- assumptionDepsOf conTy
+      let role = DataRole dName numParams
+            (DataConKind index (length (dataConFields con))
+              (map fst (dataConRecursive con)))
+      withTopLevel (varIdentAt path (dataConName con)) conTy Nothing False
+        (nubNames (usedHere <> conDeps)) (Just role) $ \_conBinder conDecl ->
+          bindCons (Foil.sink dName) (Foil.sinkContainer usedHere) (index + 1) rest
+            (sinkDecls acc <> [conDecl]) kk
+
+    bindElims
+      :: forall m. DExt n m
+      => Foil.Name m -> [Foil.Name m] -> [Decl m] -> TypeCheck m r
+    bindElims dName usedHere declsAcc = do
+      let avoid = identTokenOf name
+            : map identTokenOf paramVars
+            <> [ identTokenOf v | SortIndex (Just v) _ <- sortIndices ]
+            <> concatMap dataConLocalNames consData
+      -- Anonymous indices of the sort get fresh names; named ones keep the
+      -- user's spelling (later index types may depend on them).
+      freshIx <- freshIdents (length [ () | SortIndex Nothing _ <- sortIndices ]) avoid "i"
+      let indexVars = go sortIndices freshIx
+            where
+              go [] _ = []
+              go (SortIndex (Just v) _ : rest) fresh = v : go rest fresh
+              go (SortIndex Nothing _ : rest) (f : fresh) = f : go rest fresh
+              go (SortIndex Nothing _ : _) [] =
+                error "impossible: not enough fresh index names"
+          indexDecls =
+            [ Rzk.ParamTermType Nothing (surfaceVar v) (sortIndexType si)
+            | (v, si) <- zip indexVars sortIndices ]
+          avoid' = map identTokenOf indexVars <> avoid
+      motiveV <- freshIdent path avoid' "C"
+      scrutV <- freshIdent path (identTokenOf motiveV : avoid') "x"
+      -- Distinct induction-hypothesis binders, one per recursive field of
+      -- the widest constructor; separate methods reuse the same names.
+      let maxRec = maximum (0 : map (length . dataConRecursive) consData)
+      ihNames <- freshIdents maxRec
+        (identTokenOf motiveV : identTokenOf scrutV : avoid') "ih"
+      let dApplied = surfaceApps (surfaceVar name) (map surfaceVar paramVars)
+          dAppliedIx = surfaceApps dApplied (map surfaceVar indexVars)
+          motive = surfaceVar motiveV
+          -- The motive abstracts over the indices (and, dependently, the
+          -- scrutinee); a method's hypotheses and codomain instantiate it
+          -- at the relevant index terms.
+          motiveSort dependent = addParamDecls indexDecls $
+            if dependent
+              then surfaceArrow dAppliedIx (Rzk.Universe Nothing)
+              else Rzk.Universe Nothing
+          -- One method per constructor: its fields with an induction
+          -- hypothesis interleaved after each recursive field (HoTT-book
+          -- style), then the motive at the constructor's return indices
+          -- (and, for @ind-D@, at the constructor applied to parameters
+          -- and fields).
+          methodTy dependent con = wrapFields (0 :: Int)
+            (zip [0 :: Int ..] (zip (dataConFields con) (dataConFieldPats con)))
+            where
+              wrapFields _ [] = surfaceApps motive $
+                dataConRetIndices con
+                  <> [ surfaceApps (surfaceVar (dataConName con))
+                        (map surfaceVar paramVars <> dataConFieldPats con)
+                     | dependent ]
+              wrapFields nRec ((j, (fieldDecl, fpat)) : more)
+                | Just fieldIxs <- lookup j (dataConRecursive con) =
+                    Rzk.TypeFun Nothing fieldDecl $
+                      surfacePi (ihNames !! nRec)
+                        (surfaceApps motive (fieldIxs <> [ fpat | dependent ]))
+                        (wrapFields (nRec + 1) more)
+                | otherwise =
+                    Rzk.TypeFun Nothing fieldDecl (wrapFields nRec more)
+          elimTail dependent = addParamDecls indexDecls $
+            if dependent
+              then surfacePi scrutV dAppliedIx $
+                surfaceApps motive (map surfaceVar indexVars <> [surfaceVar scrutV])
+              else surfaceArrow dAppliedIx $
+                surfaceApps motive (map surfaceVar indexVars)
+          elimTy dependent = addParamDecls paramDecls $
+            surfacePi motiveV (motiveSort dependent) $
+              foldr (surfaceArrow . methodTy dependent)
+                (elimTail dependent)
+                consData
+          indName = prefixedIdent "ind-" name
+          recName = prefixedIdent "rec-" name
+      indTyT <- elaborate (elimTy True)
+      indTy' <- memoizeWHNF =<< typecheck indTyT universeT
+      indDeps <- assumptionDepsOf indTy'
+      withTopLevel (varIdentAt path indName) indTy' Nothing False
+        (nubNames (usedHere <> indDeps))
+        (Just (DataRole dName numParams (DataElimKind numMethods indexArity ElimInd))) $ \_ indDecl -> do
+          recTyT <- elaborate (elimTy False)
+          recTy' <- memoizeWHNF =<< typecheck recTyT universeT
+          recDeps <- assumptionDepsOf recTy'
+          withTopLevel (varIdentAt path recName) recTy' Nothing False
+            (nubNames (Foil.sinkContainer usedHere <> recDeps))
+            (Just (DataRole (Foil.sink dName) numParams (DataElimKind numMethods indexArity ElimRec))) $ \_ recDecl ->
+              k (sinkDecls (sinkDecls declsAcc <> [indDecl]) <> [recDecl])
+
+prefixedIdent :: T.Text -> Rzk.VarIdent -> Rzk.VarIdent
+prefixedIdent p (Rzk.VarIdent pos (Rzk.VarIdentToken t)) =
+  Rzk.VarIdent pos (Rzk.VarIdentToken (p <> t))
+
 -- | Run a command, recording which one it is and where.
 --
 -- An error raised anywhere in the command (or in the rest of the module, which is
@@ -411,19 +921,81 @@
 -- before it stand, the error is reported, and the rest of the module is skipped.
 -- The strict entry points turn the first collected error back into a thrown one.
 withCommand
-  :: Rzk.Command
+  :: Distinct n
+  => Rzk.Command
   -> ([Decl n] -> [TypeErrorInScopedContext] -> TypeCheck n r)
   -> TypeCheck n r
   -> TypeCheck n r
 withCommand command k action =
-  local atCommand (action `catchError` \err -> k [] [err])
+  local atCommand (checked `catchError` \err -> k [] [err])
   where
+    checked = case duplicateBinders command of
+      (dup, previous) : _ -> issueTypeError (TypeErrorRepeatedBinder dup previous)
+      []                  -> action
     atCommand ctx = ctx
       { ctxCurrentCommand = Just command
       , ctxLocation = updatePosition (Rzk.hasPosition command) <$> ctxLocation ctx
       }
     updatePosition pos loc = loc { locationLine = fst <$> pos }
 
+-- | The binder leaves repeated within one binder /group/ of a surface
+-- command: the parameter list of a λ, of a declaration, or of a constructor
+-- (a single pattern's leaves are part of their group). Each hit pairs the
+-- repeated occurrence with the earlier ones it clashes with.
+--
+-- Shadowing an outer binder stays a warning ('checkNameShadowing'); a
+-- duplicate inside one group can only be a mistake, and the silent
+-- freshening it used to get showed names the user never wrote (issue #321).
+duplicateBinders :: Data a => a -> [(VarIdent, [VarIdent])]
+duplicateBinders x = concat
+  [ maybe [] termGroup (cast x)
+  , maybe [] commandGroup (cast x)
+  , maybe [] constructorGroup (cast x)
+  , concat (gmapQ duplicateBinders x)
+  ]
+  where
+    termGroup :: Rzk.Term -> [(VarIdent, [VarIdent])]
+    termGroup = \case
+      Rzk.Lambda _ params _       -> groupDuplicates (concatMap paramLeaves params)
+      Rzk.ASCII_Lambda _ params _ -> groupDuplicates (concatMap paramLeaves params)
+      _                           -> []
+
+    commandGroup :: Rzk.Command -> [(VarIdent, [VarIdent])]
+    commandGroup = \case
+      Rzk.CommandDefine _ _ _ params _ _  -> groupDuplicates (concatMap paramLeaves params)
+      Rzk.CommandPostulate _ _ _ params _ -> groupDuplicates (concatMap paramLeaves params)
+      Rzk.CommandData _ _ _ params _ _    -> groupDuplicates (concatMap paramLeaves params)
+      _                                   -> []
+
+    constructorGroup :: Rzk.Constructor -> [(VarIdent, [VarIdent])]
+    constructorGroup (Rzk.Constructor _ _ params _) =
+      groupDuplicates (concatMap paramLeaves params)
+
+    paramLeaves :: Rzk.Param -> [Rzk.VarIdent]
+    paramLeaves = \case
+      Rzk.ParamPattern _ pat                  -> patternLeaves pat
+      Rzk.ParamPatternType _ pats _           -> concatMap patternLeaves pats
+      Rzk.ParamPatternShape _ pats _ _        -> concatMap patternLeaves pats
+      Rzk.ParamPatternModalType _ pats _ _    -> concatMap patternLeaves pats
+      Rzk.ParamPatternModalShape _ pats _ _ _ -> concatMap patternLeaves pats
+
+    patternLeaves :: Rzk.Pattern -> [Rzk.VarIdent]
+    patternLeaves = \case
+      Rzk.PatternUnit _ -> []
+      Rzk.PatternVar _ v@(Rzk.VarIdent _ (Rzk.VarIdentToken t)) -> [ v | t /= "_" ]
+      Rzk.PatternPair _ l r -> patternLeaves l <> patternLeaves r
+      Rzk.PatternTuple _ a b cs -> concatMap patternLeaves (a : b : cs)
+
+    -- positions differ between occurrences, so compare by spelling
+    groupDuplicates = go []
+      where
+        go _ [] = []
+        go seen (v : vs) =
+          case [ e | e <- seen, sameSpelling e v ] of
+            []      -> go (v : seen) vs
+            earlier -> (varIdent v, map varIdent (reverse earlier)) : go (v : seen) vs
+    sameSpelling (Rzk.VarIdent _ a) (Rzk.VarIdent _ b) = a == b
+
 -- | Elaborate a surface term in the current top-level scope: a free identifier
 -- resolves to the top-level entry it names.
 elaborate :: forall n. Distinct n => Rzk.Term -> TypeCheck n (Term n)
@@ -500,7 +1072,7 @@
         ty' <- memoizeWHNF =<< typecheck tyTerm universeT
         valTerm <- elaborate (addParams params term)
         term' <- memoizeWHNF =<< typecheck valTerm ty'
-        withTopLevel (varIdentAt path name) ty' (Just term') False used $ \binder decl -> do
+        withTopLevel (varIdentAt path name) ty' (Just term') False used Nothing $ \binder decl -> do
           backend <- asks ctxRenderBackend
           termSVG <- case backend of
             Just RenderSVG   -> renderTermSVG (Var (Foil.nameOf binder))
@@ -511,6 +1083,25 @@
             checkCommands path (i + 1) total more $ \decls errs ->
               k (sinkDecl decl : decls) errs
 
+  command@(Rzk.CommandData _loc name (Rzk.DeclUsedVars _ vars) params sort body) : more ->
+    announce (" Checking #data " <> Rzk.printTree name) $
+      withCommand command k $ do
+        used <- mapM (checkDefined . varIdentAt path) vars
+        sortIndices <- dataSortIndices sort
+        let (cons, elims) = dataBodyParts body
+        case elims of
+          [] -> return ()
+          Rzk.DataElim _ elimName _ : _ -> issueTypeError $ TypeErrorOther $
+            "eliminator clauses are not supported yet (eliminator "
+              <> Rzk.printTree elimName <> ")"
+        paramVars <- dataParamVars params
+        paramDecls <- concat <$> mapM paramToParamDecl params
+        consData <- mapM
+          (dataConSurface name paramVars paramDecls (length sortIndices)) cons
+        withDataDecls path used name paramVars paramDecls sortIndices consData $ \decls ->
+          checkCommands path (i + 1) total more $ \moreDecls errs ->
+            k (sinkDecls decls <> moreDecls) errs
+
   command@(Rzk.CommandPostulate _loc name (Rzk.DeclUsedVars _ vars) params ty) : more ->
     announce (" Checking #postulate " <> Rzk.printTree name) $
       withCommand command k $ do
@@ -518,7 +1109,7 @@
         paramDecls <- concat <$> mapM paramToParamDecl params
         tyTerm <- elaborate (addParamDecls paramDecls ty)
         ty' <- memoizeWHNF =<< typecheck tyTerm universeT
-        withTopLevel (varIdentAt path name) ty' Nothing False used $ \_binder decl ->
+        withTopLevel (varIdentAt path name) ty' Nothing False used Nothing $ \_binder decl ->
           checkCommands path (i + 1) total more $ \decls errs ->
             k (sinkDecl decl : decls) errs
 
@@ -530,7 +1121,7 @@
         ty' <- typecheck tyTerm universeT
         assume (map (varIdentAt path) names) ty' $ \assumed ->
           checkCommands path (i + 1) total more $ \decls errs ->
-            k (map sinkDecl assumed <> decls) errs
+            k (sinkDecls assumed <> decls) errs
 
   command@(Rzk.CommandCheck _loc term ty) : more ->
     announce (" Checking " <> Rzk.printTree term <> " : " <> Rzk.printTree ty) $
@@ -566,7 +1157,7 @@
       withSection (Just name) i sectionCommands path total $ \sectionDecls sectionErrs ->
         if null sectionErrs
           then checkCommands path (i + countCommands sectionCommands) total more' $
-            \decls errs -> k (map sinkDecl sectionDecls <> decls) errs
+            \decls errs -> k (sinkDecls sectionDecls <> decls) errs
           else k sectionDecls sectionErrs
 
   command@(Rzk.CommandSectionEnd _loc endName) : _more ->
@@ -587,7 +1178,7 @@
   -> TypeCheck n r
 assume [] _ty k = k []
 assume (name : names) ty k =
-  withTopLevel name ty Nothing True [] $ \_binder decl ->
+  withTopLevel name ty Nothing True [] Nothing $ \_binder decl ->
     assume names (Foil.sink ty) $ \decls ->
       k (sinkDecl decl : decls)
 
@@ -644,24 +1235,29 @@
     case errs of
       _:_ -> k [(path, decls)] errs
       _ -> checkModules ms $ \rest errors ->
-        k ((path, map sinkDecl decls) : rest) errors
+        k ((path, sinkDecls decls) : rest) errors
 
 -- * The public entry points
 
 -- | Check the modules, and package the result with the scope it was checked in.
+-- The warnings live on the writer channel during the run and are folded into
+-- the 'Checked' package here.
 checkedModules :: [(FilePath, Rzk.Module)] -> Context Foil.VoidS -> Either TypeErrorInScopedContext (Checked, [HoleInfo])
 checkedModules modules ctx =
-  runExcept $ runWriterT $ flip runReaderT ctx $
+  fmap package $ runExcept $ runWriterT $ flip runReaderT ctx $
     checkModules modules $ \decls errs -> do
       ctx' <- ask
-      pure (Checked ctx' decls errs)
+      pure (Checked ctx' decls errs [])
+  where
+    package (Checked ctx' decls errs _, (holes, warnings)) =
+      (Checked ctx' decls errs warnings, holes)
 
 -- | Check the modules strictly: an unfilled hole is an error, and the first error
 -- stops the run.
 typecheckModules
   :: [(FilePath, Rzk.Module)] -> Either TypeErrorInScopedContext Checked
 typecheckModules modules = do
-  (checked@(Checked _ _ errs), _holes) <- checkedModules modules emptyContext
+  (checked@(Checked _ _ errs _), _holes) <- checkedModules modules emptyContext
   case errs of
     err : _ -> Left err
     []      -> Right checked
@@ -676,8 +1272,10 @@
 
 -- | Like 'typecheckModulesWithHoles', but additionally offers the given named
 -- top-level definitions as hole candidates (each applied to holes when its type
--- fits the goal). The game passes a level's allow-list of relevant lemmas so they
--- surface as moves; an empty list reproduces 'typecheckModulesWithHoles'.
+-- fits the goal, and never below its meta prefix — an unsaturated schema is not
+-- a suggestion, see "Rzk.TypeCheck.MetaPrefix"). The game passes a level's
+-- allow-list of relevant lemmas so they surface as moves; an empty list
+-- reproduces 'typecheckModulesWithHoles'.
 typecheckModulesWithHolesAndLemmas
   :: [VarIdent]
   -> [(FilePath, Rzk.Module)]
@@ -697,19 +1295,52 @@
   , declViewType         :: Rendered
   , declViewIsAssumption :: Bool
   , declViewLocation     :: Maybe LocationInfo
+  , declViewKind         :: DeclKind
   } deriving (Eq, Show)
 
+-- | What kind of declaration a 'DeclView' renders: a plain definition, a
+-- postulate, or one of the products of a @#data@ (the symbol providers group
+-- constructors under their type and keep the generated eliminators out of
+-- the outline; the semantic tokens highlight postulates distinctly).
+data DeclKind
+  = DeclKindDefine
+  | DeclKindPostulate          -- ^ a @#postulate@ or @#assume@: declared, but not proven
+  | DeclKindData
+  | DeclKindDataCon VarIdent   -- ^ a constructor of the named type
+  | DeclKindDataElim VarIdent  -- ^ a generated eliminator of the named type
+  deriving (Eq, Show)
+
 -- | The declarations of a checked run, rendered, grouped by the file they came
 -- from.
 declViews :: Checked -> [(FilePath, [DeclView])]
-declViews (Checked ctx decls _errs) = map (fmap (map view)) decls
+declViews (Checked ctx decls _errs _warnings) = map (fmap (map view)) decls
   where
     naming = namingOfContext ctx
+    -- The type formers carry no role themselves; they are the names the
+    -- constructor and eliminator roles point at.
+    formerIds =
+      [ Foil.nameId (dataRoleDataType role)
+      | d <- concatMap snd decls
+      , Just role <- [varDataRole (lookupVarInfo (declNameOf d) ctx)] ]
+    parentNameOf p = case binderName (varOrig (lookupVarInfo p ctx)) of
+      Just x  -> x
+      Nothing -> "_"
+    kindOf d = case varDataRole (lookupVarInfo (declNameOf d) ctx) of
+      Just (DataRole parent _ DataConKind{})  -> DeclKindDataCon (parentNameOf parent)
+      Just (DataRole parent _ DataElimKind{}) -> DeclKindDataElim (parentNameOf parent)
+      Nothing
+        | Foil.nameId (declNameOf d) `elem` formerIds -> DeclKindData
+        -- A declaration with no value is an axiom, whether written as a
+        -- @#postulate@ or an @#assume@ (in practice both are used for
+        -- axioms such as function extensionality).
+        | Nothing <- declValue d -> DeclKindPostulate
+        | otherwise -> DeclKindDefine
     view decl = DeclView
       { declViewName = declName decl
       , declViewType = renderTerm naming (untyped (declType decl))
       , declViewIsAssumption = declIsAssumption decl
       , declViewLocation = declLocation decl
+      , declViewKind = kindOf decl
       }
 
 -- | Continue checking from a prefix that has already been checked.
@@ -720,16 +1351,25 @@
   :: Checked
   -> [(FilePath, Rzk.Module)]
   -> Either TypeErrorInScopedContext (Checked, [HoleInfo])
-recheckFrom (Checked ctx decls _errs) modules =
-  runExcept $ runWriterT $ flip runReaderT ctx $
+recheckFrom (Checked ctx decls _errs _warnings) modules =
+  fmap package $ runExcept $ runWriterT $ flip runReaderT ctx $
     checkModules modules $ \newDecls errs -> do
       ctx' <- ask
-      pure (Checked ctx' (map (fmap (map sinkDecl)) decls <> newDecls) errs)
+      pure (Checked ctx' (sinkDeclGroups decls <> newDecls) errs [])
+  where
+    -- Only this run's warnings: like the errors, the prefix's warnings were
+    -- already reported when the prefix was checked.
+    package (Checked ctx' decls' errs _, (holes, warnings)) =
+      (Checked ctx' decls' errs warnings, holes)
 
 -- | The errors of a checked run.
 checkedErrors :: Checked -> [TypeErrorInScopedContext]
-checkedErrors (Checked _ _ errs) = errs
+checkedErrors (Checked _ _ errs _) = errs
 
+-- | The warnings of a checked run.
+checkedWarnings :: Checked -> [CheckWarning]
+checkedWarnings (Checked _ _ _ warnings) = warnings
+
 -- | Nothing checked yet: the empty context, and no declarations.
 emptyChecked :: Checked
-emptyChecked = Checked emptyContext [] []
+emptyChecked = Checked emptyContext [] [] []
diff --git a/src/Rzk/TypeCheck/Display.hs b/src/Rzk/TypeCheck/Display.hs
--- a/src/Rzk/TypeCheck/Display.hs
+++ b/src/Rzk/TypeCheck/Display.hs
@@ -25,7 +25,7 @@
 import           Language.Rzk.Foil.Names    (Binder (..), Display,
                                               TypeInfo (..), VarIdent,
                                               binderIsCompound, binderLeaves,
-                                              binderToPattern, defaultVarIdents,
+                                              binderDisplayName, binderToPattern, defaultVarIdents,
                                               freshenBinderLeaves, fromVarIdent,
                                               refreshVarIn)
 import qualified Language.Rzk.Syntax         as Rzk
@@ -74,14 +74,15 @@
             x : supply' -> name (x, BinderVar (Just x)) [x] supply'
             []          -> panicImpossible "not enough fresh variables"
         binder ->
-          -- A pattern binder: the variable itself needs a placeholder name (it is
-          -- only shown when the whole point is used, and then it prints as the
-          -- pattern), and its leaves are freshened together.
-          case supply of
-            x : supply' ->
-              let binder' = freshenBinderLeaves (Set.toList taken) binder
-               in name (x, binder') (x : binderLeaves binder') supply'
-            [] -> panicImpossible "not enough fresh variables"
+          -- A pattern binder: the variable itself needs a placeholder name only
+          -- when the whole point is used, and then it prints as the pattern —
+          -- so the placeholder is the pattern's own display name ("(na, nb)"),
+          -- which the identifier lexer can never produce. It must not draw
+          -- from the default supply: claiming x₁ here would displace a later
+          -- user-written x₁ in the display (and its hole moves) while the
+          -- source keeps the name. Only the leaves are freshened and claimed.
+          let binder' = freshenBinderLeaves (Set.toList taken) binder
+           in name (binderDisplayName binder', binder') (binderLeaves binder') supply
       where
         name display claimed supply' =
           let (acc, taken') = go (foldr Set.insert taken claimed) supply' rest
diff --git a/src/Rzk/TypeCheck/Error.hs b/src/Rzk/TypeCheck/Error.hs
--- a/src/Rzk/TypeCheck/Error.hs
+++ b/src/Rzk/TypeCheck/Error.hs
@@ -55,6 +55,14 @@
   | TypeErrorUnusedVariable (Foil.Name n) (TermT n)
   | TypeErrorUnusedUsedVariables [Foil.Name n] (Foil.Name n)
   | TypeErrorImplicitAssumption (Foil.Name n, TermT n) (Foil.Name n)
+  | TypeErrorNotIntervalCube String (TermT n) (TermT n)
+  | TypeErrorRepeatedBinder VarIdent [VarIdent]
+  | TypeErrorMatchScrutineeNotData (TermT n) (TermT n)
+  | TypeErrorMatchCannotInfer (Term n)
+  | TypeErrorMatchMissingBranch VarIdent
+  | TypeErrorMatchDuplicateBranch VarIdent
+  | TypeErrorMatchUnknownBranch VarIdent [VarIdent]
+  | TypeErrorMatchBranchArity VarIdent Int Int
 
 -- | An error, together with the context it was raised in.
 --
@@ -239,6 +247,49 @@
     , "used in definition of"
     , "  " <> ppVar name
     ]
+
+  TypeErrorNotIntervalCube op lType rType -> block TopDown
+    [ op <> " expects both points in the same interval cube (2 or 𝕀)"
+    , "but got a point of type"
+    , "  " <> ppU (untyped lType)
+    , "and a point of type"
+    , "  " <> ppU (untyped rType)
+    ]
+
+  TypeErrorRepeatedBinder name previous -> block TopDown
+    [ show name <> " is bound multiple times in one binder group"
+    , "  " <> ppVarIdentWithLocation name
+    , "already bound at"
+    , intercalate "\n"
+      [ "  " <> ppVarIdentWithLocation prev | prev <- previous ]
+    ]
+
+  TypeErrorMatchScrutineeNotData scrut ty -> block TopDown
+    [ "match scrutinee"
+    , "  " <> ppU (untyped scrut)
+    , "is not of a #data type; its type is"
+    , "  " <> ppU (untyped ty)
+    ]
+  TypeErrorMatchCannotInfer term -> block TopDown
+    [ "cannot infer the type of match"
+    , "  " <> ppU term
+    , "a match without \"into\" is only allowed where its type is already known (checking position)"
+    ]
+  TypeErrorMatchMissingBranch con -> block TopDown
+    [ "match has no branch for constructor " <> show con ]
+  TypeErrorMatchDuplicateBranch con -> block TopDown
+    [ "duplicate match branch for constructor " <> show con ]
+  TypeErrorMatchUnknownBranch con cons -> block TopDown
+    [ "match branch for " <> show con <> ", which is not a constructor of the scrutinee's type"
+    , case cons of
+        [] -> "the type has no constructors"
+        _  -> "the constructors are: " <> unwords (map show cons)
+    ]
+  TypeErrorMatchBranchArity con expected actual -> block TopDown
+    [ "match branch for constructor " <> show con
+    , "binds " <> show actual <> " argument" <> (if actual == 1 then "" else "s")
+        <> ", but its method takes " <> show expected
+    ]
   where
     ppU = ppTerm naming
     ppTyped = ppTermT naming
@@ -335,6 +386,8 @@
           "  Error occurred when checking\n    #define " <> Rzk.printTree name
         Just (Rzk.CommandPostulate _loc name _vars _params _ty ) ->
           "  Error occurred when checking\n    #postulate " <> Rzk.printTree name
+        Just (Rzk.CommandData _loc name _vars _params _sort _body) ->
+          "  Error occurred when checking\n    #data " <> Rzk.printTree name
         Just (Rzk.CommandCheck _loc term ty) ->
           "  Error occurred when checking\n    " <> Rzk.printTree term <> " : " <> Rzk.printTree ty
         Just (Rzk.CommandCompute _loc term) ->
diff --git a/src/Rzk/TypeCheck/Eval.hs b/src/Rzk/TypeCheck/Eval.hs
--- a/src/Rzk/TypeCheck/Eval.hs
+++ b/src/Rzk/TypeCheck/Eval.hs
@@ -153,6 +153,8 @@
   , varIsTopLevel = False
   , varDeclaredAssumptions = []
   , varLocation = loc
+  , varDataRole = Nothing
+  , varMetaPrefix = 0
   }
 
 -- | Run an action under a binder that has already been chosen.
@@ -452,7 +454,19 @@
       accessible
 
 saturateInv :: Distinct n => [ModalTope n] -> TypeCheck n [ModalTope n]
-saturateInv modalTopes = do
+saturateInv modalTopes
+  -- When every tope sits at the identity modality, saturateInv adds nothing
+  -- consultable: the op-inversions it would produce are tagged at 'Op' with an
+  -- 'Id' lock, so 'coe Op Id = False' makes them inaccessible, and the
+  -- un-inversion set 'accessibleUnderOp' is empty ('coe Id Op = False'). The
+  -- op-inverted topes only become live once a modality shift puts 'Op' (or
+  -- 'Sharp') into the lock, and a modal goal re-runs saturateInv on the shifted
+  -- context (see the 'TypeModalT' case of 'solveRHSM'), which is where op
+  -- reasoning needs them. Skipping here keeps the whole modality-free fragment
+  -- (all of ordinary sHoTT) off the op-inversion machinery, which otherwise
+  -- 'nfTope'-inverts every context tope on every entailment.
+  | all isIdentityTope modalTopes = return modalTopes
+  | otherwise = do
     -- FIXME: this is a workaround; ideally we should regenerate all topes on
     -- EVERY modality change in any layer, but that would produce too many; for
     -- now we also invert topes that were accessible before the modality shift.
@@ -469,6 +483,8 @@
     let newTopes = nubModalTopes (invResults <> uninvResults)
         fresh = filter (\t -> not (elemModalTope t modalTopes)) newTopes
     return (modalTopes <> fresh)
+  where
+    isIdentityTope mt = tModVar mt == Id && tModAccum mt == Id
 
 -- | Ex falso for BOT, lifted across modalities.
 --
@@ -590,8 +606,34 @@
       , [ topeLEQT cubeI_0T x | TopeLEQT _ty Cube2_0T{} x <- newTopes ]
       , [ topeLEQT x cubeI_1T | TopeLEQT _ty x Cube2_1T{} <- newTopes ]
       , [ topeLEQT cubeI_1T x | TopeLEQT _ty Cube2_1T{} x <- newTopes ]
+
+      , [ topeLEQT a c | TopeLEQT _ty (CubeSupT _ a _) c <- newTopes ]
+      , [ topeLEQT b c | TopeLEQT _ty (CubeSupT _ _ b) c <- newTopes ]
+      , [ topeLEQT c a | TopeLEQT _ty c (CubeInfT _ a _) <- newTopes ]
+      , [ topeLEQT c b | TopeLEQT _ty c (CubeInfT _ _ b) <- newTopes ]
+
+      -- Turn an equality into the two inequalities, but only when a side is a
+      -- lattice term, so it can feed the sup/inf extraction rules above (e.g.
+      -- @sup s u ≡ t@ ⊢ @sup s u ≤ t@ ⊢ @s ≤ t@). Gating on a lattice operand
+      -- keeps this off the equality-heavy non-lattice fragment (extension-type
+      -- faces), where the direct @solveRHS (topeEQT l r)@ guard already proves
+      -- @l ≤ r@ from @l ≡ r@ and the extra topes would only bloat saturation.
+      , [ leq
+        | TopeEQT _ty x y <- newTopes
+        , isLatticePoint x || isLatticePoint y
+        , leq <- [topeLEQT x y, topeLEQT y x] ]
       ]
 
+-- | Is this cube point a lattice term (a @sup@ or @inf@)? Used to keep the
+-- lattice-specific solver work (equality-to-order generation, the
+-- antisymmetry fallback for equality goals) off the equality-heavy
+-- non-lattice fragment, where it would only cost time without proving
+-- anything new.
+isLatticePoint :: TermT n -> Bool
+isLatticePoint CubeSupT{} = True
+isLatticePoint CubeInfT{} = True
+isLatticePoint _          = False
+
 generateTopesForPointsM :: Distinct n => [TermT n] -> TypeCheck n [TermT n]
 generateTopesForPointsM points = do
   let endpoints = [cube2_0T, cube2_1T, cubeI_0T, cubeI_1T]
@@ -687,23 +729,45 @@
       solveRHSM modalTopes $ topeAndT
         (topeEQT (firstT cubeI l) x)
         (topeEQT (secondT cubeJ l) y)
-    TopeEQT  _ty l r
-      | or
-          [ eqT l r
-          , goal `elemT` topes
-          , topeEQT r l `elemT` topes
-          ] -> return True
+    TopeEQT  _ty Cube2_0T{} CubeI_0T{} -> return True
+    TopeEQT  _ty CubeI_0T{} Cube2_0T{} -> return True
+    TopeEQT  _ty Cube2_1T{} CubeI_1T{} -> return True
+    TopeEQT  _ty CubeI_1T{} Cube2_1T{} -> return True
     TopeEQT  _ty l r -> do
-      lType <- typeOf l
-      rType <- typeOf r
-      return $ case (lType, rType) of
-        (CubeUnitT{}, CubeUnitT{}) -> True
-        _                          -> False
+      let old = or
+            [ eqT l r
+            , goal `elemT` topes
+            , topeEQT r l `elemT` topes
+            ]
+      if old
+        then return True
+        else do
+          lType <- typeOf l
+          rType <- typeOf r
+          case (lType, rType) of
+            (CubeUnitT{}, CubeUnitT{}) -> return True
+            -- Antisymmetry: prove @l ≡ r@ from @l ≤ r ∧ r ≤ l@. Only worth
+            -- trying when a side is a lattice term (the law goals like
+            -- @sup a b ≡ sup b a@); on the non-lattice fragment this cannot
+            -- prove anything the @old@ check above did not, so we skip it to
+            -- leave ordinary sHoTT solving unchanged from before the lattice.
+            _ | isLatticePoint l || isLatticePoint r ->
+                  solveRHSM modalTopes (topeAndT (topeLEQT l r) (topeLEQT r l))
+            _ -> return False
     TopeLEQT _ty l r
       | eqT l r -> return True
+      | goal `elemT` topes -> return True
       | solveRHS topes (topeEQT l r) -> return True
       | solveRHS topes (topeEQT l cube2_0T) -> return True
       | solveRHS topes (topeEQT r cube2_1T) -> return True
+    TopeLEQT _ty (CubeSupT _ a b) r ->
+      solveRHSM modalTopes (topeAndT (topeLEQT a r) (topeLEQT b r))
+    TopeLEQT _ty l (CubeInfT _ a b) ->
+      solveRHSM modalTopes (topeAndT (topeLEQT l a) (topeLEQT l b))
+    TopeLEQT _ty l (CubeSupT _ a b) ->
+      solveRHSM modalTopes (topeOrT (topeLEQT l a) (topeLEQT l b))
+    TopeLEQT _ty (CubeInfT _ a b) r ->
+      solveRHSM modalTopes (topeOrT (topeLEQT a r) (topeLEQT b r))
     TopeAndT _ l r -> solveRHSM modalTopes l >>= \case
       False -> return False
       True  -> solveRHSM modalTopes r
@@ -751,6 +815,10 @@
     TopeEQT  _ty l (PairT TypeInfo{ infoType = CubeProductT _ cubeI cubeJ } x y)
       | solveRHS topes (topeEQT (firstT cubeI l) x)
       , solveRHS topes (topeEQT (secondT cubeJ l) y) -> True
+    TopeEQT  _ty Cube2_0T{} CubeI_0T{} -> True
+    TopeEQT  _ty CubeI_0T{} Cube2_0T{} -> True
+    TopeEQT  _ty Cube2_1T{} CubeI_1T{} -> True
+    TopeEQT  _ty CubeI_1T{} Cube2_1T{} -> True
     TopeEQT  _ty l r -> or
       [ eqT l r
       , tope `elemT` topes
@@ -1035,6 +1103,8 @@
   CubeI_1T{} -> pure tt
   CubeFlipT{} -> nfTope tt
   CubeUnflipT{} -> nfTope tt
+  CubeSupT{} -> nfTope tt
+  CubeInfT{} -> nfTope tt
 
   -- tope layer (except vars, pairs of points, and applications)
   TopeTopT{} -> pure tt
@@ -1138,6 +1208,11 @@
                 []   -> whnfT type_  -- get rid of restrictions at BOT
                 rs'' -> TypeRestrictedT ty <$> whnfT type_ <*> pure rs''
 
+            -- a match is elaborated into its eliminator spine during
+            -- typechecking; a typed match node never exists
+            MatchT{} -> panicImpossible "a typed match survives elaboration"
+            MatchArmT{} -> panicImpossible "a typed match arm survives elaboration"
+
 -- | The branch of a @recOR@ (or the face of a restriction) whose guard holds.
 firstMatching :: Distinct n => [(TermT n, TermT n)] -> TypeCheck n (Maybe (TermT n))
 firstMatching [] = pure Nothing
@@ -1182,8 +1257,79 @@
 applySpine scope h pairs = whnfT h >>= \h' -> case h' of
   LambdaT _ _ _ (ScopedAST binder body) | (_, x) : rest <- pairs ->
     peelLambdas scope (Foil.addSubst Foil.identitySubst binder x) body rest
-  _ -> applyNeutral scope h' pairs
+  _ -> do
+    -- The head may itself be a (neutral) application: a definition whose
+    -- value is an under-applied eliminator, say. The ι-rule needs the full
+    -- spine, so the head's own arguments are collected back in.
+    let (h'', headPairs) = collectAppSpine h'
+    tryDataElimStep h'' (headPairs <> pairs) >>= \case
+      Just stepped -> whnfT stepped
+      Nothing      -> applyNeutral scope h' pairs
 
+-- | Try to fire a @#data@ ι-rule on an application spine: the head is a
+-- generated eliminator, the scrutinee argument is headed by a fully applied
+-- constructor of the same datatype. Returns the method applied to the
+-- constructor's fields (and any leftover spine arguments), unreduced.
+--
+-- A non-'Var' head answers 'Nothing' immediately, so the common neutral
+-- spine pays one pattern match; a 'Var' head pays one 'lookupVarInfo'.
+tryDataElimStep
+  :: Distinct n
+  => TermT n                          -- ^ the head, in WHNF
+  -> [(TypeInfo (TermT n), TermT n)]  -- ^ the collected spine arguments
+  -> TypeCheck n (Maybe (TermT n))
+tryDataElimStep (Var v) pairs = asks (varDataRole . lookupVarInfo v) >>= \case
+  Just (DataRole dataType numParams (DataElimKind numMethods numIndices _elimKind))
+    -- The spine is parameters, motive, methods, indices, scrutinee. The
+    -- index arguments are dropped on a step: the scrutinee determines them.
+    | (beforeIndices, rest) <- splitAt (numParams + 1 + numMethods) pairs
+    , (_indices, (_, scrut) : after) <- splitAt numIndices rest ->
+        whnfT scrut >>= \scrut' -> case collectAppSpine scrut' of
+          (Var c, cargs) -> asks (varDataRole . lookupVarInfo c) >>= \case
+            Just (DataRole dataType' conNumParams (DataConKind conIndex conNumFields recIdxs))
+              | Foil.nameId dataType' == Foil.nameId dataType
+              , length cargs == conNumParams + conNumFields -> do
+                  let method = snd (pairs !! (numParams + 1 + conIndex))
+                      fields = map snd (drop conNumParams cargs)
+                      prefixArgs = map snd beforeIndices
+                  -- The method takes an induction hypothesis right after each
+                  -- recursive field: the eliminator itself, applied to the
+                  -- field's own indices (read off the field's type) and the
+                  -- field. The spine is built here; evaluation stays lazy.
+                  args <- fmap concat $ forM (zip [0 ..] fields) $ \(j, fieldArg) ->
+                    if j `elem` recIdxs
+                      then do
+                        fieldIxs <-
+                          if numIndices == 0
+                            then pure []
+                            else do
+                              fieldTy <- typeOf fieldArg
+                              case collectAppSpine fieldTy of
+                                (Var d, targs)
+                                  | Foil.nameId d == Foil.nameId dataType ->
+                                      pure (map snd (drop conNumParams targs))
+                                _ -> panicImpossible
+                                  "a recursive field's type is not the datatype"
+                        ih <- applyTyped (Var v) (prefixArgs <> fieldIxs <> [fieldArg])
+                        pure [fieldArg, ih]
+                      else pure [fieldArg]
+                  Just <$> applyTyped method (args <> map snd after)
+            _ -> pure Nothing
+          _ -> pure Nothing
+  _ -> pure Nothing
+tryDataElimStep _ _ = pure Nothing
+
+-- | Apply a term to arguments left to right, annotating each application
+-- node with its actual type. The spine machinery reuses the annotations of
+-- existing nodes, which a freshly built ι-redex does not have.
+applyTyped :: Distinct n => TermT n -> [TermT n] -> TypeCheck n (TermT n)
+applyTyped f [] = pure f
+applyTyped f (x : xs) = typeOf f >>= \case
+  TypeFunT _info _orig _md _param _mtope ret -> do
+    retTy <- instantiate ret x
+    applyTyped (appT retTy f x) xs
+  _ -> panicImpossible "ι-rule applies a method beyond its arity"
+
 -- | Peel the head's syntactic lambda chain into one substitution, then reduce.
 -- @subst@ maps the binders consumed so far to their arguments; @body@ is the
 -- current lambda's body, at the scope those binders extended into.
@@ -1232,6 +1378,32 @@
 
 -- * Normal form of the tope layer
 
+nfSupT :: TermT n -> TermT n -> TermT n -> TermT n
+nfSupT ty l r = case (l, r) of
+  (Cube2_0T{}, _) -> r
+  (_, Cube2_0T{}) -> l
+  (Cube2_1T{}, _) -> l
+  (_, Cube2_1T{}) -> r
+  (CubeI_0T{}, _) -> r
+  (_, CubeI_0T{}) -> l
+  (CubeI_1T{}, _) -> l
+  (_, CubeI_1T{}) -> r
+  _               -> cubeSupT ty l r
+
+nfInfT :: TermT n -> TermT n -> TermT n -> TermT n
+nfInfT ty l r = case (l, r) of
+  (Cube2_0T{}, _) -> l
+  (_, Cube2_0T{}) -> r
+  (Cube2_1T{}, _) -> r
+  (_, Cube2_1T{}) -> l
+  (CubeI_0T{}, _) -> l
+  (_, CubeI_0T{}) -> r
+  (CubeI_1T{}, _) -> r
+  (_, CubeI_1T{}) -> l
+  (CubeSupT _ a b, _) -> nfSupT ty (nfInfT ty a r) (nfInfT ty b r)
+  (_, CubeSupT _ a b) -> nfSupT ty (nfInfT ty l a) (nfInfT ty l b)
+  _                   -> cubeInfT ty l r
+
 nfTope :: Distinct n => TermT n -> TypeCheck n (TermT n)
 nfTope tt = performing (ActionNF tt) $ fmap termIsNF $ case tt of
   HoleT{} -> pure tt
@@ -1283,6 +1455,16 @@
       ModAppT _ Op CubeI_1T{} -> pure cubeI_0T
       t'                      -> pure (CubeUnflipT ty t')
 
+  CubeSupT ty l r -> do
+    l' <- nfTope l
+    r' <- nfTope r
+    pure (nfSupT (infoType ty) l' r')
+
+  CubeInfT ty l r -> do
+    l' <- nfTope l
+    r' <- nfTope r
+    pure (nfInfT (infoType ty) l' r')
+
   -- tope layer constants
   TopeTopT{} -> pure tt
   TopeBottomT{} -> pure tt
@@ -1444,6 +1626,8 @@
   ReflT{} -> panicImpossible "refl in the tope layer"
   IdJT{} -> panicImpossible "idJ eliminator in the tope layer"
   TypeRestrictedT{} -> panicImpossible "extension types in the tope layer"
+  MatchT{} -> panicImpossible "a typed match survives elaboration"
+  MatchArmT{} -> panicImpossible "a typed match arm survives elaboration"
 
   -- A recOR/recBOT is a term-level eliminator, never a tope. It should have been
   -- rejected before reaching here (see the RecOr case of 'typecheck'); as a safety
@@ -1474,6 +1658,8 @@
   CubeProductT{} -> nfTope tt
   CubeFlipT{} -> nfTope tt
   CubeUnflipT{} -> nfTope tt
+  CubeSupT{} -> nfTope tt
+  CubeInfT{} -> nfTope tt
 
   -- tope layer constants
   TopeTopT{} -> pure tt
@@ -1530,7 +1716,14 @@
                 x' <- enterModality md $ nfT x
                 sideCondition <- instantiate tope x' >>= nfT
                 pure (topeAndT (AppT ty f' x') sideCondition)
-              _ -> AppT ty <$> nfT f' <*> nfT x
+              _ -> do
+                -- The ι-redex of a generated eliminator only exists at the
+                -- node holding the full spine, which the recursion above
+                -- never hands to 'whnfT' as a whole.
+                let (h, pairs) = collectAppSpine (AppT ty f' x)
+                tryDataElimStep h pairs >>= \case
+                  Just stepped -> nfT stepped
+                  Nothing      -> AppT ty <$> nfT f' <*> nfT x
         LetT _ty _orig _mparam val body ->
           instantiate body val >>= nfT
         LetModT ty orig app inn mparam val body ->
@@ -1613,3 +1806,8 @@
           case catMaybes rs' of
             []   -> nfT type_
             rs'' -> TypeRestrictedT ty <$> nfT type_ <*> pure rs''
+
+        -- a match is elaborated into its eliminator spine during typechecking;
+        -- a typed match node never exists
+        MatchT{} -> panicImpossible "a typed match survives elaboration"
+        MatchArmT{} -> panicImpossible "a typed match arm survives elaboration"
diff --git a/src/Rzk/TypeCheck/Judgements.hs b/src/Rzk/TypeCheck/Judgements.hs
--- a/src/Rzk/TypeCheck/Judgements.hs
+++ b/src/Rzk/TypeCheck/Judgements.hs
@@ -18,22 +18,33 @@
 import           Control.Applicative      ((<|>))
 import           Control.Monad            (forM, forM_, unless, when)
 import           Control.Monad.Except     (catchError)
-import           Control.Monad.Reader     (asks, local)
+import           Control.Monad.Reader     (ask, asks, local)
 import           Control.Monad.Writer.CPS (censor)
-import           Data.List                (intercalate, tails)
+import           Data.List                (intercalate, sortOn, tails)
+import qualified Data.IntMap              as IntMap
+import qualified Data.IntSet              as IntSet
+import           Data.Bifunctor           (bimap)
+import qualified Data.Map                 as Map
+import qualified Data.Set                 as Set
 import           Data.Maybe               (fromMaybe, isNothing)
 import           Data.String              (fromString)
+import qualified Data.Text                as T
 
 import           Control.Monad.Foil       (Distinct)
 import qualified Control.Monad.Foil       as Foil
-import           Control.Monad.Free.Foil  (AST (Var), ScopedAST (..))
+import           Control.Monad.Foil.Internal (NameMap (..))
+import           Control.Monad.Free.Foil  (AST (Node, Var), ScopedAST (..),
+                                           alphaEquiv)
 
+import qualified Language.Rzk.Foil.Convert as Convert
 import           Language.Rzk.Foil.Syntax
 import           Language.Rzk.Foil.Names (Binder (..), TModality (..),
                                            TypeInfo (..), VarIdent,
                                            binderDisplayName, binderIsCompound,
                                            binderLeaves, binderName,
-                                           freshenBinderLeaves, getVarIdent,
+                                           binderToPattern,
+                                           freshenBinderLeavesIn, getVarIdent,
+                                           markUnresolved, refreshVarIn,
                                            ppVarIdentWithLocation,
                                            unmarkUnresolved)
 import qualified Language.Rzk.Syntax      as Rzk
@@ -95,6 +106,120 @@
 mkHole :: TermT n -> TermT n
 mkHole t = HoleT TypeInfo{ infoType = t, infoWHNF = Nothing, infoNF = Nothing } Nothing
 
+-- | The constructors of a @#data@ type former, in declaration order; empty
+-- for anything else. Found by their roles: the type former itself carries
+-- none, so the scan is over the names in scope.
+dataConstructorsOf :: Foil.Name n -> TypeCheck n [Foil.Name n]
+dataConstructorsOf d = do
+  ctx <- ask
+  pure $ map snd $ sortOn fst
+    [ (idx, v)
+    | v <- ctxBound ctx
+    , Just (DataRole d' _ (DataConKind idx _ _)) <- [varDataRole (lookupVarInfo v ctx)]
+    , Foil.nameId d' == Foil.nameId d
+    ]
+
+-- | The generated eliminators of a @#data@ type former (@ind-D@ before
+-- @rec-D@), with their roles.
+dataEliminatorsOf :: Foil.Name n -> TypeCheck n [(Foil.Name n, DataRole n)]
+dataEliminatorsOf d = do
+  ctx <- ask
+  pure $ map snd $ sortOn fst
+    [ (order, (v, role))
+    | v <- ctxBound ctx
+    , Just role@(DataRole d' _ (DataElimKind _ _ elimKind)) <-
+        [varDataRole (lookupVarInfo v ctx)]
+    , Foil.nameId d' == Foil.nameId d
+    , let order = case elimKind of ElimInd -> 0 :: Int; ElimRec -> 1
+    ]
+
+-- | A term of the given type built as λ-binders over a single typed hole
+-- (structurally: the motive types the generator builds are literal
+-- Π-chains). The eliminators pass such a motive so that their result type
+-- β-reduces to the hole and fits any goal, exactly like @idJ@'s motive.
+lambdaHoleOf :: Distinct n => Set.Set VarIdent -> Foil.Scope n -> TermT n -> TermT n
+lambdaHoleOf taken scope ty = case ty of
+  TypeFunT _info orig _md _param _mtope ret ->
+    Foil.withFresh scope $ \b ->
+      let scope' = Foil.extendScope b scope
+          retAt = openWith scope' (Foil.nameOf b) ret
+          -- The binders are named here, in the move, freshened against the
+          -- names taken at the hole: an anonymous binder would otherwise be
+          -- named at render time (bypassing the freshening), and an
+          -- accepted move must not shadow anything visible.
+          named = case orig of
+            BinderVar mx -> BinderVar (Just (refreshVarIn taken (fromMaybe "x₁" mx)))
+            other        -> freshenBinderLeavesIn taken other
+          taken' = foldr Set.insert taken (binderLeaves named)
+       in lambdaT ty named Nothing (ScopedAST b (lambdaHoleOf taken' scope' retAt))
+  _ -> mkHole ty
+
+-- | A match over a hypothesis, one branch per constructor with a hole body:
+-- the notational candidate offered beside the @ind-@\/@rec-@ spines. The node
+-- is display-only (its annotations are dropped before rendering), so its type
+-- infos are holes. Branch binders reuse the constructor's declared field
+-- names, with an induction hypothesis named @ih@, freshened against the names
+-- taken at the hole exactly as 'lambdaHoleOf' freshens its motive binders.
+matchHoleOf
+  :: Distinct n
+  => Context n -> Set.Set VarIdent -> Foil.Scope n
+  -> Int -> [Foil.Name n] -> TermT n -> TermT n
+matchHoleOf ctx taken scope numParams cons term =
+  MatchT anyInfo term Nothing
+    [ (name, armChain scope (branchBinders c))
+    | c <- cons
+    , Just name <- [binderName (varOrig (lookupVarInfo c ctx))]
+    ]
+  where
+    anyInfo :: TypeInfo (TermT x)
+    anyInfo = TypeInfo { infoType = mkHole universeT, infoWHNF = Nothing, infoNF = Nothing }
+
+    -- one binder per method argument: the declared fields, each recursive
+    -- field followed by its induction hypothesis
+    branchBinders c =
+      let info = lookupVarInfo c ctx
+          (numFields, recIdxs) = case varDataRole info of
+            Just (DataRole _ _ (DataConKind _ nf ri)) -> (nf, ri)
+            _                                         -> (0, [])
+          fields = piBinders numParams numFields (varType info)
+       in named taken (concat
+            [ b : [ BinderVar (Just "ih") | j `elem` recIdxs ]
+            | (j, b) <- zip [(0 :: Int) ..] fields ])
+
+    -- the binders of a Π-chain: skip the parameters, take the fields
+    piBinders :: Int -> Int -> TermT x -> [Binder]
+    piBinders _ 0 _ = []
+    piBinders skip take_ (TypeFunT _ orig _ _ _ (ScopedAST _ body))
+      | skip > 0  = piBinders (skip - 1) take_ body
+      | otherwise = orig : piBinders 0 (take_ - 1) body
+    piBinders _ _ _ = []
+
+    named _ [] = []
+    named taken' (b : bs) =
+      let b' = case b of
+            BinderVar mx -> BinderVar (Just (refreshVarIn taken' (fromMaybe "x₁" mx)))
+            other        -> freshenBinderLeavesIn taken' other
+          taken'' = foldr Set.insert taken' (binderLeaves b')
+       in b' : named taken'' bs
+
+    armChain :: Distinct x => Foil.Scope x -> [Binder] -> TermT x
+    armChain _ [] = mkHole (mkHole universeT)
+    armChain sc (b : bs) = Foil.withFresh sc $ \nb ->
+      MatchArmT anyInfo b (ScopedAST nb (armChain (Foil.extendScope nb sc) bs))
+
+-- | Apply a term along its Π-type: a 'Just' is the argument to use, a
+-- 'Nothing' becomes a typed hole. Stops when the plan runs out.
+applyPlan :: Distinct n => TermT n -> [Maybe (TermT n)] -> TypeCheck n (TermT n)
+applyPlan t [] = pure t
+applyPlan t (planned : plan) = typeOf t >>= \case
+  TypeFunT _info _orig _md param _mtope ret -> do
+    let arg = case planned of
+          Just a  -> a
+          Nothing -> mkHole param
+    retAt <- instantiate ret arg
+    applyPlan (appT retAt t arg) plan
+  _ -> pure t
+
 -- | How many /branching/ eliminators 'allEliminationsInto' will chain.
 --
 -- A forced Π-application is free (see 'allEliminationsInto'), so this bounds only
@@ -125,18 +250,28 @@
 -- does not spend the budget. Only the genuinely branching eliminators count
 -- against 'maxEliminationDepth', so the bound limits real search depth, not
 -- argument count, and a lemma that must be applied to many holes is still reached.
+--
+-- A spine over a top-level hypothesis is emitted only once its meta prefix
+-- (see "Rzk.TypeCheck.MetaPrefix") is fully applied: an unsaturated schema
+-- is not a suggestion, mirroring the warn-meta-prefix discipline. The search
+-- still passes through the unsaturated stages, so the saturated spines
+-- behind them are found; only the emission is gated.
 allEliminationsInto
-  :: Distinct n => TermT n -> TermT n -> TypeCheck n [TermT n]
-allEliminationsInto target = go maxEliminationDepth
+  :: Distinct n => TermT n -> Set.Set VarIdent -> TermT n -> TypeCheck n [TermT n]
+allEliminationsInto target takenNames hyp = do
+  minApps <- case hyp of
+    Var v -> asks (varMetaPrefix . lookupVarInfo v)
+    _     -> pure 0
+  go minApps maxEliminationDepth hyp
   where
-    go depth term = do
+    go minApps depth term = do
       ty    <- typeOf term
-      fits  <- fitsInto term ty target
-      elims <- eliminatorsOf ty
-      let step (SpineStep, wrap) = go depth =<< wrap term
+      fits  <- if minApps <= 0 then fitsInto term ty target else pure False
+      elims <- eliminatorsOf takenNames ty
+      let step (SpineStep, wrap) = go (minApps - 1) depth =<< wrap term
           step (Branching, wrap)
             | depth <= 0 = pure []
-            | otherwise  = go (depth - 1) =<< wrap term
+            | otherwise  = go minApps (depth - 1) =<< wrap term
       deeper <- concat <$> mapM step elims
       pure ([term | fits] <> deeper)
 
@@ -157,7 +292,7 @@
 fitsInto term ty target = do
   ty'     <- stripTypeRestrictions <$> whnfT ty
   target' <- stripTypeRestrictions <$> whnfT target
-  censor (const []) $ local structuralHoleUnify
+  censor (const mempty) $ local structuralHoleUnify
     ((unify (Just term) target' ty' >> pure True) `catchError` \_ -> pure False)
 
 -- | The eliminators a value of the given (weak head normal) type admits, each as a
@@ -167,10 +302,14 @@
 -- either projection; an identity type by path induction (@idJ@), with the motive
 -- and base case left as holes. The projections and @idJ@ branch. Anything else
 -- admits no simple eliminator.
+--
+-- The names taken at the hole (the source namespace) are passed in so that
+-- every binder an eliminator introduces (the @idJ@ motive's @\\ b q → ?@, a
+-- data eliminator's motive λs) is named in the move, freshened against them.
 eliminatorsOf
   :: Distinct n
-  => TermT n -> TypeCheck n [(ElimCost, TermT n -> TypeCheck n (TermT n))]
-eliminatorsOf ty =
+  => Set.Set VarIdent -> TermT n -> TypeCheck n [(ElimCost, TermT n -> TypeCheck n (TermT n))]
+eliminatorsOf takenNames ty =
   case stripTypeRestrictions ty of
     TypeFunT _ty _orig _md param _mtope ret ->
       pure [ (SpineStep, \term -> do
@@ -196,7 +335,7 @@
     TypeIdT _ty a mtA x -> do
       tA <- maybe (typeOf a) pure mtA
       scope <- asks ctxScope
-      let c = motiveOf scope a tA
+      let c = motiveOf takenNames scope a tA
           dType = appT universeT
                     (appT (typeFunT (BinderVar Nothing) Id (typeIdT a (Just tA) a) Nothing
                             (closedScope scope universeT))
@@ -208,7 +347,40 @@
                     (closedScope scope universeT))
               c y) p
       pure [ (Branching, \p -> pure (idJT (motiveAt x p) tA a c d x p)) ]
-    _ -> pure []
+    -- A value of a #data type is eliminated by its generated eliminators:
+    -- the parameters and indices are read off the hypothesis's type, the
+    -- motive and methods are left as holes. The match notation for the same
+    -- elimination is offered first, one hole per branch (an empty family has
+    -- no branch syntax, so it gets only the eliminators).
+    other -> case collectAppSpine other of
+      (Var d, dargs0) -> do
+        let dargs = map snd dargs0
+        elims <- dataEliminatorsOf d
+        cons <- dataConstructorsOf d
+        ctx <- ask
+        scope <- asks ctxScope
+        let matchMoves =
+              [ (Branching, \term ->
+                  pure (matchHoleOf ctx takenNames scope numParams cons term))
+              | not (null cons)
+              , (_, DataRole _ numParams _) : _ <- [elims]
+              ]
+            elimSpines =
+              [ (Branching, \term -> do
+                  let (paramArgs, indexArgs) = splitAt numParams dargs
+                  atMotive <- applyPlan (Var e) (map Just paramArgs)
+                  -- The motive is a λ over a hole (not a bare hole), so the
+                  -- eliminator's result type β-reduces to the hole and fits
+                  -- any goal; cf. the idJ case above.
+                  motive <- typeOf atMotive >>= \case
+                    TypeFunT _ _ _ motiveTy _ _ -> pure (lambdaHoleOf takenNames scope motiveTy)
+                    _ -> pure (mkHole universeT)
+                  applyPlan atMotive
+                    (Just motive : replicate numMethods Nothing
+                      <> map Just indexArgs <> [Just term]))
+              | (e, DataRole _ numParams (DataElimKind numMethods _numIndices _)) <- elims ]
+        pure (matchMoves <> elimSpines)
+      _ -> pure []
 
 -- | A scoped term that does not use its binder.
 closedScope :: Distinct n => Foil.Scope n -> (forall l. TermT l) -> ScopedTermT n
@@ -216,24 +388,28 @@
 
 -- | The motive @\\ b q → ?@ of a path induction: a type in the two motive binders,
 -- left as a hole.
-motiveOf :: Distinct n => Foil.Scope n -> TermT n -> TermT n -> TermT n
-motiveOf scope a tA =
+motiveOf :: Distinct n => Set.Set VarIdent -> Foil.Scope n -> TermT n -> TermT n -> TermT n
+motiveOf takenNames scope a tA =
   Foil.withFresh scope $ \bBinder ->
     let scopeB = Foil.extendScope bBinder scope
         b = Var (Foil.nameOf bBinder)
         idTypeAtB = typeIdT (Foil.sink a) (Just (Foil.sink tA)) b
+        -- the motive's own binders must not shadow anything visible at the
+        -- hole (the move is inserted as source text)
+        bName = refreshVarIn takenNames "b"
+        qName = refreshVarIn (Set.insert bName takenNames) "q"
      in Foil.withFresh scopeB $ \qBinder ->
           let cBody = mkHole universeT
               cInner = lambdaT
                 (typeFunT (BinderVar Nothing) Id idTypeAtB Nothing
                   (ScopedAST qBinder universeT))
-                (BinderVar (Just "q")) Nothing
+                (BinderVar (Just qName)) Nothing
                 (ScopedAST qBinder cBody)
               cType = typeFunT (BinderVar Nothing) Id tA Nothing
                 (ScopedAST bBinder
                   (typeFunT (BinderVar Nothing) Id idTypeAtB Nothing
                     (ScopedAST qBinder universeT)))
-           in lambdaT cType (BinderVar (Just "b")) Nothing (ScopedAST bBinder cInner)
+           in lambdaT cType (BinderVar (Just bName)) Nothing (ScopedAST bBinder cInner)
 
 -- | The binder for a λ introduced over a domain type.
 --
@@ -299,13 +475,22 @@
 -- name (@hom@, whose internal binder is @t@) yields @\\ t₁ -> ?@ rather than a @t@
 -- that shadows the existing one.
 allIntroductionsOf
-  :: Distinct n => TermT n -> [VarIdent] -> TypeCheck n [TermT n]
-allIntroductionsOf target inScopeNames = do
+  :: Distinct n => TermT n -> Set.Set VarIdent -> TypeCheck n [TermT n]
+allIntroductionsOf target takenNames = do
   target' <- stripTypeRestrictions <$> whnfT target
   scope <- asks ctxScope
   case target' of
     TypeFunT _ty orig _md param _mtope ret -> do
-      let binder = freshenBinderLeaves inScopeNames (destructuringBinder orig param)
+      -- An anonymous Π binder (a domain written @B → …@) must still be
+      -- named in the offered move: the rendered λ shows its binder, and
+      -- leaving the naming to the renderer would bypass the freshening
+      -- below, shadowing an enclosing binder that already took the first
+      -- default name. Name it here — the first default name, which the
+      -- freshening bumps past everything visible at the hole.
+      let named = case destructuringBinder orig param of
+            BinderVar Nothing -> BinderVar (Just "x₁")
+            b                 -> b
+          binder = freshenBinderLeavesIn takenNames named
       pure $ Foil.withFresh scope $ \b ->
         let retAt = openWith (Foil.extendScope b scope) (Foil.nameOf b) ret
          in [ lambdaT target' binder Nothing (ScopedAST b (mkHole retAt)) ]
@@ -328,14 +513,69 @@
        in pure [ topeTopT, topeBottomT
                , topeEQT  point point, topeLEQT point point
                , topeAndT tope  tope,  topeOrT  tope  tope ]
-    _ -> pure []
+    -- the universe: a type is built by a type former, so each is an
+    -- introduction of a U-goal — a function type, a Σ-type, an identity type,
+    -- the unit type, and every user-declared datatype in scope (applied to
+    -- holes through its parameter telescope). The Σ binder is named, so it is
+    -- freshened like a λ-introduction's binder; the identity type's endpoints
+    -- are terms of an as-yet-unknown type, like the tope universe's points.
+    UniverseT{} -> do
+      ctx <- ask
+      let arrow = typeFunT (BinderVar Nothing) Id (mkHole universeT) Nothing
+                    (closedScope scope (mkHole universeT))
+          sigma = typeSigmaT (BinderVar (Just (refreshVarIn takenNames "x"))) Id
+                    (mkHole universeT) (closedScope scope (mkHole universeT))
+          endpointTy = mkHole universeT
+          identity = typeIdT (mkHole endpointTy) (Just endpointTy) (mkHole endpointTy)
+          formerIds =
+            [ Foil.nameId (dataRoleDataType role)
+            | (_, info) <- varsInScope ctx
+            , Just role <- [varDataRole info]
+            ]
+          formers =
+            [ v
+            | (v, info) <- varsInScope ctx
+            , varIsTopLevel info
+            , Foil.nameId v `elem` formerIds
+            ]
+      datatypes <- mapM (saturateWithHoles . Var) formers
+      pure ([arrow, sigma, identity, typeUnitT] <> datatypes)
+    -- A goal headed by a #data type former is introduced by a constructor
+    -- applied to holes; a constructor whose return indices cannot meet the
+    -- goal's (nil against vec A (suc n), say) is filtered out.
+    _ -> case collectAppSpine target' of
+      (Var d, _) -> do
+        ctx <- ask
+        cons <- dataConstructorsOf d
+        fmap concat $ forM cons $ \c ->
+          case varDataRole (lookupVarInfo c ctx) of
+            Just (DataRole _ numParams (DataConKind _ numFields _)) -> do
+              saturated <- applyPlan (Var c)
+                (replicate (numParams + numFields) Nothing)
+              satTy <- typeOf saturated
+              ok <- fitsInto saturated satTy target'
+              pure [ saturated | ok ]
+            _ -> pure []
+      _ -> pure []
 
+-- | Apply a term to holes through its whole Π-telescope: a datatype former
+-- applied through its parameters, so a @U@-goal offers @coprod ? ?@.
+saturateWithHoles :: Distinct n => TermT n -> TypeCheck n (TermT n)
+saturateWithHoles term = do
+  ty <- typeOf term
+  case stripTypeRestrictions ty of
+    TypeFunT _ _ _ param _ ret -> do
+      let h = mkHole param
+      retAt <- instantiate ret h
+      saturateWithHoles (appT retAt term h)
+    _ -> pure term
+
 -- | Whether the two endpoints of an identity type are definitionally equal, so that
 -- @refl@ inhabits it. Like 'fitsInto', any holes or constraints recorded while
 -- probing are discarded, leaving a pure yes\/no query.
 endpointsAgree :: Distinct n => TermT n -> TermT n -> TypeCheck n Bool
 endpointsAgree a b =
-  censor (const [])
+  censor (const mempty)
     ((unify Nothing a b >> pure True) `catchError` \_ -> pure False)
 
 -- | Ex falso: in a contradictory tope context @recBOT@ inhabits any type, so it is a
@@ -406,6 +646,92 @@
   , name `elem` ctxHintLemmas ctx
   ]
 
+-- * Moves must parse back
+
+-- | The elaboration environment at the current position: every in-scope
+-- entry contributes its source name — a pattern its leaves, as projection
+-- chains over the variable it binds — and an inner binding wins, exactly
+-- as the elaborator resolves an identifier written here. Kept as a table
+-- so 'sourceResolvesTo' and 'parsesBackTo' share it.
+positionTable :: Context n -> Map.Map VarIdent (Term n)
+positionTable ctx = Map.fromList $ concat
+  -- 'varsInScope' lists entries oldest first, and 'Map.fromList' keeps the
+  -- last value per key, so an inner binding shadows an outer one.
+  [ entryBindings (varOrig info) v
+  | (v, info) <- varsInScope ctx
+  ]
+  where
+    entryBindings orig v = case orig of
+      BinderVar (Just x) -> [(x, Var v)]
+      BinderVar Nothing  -> []
+      BinderUnit         -> []
+      b                  -> Convert.bindings (binderToPattern b) (Var v)
+
+-- | Does this variable's own source name, written at the current position,
+-- resolve back to it?
+sourceResolvesTo :: Map.Map VarIdent (Term n) -> VarIdent -> Foil.Name n -> Bool
+sourceResolvesTo table src v = case Map.lookup src table of
+  Just (Var v') -> Foil.nameId v' == Foil.nameId v
+  _             -> False
+
+-- | Does a rendered move, inserted as source text at the current position,
+-- parse and resolve back to the very term it renders? The comparison is
+-- α-equivalence of the untyped skeletons: a move is well-typed by
+-- construction, and insertion is a question of naming. This is the exact
+-- form of the old referability guard, and it enforces the move contract
+-- for everything emitted — a shadowing or unresolvable name anywhere in
+-- the rendering shows up as a resolution difference and drops the move.
+parsesBackTo
+  :: Distinct n
+  => Map.Map VarIdent (Term n) -> TermT n -> Rendered -> TypeCheck n Bool
+parsesBackTo table move rendered = do
+  ctx <- ask
+  let scope = ctxScope ctx
+      units = IntSet.fromList
+        [ Foil.nameId v
+        | (v, info) <- varsInScope ctx
+        , BinderUnit <- [varOrig info]
+        ]
+      collapse = unitPointCollapse units . pairEtaCollapse scope
+      env name = Map.findWithDefault (Hole (Just (markUnresolved name))) name table
+  pure $ case Rzk.parseTerm (T.pack (show rendered)) of
+    Left _        -> False
+    Right surface ->
+      alphaEquiv scope
+        (collapse (Convert.toTerm scope env surface))
+        (collapse (untyped move))
+
+-- | Collapse a literal pair of matching projections, recursively along the
+-- pair spine: @(π₁ p, π₂ p)@ reads back as @p@. This is exactly what the
+-- whole-point rendering of a pattern-bound variable parses to (the pattern
+-- @(x, y)@ resolves to the projections), so the comparison in
+-- 'parsesBackTo' absorbs the projection-folding convention.
+pairEtaCollapse :: Distinct n => Foil.Scope n -> Term n -> Term n
+pairEtaCollapse scope t = case t of
+  Pair l r ->
+    case (pairEtaCollapse scope l, pairEtaCollapse scope r) of
+      (First a, Second b) | alphaEquiv scope a b -> a
+      (l', r')                                   -> Pair l' r'
+  _ -> t
+
+-- | Collapse a variable bound by the unit pattern to the constructor. A
+-- @\\ unit → …@ binds a point of @Unit@ whose whole-point rendering (and the
+-- only way to write it) is @unit@, which parses back as the constructor. The
+-- two are the same point of the singleton, so the comparison in
+-- 'parsesBackTo' treats them as one, exactly as 'pairEtaCollapse' absorbs
+-- the projection-folding convention.
+unitPointCollapse :: IntSet.IntSet -> Term l -> Term l
+unitPointCollapse units = go
+  where
+    go :: Term x -> Term x
+    go t@(Var x)
+      | Foil.nameId x `IntSet.member` units = Unit
+      | otherwise                           = t
+    go (Node sig) = Node (bimap goScoped go sig)
+
+    goScoped :: ScopedTerm x -> ScopedTerm x
+    goScoped (ScopedAST b body) = ScopedAST b (go body)
+
 -- | Record the goal and local context at a hole (lenient mode only).
 recordHole :: Distinct n => Maybe VarIdent -> TermT n -> TypeCheck n ()
 recordHole mname goalTy = recordHoleShape mname goalTy Nothing
@@ -427,17 +753,44 @@
   -- candidate-elimination loop only — not the local context shown to the user,
   -- since they are global definitions, not local hypotheses.
   lemmaVars <- asks lemmaHypotheses
-  cubeFlags <- mapM (fmap isCubeType . whnfT . varType . snd) locals
+  -- a variable bound by the unit pattern is not a hypothesis the user named
+  -- (the pattern binds nothing referable, and the point is spelled @unit@),
+  -- so it is not shown in the context panel
+  let shownLocals = [ l | l@(_, info) <- locals, not (isUnitBinder (varOrig info)) ]
+      isUnitBinder BinderUnit = True
+      isUnitBinder _          = False
+  cubeFlags <- mapM (fmap isCubeType . whnfT . varType . snd) shownLocals
   topes     <- asks (filter (not . eqT topeTopT) . availableTopes)
   loc       <- asks ctxLocation
   naming    <- asks namingOfContext
 
+  -- The one environment every move is built and judged against. The source
+  -- namespace at the hole ('positionTable') is what 'parsesBackTo' checks
+  -- the emitted text against. A binder a move introduces (a λ-introduction,
+  -- an idJ motive's binders, a data eliminator's motive λs) is freshened
+  -- against the union of that namespace with the display names of the
+  -- local context: the former so an accepted move never shadows anything
+  -- writable here, the latter so a move's binder never reads like a
+  -- variable the context panel already shows under a refreshed name.
+  ctx <- ask
+  let table = positionTable ctx
+      displayNames = Set.fromList
+        [ nm
+        | (v, _) <- locals
+        , nm <- case displayOf naming v of
+            (_, binder) | binderIsCompound binder -> binderLeaves binder
+            (x, _)                                -> [x]
+        ]
+      takenNames = Map.keysSet table <> displayNames
+
   -- for each local hypothesis (and allow-listed lemma), the elimination spines that
   -- land in the goal (arguments left as holes). Probing must not leak holes into the
   -- recorded output, hence the 'censor'.
-  candidates <- censor (const []) $ do
+  candidates <- censor (const mempty) $ do
+    -- over the shown hypotheses: a unit-bound point admits no elimination,
+    -- and offering it bare would duplicate the @unit@ introduction
     elims <- concat <$>
-      mapM (\(v, _) -> allEliminationsInto goalTy (Var v)) (locals ++ lemmaVars)
+      mapM (\(v, _) -> allEliminationsInto goalTy takenNames (Var v)) (shownLocals ++ lemmaVars)
     -- context-driven moves (independent of the goal's head and the hypotheses): ex
     -- falso in a contradictory context, and tope case-splits. recOR and recBOT are
     -- term-level eliminators, so they are offered only for a term goal — not when
@@ -447,23 +800,34 @@
     recor  <- if termLayer then recOrCandidates goalTy else pure []
     pure (elims <> recbot <> recor)
 
+  -- A move is inserted as source text, so it is rendered with source names
+  -- wherever they still resolve (an inner @b@ beside a shadowed outer @b@
+  -- renders as @b@, not as its display name @b₁@), and it is emitted only
+  -- if the rendered text parses back, at this position, to the very term
+  -- it renders ('parsesBackTo'). The display naming is unchanged: the
+  -- context panel keeps its refreshed names.
+  let moveNaming = naming
+        { namingOf = NameMap (IntMap.fromList
+            [ (Foil.nameId v, fixed)
+            | (v, info) <- varsInScope ctx
+            , let fixed = case binderName (varOrig info) of
+                    Just src | sourceResolvesTo table src v ->
+                      (src, BinderVar (Just src))
+                    _ -> displayOf naming v
+            ]) }
+      renderMove t = renderTerm moveNaming (untyped t)
+  candidateMoves <- fmap concat $ forM candidates $ \c -> do
+    let r = renderMove c
+    ok <- parsesBackTo table c r
+    pure [ r | ok ]
+
   let render t = renderTerm naming (untyped t)
       -- a pattern binder is shown as its pattern, e.g. (t , s); others by name
       entryName v = case displayOf naming v of
         (_, binder) | binderIsCompound binder -> binderDisplayName binder
         (x, _)                                -> x
-      entries = [ HoleEntry (entryName v) (render (varType info)) | (v, info) <- locals ]
+      entries = [ HoleEntry (entryName v) (render (varType info)) | (v, info) <- shownLocals ]
       flagged = zip cubeFlags entries
-      -- names already visible at the hole, which an introduced binder must not
-      -- shadow: each local hypothesis by its display name, or the leaves of a
-      -- pattern hypothesis.
-      inScopeNames =
-        [ nm
-        | (v, _) <- locals
-        , nm <- case displayOf naming v of
-            (_, binder) | binderIsCompound binder -> binderLeaves binder
-            (x, _)                                -> [x]
-        ]
 
   -- The goal shape, rendered under the shape's own binder. The name is read back
   -- from the naming rather than assumed: if the declared name is taken (the goal
@@ -477,12 +841,17 @@
       pure (shapeBinder, renderTerm naming' (untyped topeAt))
 
   -- the introduction forms for the goal itself (constituents left as holes); the Π
-  -- binder is freshened against the names in scope so that it does not shadow.
-  introductions <- censor (const []) (allIntroductionsOf goalTy inScopeNames)
+  -- binder is freshened against the names in scope so that it does not shadow,
+  -- and the parse-back check applies like it does to the candidates.
+  introductions <- censor (const mempty) (allIntroductionsOf goalTy takenNames)
+  introductionMoves <- fmap concat $ forM introductions $ \i -> do
+    let r = renderMove i
+    ok <- parsesBackTo table i r
+    pure [ r | ok ]
   -- the goal cell: an SVG of the shape the hole must inhabit (an arrow, triangle or
   -- square), drawn from an abstract inhabitant with the proof term hidden. 'Nothing'
   -- when the goal is not a renderable shape.
-  diagram <- censor (const []) (renderGoalCellSVG goal')
+  diagram <- censor (const mempty) (renderGoalCellSVG goal')
 
   recordHoleInfo HoleInfo
     { holeName          = mname
@@ -491,8 +860,8 @@
     , holeTermVars      = [ e | (False, e) <- flagged ]
     , holeCubeVars      = [ e | (True,  e) <- flagged ]
     , holeTopes         = map render topes
-    , holeCandidates    = map render candidates
-    , holeIntroductions = map render introductions
+    , holeCandidates    = candidateMoves
+    , holeIntroductions = introductionMoves
     , holeDiagram       = diagram
     , holeLocation      = loc
     }
@@ -733,6 +1102,8 @@
           TypeErrorOther "a recOR cannot be used as a tope"
         _ -> checkRecOrAgainst ty' rs
 
+      Match scrut mmotive branches -> checkMatch term scrut mmotive branches (Just ty')
+
       -- A neutral term is inferred, then its type unified with the expected one. In
       -- lenient (hole-checking) mode a term that still carries an unfilled hole is a
       -- work in progress, so a failure of that final unification is tolerated: the
@@ -751,6 +1122,180 @@
           else unifyTypes term' ty' inferredType
         return term'
 
+-- | Elaborate a match into an application of its datatype's induction
+-- eliminator: @ind-D params motive method₁ … methodₖ indices scrutinee@. The
+-- spine is the result — a match node never survives elaboration (see the
+-- ι-rule in "Rzk.TypeCheck.Eval" for how the spine then computes).
+--
+-- The motive is the elaborated @into@ term when one was written; otherwise it
+-- is built from the goal, abstracting a variable scrutinee out of it (a
+-- non-variable scrutinee gives a constant family). Without @into@ and without
+-- a goal (inference position) the match is rejected.
+checkMatch
+  :: Distinct n
+  => Term n                 -- ^ the whole match, for error messages
+  -> Term n                 -- ^ the scrutinee
+  -> Maybe (Term n)         -- ^ the @into@ motive, if written
+  -> [(VarIdent, Term n)]   -- ^ branches: constructor name, arm chain
+  -> Maybe (TermT n)        -- ^ the goal, in checking position
+  -> TypeCheck n (TermT n)
+checkMatch term scrut mmotive branches mgoal = do
+  scrut' <- infer scrut
+  scrutTy <- stripTypeRestrictions <$> (typeOf scrut' >>= whnfT)
+  d <- case collectAppSpine scrutTy of
+    (Var d, _) -> pure d
+    _          -> issueTypeError (TypeErrorMatchScrutineeNotData scrut' scrutTy)
+  elims <- dataEliminatorsOf d
+  (e, numParams) <- case elims of
+    (e, DataRole _ numParams _) : _ -> pure (e, numParams)   -- ind-D comes before rec-D
+    [] -> issueTypeError (TypeErrorMatchScrutineeNotData scrut' scrutTy)
+  let dargs = case collectAppSpine scrutTy of
+        (_, args) -> map snd args
+      (paramArgs, indexArgs) = splitAt numParams dargs
+
+  -- The bijection between branches and constructors, with per-branch arity.
+  ctx <- ask
+  cons <- dataConstructorsOf d
+  let conIdent c = case binderName (varOrig (lookupVarInfo c ctx)) of
+        Just x  -> x
+        Nothing -> panicImpossible "a constructor entry with no name"
+      conArity c = case varDataRole (lookupVarInfo c ctx) of
+        Just (DataRole _ _ (DataConKind _ numFields recIdxs)) ->
+          numFields + length recIdxs
+        _ -> panicImpossible "a constructor entry with no constructor role"
+      conNames = map conIdent cons
+      branchNames = map fst branches
+  case firstDuplicate branchNames of
+    Just c  -> issueTypeError (TypeErrorMatchDuplicateBranch c)
+    Nothing -> pure ()
+  case filter (`notElem` conNames) branchNames of
+    c : _ -> issueTypeError (TypeErrorMatchUnknownBranch c conNames)
+    []    -> pure ()
+  case filter (`notElem` branchNames) conNames of
+    c : _ -> issueTypeError (TypeErrorMatchMissingBranch c)
+    []    -> pure ()
+  let branchFor c = case lookup (conIdent c) branches of
+        Just chain -> chain
+        Nothing    -> panicImpossible "a constructor without a branch after the bijection check"
+  forM_ cons $ \c ->
+    when (armCount (branchFor c) /= conArity c) $
+      issueTypeError
+        (TypeErrorMatchBranchArity (conIdent c) (conArity c) (armCount (branchFor c)))
+
+  -- The spine: parameters, motive, methods (each branch checked against its
+  -- method's Π-type), indices, scrutinee.
+  atParams <- applyPlan (Var e) (map Just paramArgs)
+  motive' <- case mmotive of
+    Just motive -> do
+      motiveTy <- typeOf atParams >>= whnfT >>= \case
+        TypeFunT _ _ _ mty _ _ -> pure mty
+        _ -> panicImpossible "an eliminator's type has no motive parameter"
+      typecheck motive motiveTy
+    Nothing -> case mgoal of
+      Nothing -> issueTypeError (TypeErrorMatchCannotInfer term)
+      Just goal -> do
+        motiveTy <- typeOf atParams >>= whnfT >>= \case
+          TypeFunT _ _ _ mty _ _ -> pure mty
+          _ -> panicImpossible "an eliminator's type has no motive parameter"
+        scope <- asks ctxScope
+        let mv = case scrut' of
+              Var v -> Just v
+              _     -> Nothing
+        pure (motiveFromGoal scope motiveTy mv goal)
+  atMotive <- applyPlan atParams [Just motive']
+  let applyMethods t [] = pure t
+      applyMethods t (c : rest) = typeOf t >>= whnfT >>= \case
+        TypeFunT _ _ _ methodTy _ ret -> do
+          method <- checkMatchArms (branchFor c) methodTy
+          retAt <- instantiate ret method
+          applyMethods (appT retAt t method) rest
+        _ -> panicImpossible "an eliminator's type runs out of method parameters"
+  withMethods <- applyMethods atMotive cons
+  result <- applyPlan withMethods (map Just indexArgs <> [Just scrut'])
+
+  case mgoal of
+    Nothing -> pure ()
+    Just goal -> do
+      resultTy <- typeOf result
+      -- The same tolerance as the neutral case of 'typecheck': a sketch whose
+      -- branches still carry holes is accepted, the recorded holes stand.
+      lenient <- not <$> asks ctxHolesAreErrors
+      if lenient && containsHole result
+        then unifyTypes result goal resultTy `catchError` \_ -> return ()
+        else unifyTypes result goal resultTy
+  pure result
+
+-- | Check a branch's arm chain against its method type, one arm at a time,
+-- mirroring the λ rule: each arm's binder enters the context with the domain
+-- of the method's Π-type, and the elaborated arm becomes the method's λ under
+-- the same binder. Holes inside the branch body therefore see the branch
+-- binders as ordinary hypotheses, under the user's names.
+checkMatchArms :: Distinct n => Term n -> TermT n -> TypeCheck n (TermT n)
+checkMatchArms (MatchArm orig scoped) ty = whnfT ty >>= \case
+  ty'@(TypeFunT _ _orig' md' param0 mtope' ret) -> do
+    -- an induction hypothesis's type is the motive at a field, so it carries
+    -- an administrative redex too: reduce it before it enters the context
+    param' <- betaMotiveApps param0
+    mapM_ checkNameShadowing (binderLeaves orig)
+    body' <- elaborateUnder orig md' param' Nothing scoped $ \binder bodyTerm -> do
+      mtopeIn <- traverse (openScoped binder) mtope'
+      maybe id localTope mtopeIn $ do
+        retIn <- openScoped binder ret
+        checkMatchArms bodyTerm retIn
+    return (lambdaT ty' orig (Just (LambdaParam md' param' mtope')) body')
+  -- unreachable: the arity check matches the arm count to the method's arity
+  _ -> panicImpossible "a match arm beyond its method's arity"
+checkMatchArms body ty = typecheck body =<< betaMotiveApps ty
+
+-- | β-reduce the administrative redexes elaboration introduces: a motive built
+-- as a λ-chain and applied to a constructor form is substituted through, so a
+-- branch hole's goal reads as the goal at that constructor (@nat@, or the
+-- substituted dependent goal) rather than as @(λ x → …) (suc k)@. This is the
+-- labelled-goal restoration of the design: nothing else is unfolded — a
+-- motive that is a named family stays a named application.
+betaMotiveApps :: Distinct n => TermT n -> TypeCheck n (TermT n)
+betaMotiveApps t = case t of
+  AppT _ f x -> betaMotiveApps f >>= \case
+    LambdaT _ _ _ body -> instantiate body x
+    _                  -> pure t
+  _ -> pure t
+
+-- | The number of arms in a branch's chain (the binders the branch introduces).
+armCount :: Term x -> Int
+armCount (MatchArm _ (ScopedAST _ body)) = 1 + armCount body
+armCount _                               = 0
+
+-- | The first name occurring twice, if any.
+firstDuplicate :: [VarIdent] -> Maybe VarIdent
+firstDuplicate []       = Nothing
+firstDuplicate (x : xs)
+  | x `elem` xs = Just x
+  | otherwise   = firstDuplicate xs
+
+-- | A motive built from the goal: λ-binders along the motive's Π-type (the
+-- family's indices, then the scrutinee), whose body is the goal — with the
+-- scrutinee variable replaced by the motive's own scrutinee binder, when the
+-- scrutinee is a variable. A non-variable scrutinee gives a constant family.
+-- (The motive types the eliminator generator builds are literal Π-chains, so
+-- matching them structurally is enough; cf. 'lambdaHoleOf'.)
+motiveFromGoal
+  :: Distinct n
+  => Foil.Scope n -> TermT n -> Maybe (Foil.Name n) -> TermT n -> TermT n
+motiveFromGoal scope ty mv goal = case ty of
+  TypeFunT _info _orig _md _param _mtope ret ->
+    Foil.withFresh scope $ \b ->
+      let scope' = Foil.extendScope b scope
+          retAt = openWith scope' (Foil.nameOf b) ret
+          body = case retAt of
+            -- an index binder: the goal does not depend on it
+            TypeFunT{} -> motiveFromGoal scope' retAt (Foil.sink <$> mv) (Foil.sink goal)
+            -- the scrutinee binder
+            _ -> case mv of
+              Just v  -> substituteName scope' (Foil.sink v) (Var (Foil.nameOf b)) (Foil.sink goal)
+              Nothing -> Foil.sink goal
+       in lambdaT ty (BinderVar Nothing) Nothing (ScopedAST b body)
+  _ -> goal
+
 -- * Inference
 
 inferAs :: Distinct n => TermT n -> Term n -> TypeCheck n (TermT n)
@@ -813,6 +1358,42 @@
         issueTypeError $ TypeErrorOther $
           "unflip expects an interval cube (2 or 𝕀) under _op; got " <> tyStr
 
+  CubeSup l r -> do
+    l' <- inferAs cubeT l
+    r' <- inferAs cubeT r
+    lTy <- typeOf l'
+    rTy <- typeOf r'
+    case (lTy, rTy) of
+      (Cube2T{}, Cube2T{}) -> return (cubeSupT cube2T l' r')
+      (CubeIT{}, CubeIT{}) -> return (cubeSupT cubeIT l' r')
+      -- Mixed 2/𝕀 lands in 𝕀 (the join of a 2-point and an 𝕀-point), coercing
+      -- the 2 side up via 2 <: 𝕀, as the adjacent TopeLEQ does.
+      (CubeIT{}, Cube2T{}) -> do
+        r'' <- typecheck r cubeIT
+        return (cubeSupT cubeIT l' r'')
+      (Cube2T{}, CubeIT{}) -> do
+        l'' <- typecheck l cubeIT
+        return (cubeSupT cubeIT l'' r')
+      _ -> issueTypeError $ TypeErrorNotIntervalCube "sup" lTy rTy
+
+  CubeInf l r -> do
+    l' <- inferAs cubeT l
+    r' <- inferAs cubeT r
+    lTy <- typeOf l'
+    rTy <- typeOf r'
+    case (lTy, rTy) of
+      (Cube2T{}, Cube2T{}) -> return (cubeInfT cube2T l' r')
+      (CubeIT{}, CubeIT{}) -> return (cubeInfT cubeIT l' r')
+      -- Mixed 2/𝕀 lands in 𝕀 (the meet of a 2-point and an 𝕀-point), coercing
+      -- the 2 side up via 2 <: 𝕀, as the adjacent TopeLEQ does.
+      (CubeIT{}, Cube2T{}) -> do
+        r'' <- typecheck r cubeIT
+        return (cubeInfT cubeIT l' r'')
+      (Cube2T{}, CubeIT{}) -> do
+        l'' <- typecheck l cubeIT
+        return (cubeInfT cubeIT l'' r')
+      _ -> issueTypeError $ TypeErrorNotIntervalCube "inf" lTy rTy
+
   Pair l r -> do
     l' <- infer l
     r' <- infer r
@@ -1170,6 +1751,11 @@
     return $ modAppT (typeModalT tyUniv md ty) md term'
 
   ModExtract{} -> panicImpossible "extract is an internal term and cannot be inferred"
+
+  -- A match infers only through its "into" motive; 'checkMatch' rejects it
+  -- otherwise, since there is no goal to build the motive from.
+  Match scrut mmotive branches -> checkMatch tt scrut mmotive branches Nothing
+  MatchArm{} -> panicImpossible "a match arm outside of a match branch"
 
 -- | The type of the motive of a path induction: @(z : A) → (a =_A z) → U@.
 motiveType :: Distinct n => TermT n -> TermT n -> TypeCheck n (TermT n)
diff --git a/src/Rzk/TypeCheck/MetaPrefix.hs b/src/Rzk/TypeCheck/MetaPrefix.hs
new file mode 100644
--- /dev/null
+++ b/src/Rzk/TypeCheck/MetaPrefix.hs
@@ -0,0 +1,282 @@
+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
+{-# LANGUAGE DataKinds           #-}
+{-# LANGUAGE FlexibleContexts    #-}
+{-# LANGUAGE GADTs               #-}
+{-# LANGUAGE LambdaCase          #-}
+{-# LANGUAGE OverloadedStrings   #-}
+{-# LANGUAGE PatternSynonyms     #-}
+{-# LANGUAGE RankNTypes          #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+
+-- | The meta-parameter layer check.
+--
+-- The type theory implemented in rzk separates a /meta-theoretic parameter
+-- layer/ from the object theory (RSTT proper): see §3.2 of the Rzk paper
+-- (Kudasov, Sim, Ahrens, \"Rzk: a Proof Assistant for Synthetic
+-- ∞-Categories\", <https://arxiv.org/abs/2607.12207 arXiv:2607.12207>),
+-- where a statement is abstracted over a context of schematic cube, tope,
+-- and type parameters. The checker did not enforce responsible use of
+-- this layer. Per declaration, the /meta prefix/ is the
+-- parameter prefix up to and including the last parameter whose type lives
+-- outside RSTT proper: a universe, @CUBE@, @TOPE@, or a Π-type quantifying
+-- over or landing in one of those. Interleaved object parameters are swept
+-- in, which only strengthens the check.
+--
+-- The discipline: the meta prefix must be fully supplied wherever the
+-- declaration is used at an object-level position; unsaturated use at a
+-- meta-typed position is legitimate macro-level plumbing and stays allowed.
+-- Then the development reads as a family of object-theory definitions, one
+-- per meta instantiation.
+--
+-- Positions are classified structurally, on the elaborated term:
+--
+-- - the root of a declaration's type and value is meta (a definition may
+--   alias a schema), and a λ-body inherits its λ's position (the value's
+--   leading λs are the declaration's own parameters);
+-- - an application argument is meta when the function's Π-domain at that
+--   position is meta-shaped (the receiver declared a schema parameter);
+-- - the components of type formers are meta (types are the schema layer),
+--   except the endpoints of an identity type, which are terms;
+-- - everything else (pair components, projections, @recOR@ branches, a
+--   @let@-bound value, …) is an object position.
+--
+-- The strict rule (the default, see 'MetaPrefixSensitivity') additionally
+-- requires an unsaturated schema argument to sit within a /top-level/
+-- receiver's meta prefix. This also polices meta-shaped domains that only
+-- arise by instantiating a receiver's object parameters with large types
+-- (as in composing schema-level implications with a generic @comp@); such
+-- uses are emitted with the distinct code 'MetaPrefixStrictOnly', so the
+-- structural sensitivity can silence them without losing the rest.
+--
+-- Known blind spot: under type-in-type, an impredicative instantiation can
+-- forge a meta-shaped argument domain out of an object parameter — with
+-- @g : (X : U) → X → X@, in @g ((X : U) → X → X) my-id@ the second
+-- domain is meta-shaped only because @X@ was instantiated with a large
+-- type. The structural sensitivity reads such a position as meta and stays
+-- silent. The strict default flags it when the argument falls outside the
+-- receiver's meta prefix (as here), but a forgery landing /within/ the
+-- prefix, or behind a λ-bound receiver, still passes: deciding whether an
+-- instantiation is genuinely impredicative is level inference, a separate
+-- (planned) analysis, not this check.
+module Rzk.TypeCheck.MetaPrefix (
+  metaPrefixOf,
+  isMetaType,
+  recordMetaPrefixUses,
+) where
+
+import           Control.Monad            (forM_, when)
+import           Control.Monad.Except     (catchError)
+import           Control.Monad.Reader     (ask, asks)
+import           Data.Bifoldable          (bifoldr)
+import           Data.Maybe               (fromMaybe)
+
+import           Control.Monad.Foil       (Distinct)
+import qualified Control.Monad.Foil       as Foil
+import           Control.Monad.Free.Foil  (AST (Node, Var))
+
+import           Control.Monad.Free.Foil.Annotated (AnnSig (..))
+import           Language.Rzk.Foil.Names  (TModality (..), TypeInfo (..),
+                                           VarIdent, binderName)
+import           Language.Rzk.Foil.Syntax
+import           Rzk.TypeCheck.Context
+import           Rzk.TypeCheck.Eval
+import           Rzk.TypeCheck.Monad
+
+-- * Classifying types
+
+-- | Does this type live outside RSTT proper — is it a universe, @CUBE@,
+-- @TOPE@, or a Π-type that quantifies over or lands in one of those? This
+-- covers a family into a universe (@A → U@, a tope family) and a schematic
+-- type such as @(X : U) → X → X@ (predicatively both are large). A
+-- parameter of such a type is a meta parameter. Never throws; an
+-- unanswerable probe reads as object.
+isMetaType :: Distinct n => TermT n -> TypeCheck n Bool
+isMetaType t = flip catchError (\_ -> pure False) $ do
+  t' <- headView t
+  case t' of
+    UniverseT{}     -> pure True
+    UniverseCubeT{} -> pure True
+    UniverseTopeT{} -> pure True
+    TypeFunT _ orig md param _mtope ret -> do
+      paramMeta <- isMetaType param
+      if paramMeta
+        then pure True
+        else inScope orig md param ret isMetaType
+    _               -> pure False
+
+-- | The length of the meta prefix of a declaration with this type: the
+-- number of leading parameters up to and including the last meta one
+-- (0 when there is none). Never throws.
+metaPrefixOf :: Distinct n => TermT n -> TypeCheck n Int
+metaPrefixOf ty = flip catchError (\_ -> pure 0) $ go 1 0 ty
+  where
+    go :: Distinct l => Int -> Int -> TermT l -> TypeCheck l Int
+    go pos acc t = headView t >>= \case
+      TypeFunT _ orig md param _mtope ret -> do
+        meta <- isMetaType param
+        let acc' = if meta then pos else acc
+        inScope orig md param ret (go (pos + 1) acc')
+      _ -> pure acc
+
+-- | The head of a type, for classification: syntactically if the head is
+-- already informative, through WHNF otherwise (a defined name such as
+-- @FunExt@ must unfold). Restrictions are stripped either way; a boundary
+-- does not change which layer a type lives in.
+headView :: Distinct n => TermT n -> TypeCheck n (TermT n)
+headView t = case stripTypeRestrictions t of
+  t'@UniverseT{}     -> pure t'
+  t'@UniverseCubeT{} -> pure t'
+  t'@UniverseTopeT{} -> pure t'
+  t'@TypeFunT{}      -> pure t'
+  t'@TypeSigmaT{}    -> pure t'
+  t'@TypeIdT{}       -> pure t'
+  t'                 -> stripTypeRestrictions <$> whnfT t'
+
+-- * The use-site walk
+
+-- | How a position is classified under the two candidate rules.
+data PosKind = MetaPos | ObjectPos
+  deriving (Eq)
+
+data Positions = Positions
+  { posStructural :: PosKind
+  , posStrict     :: PosKind
+  }
+
+rootPositions, typePositions, objectPositions :: Positions
+rootPositions   = Positions MetaPos MetaPos
+typePositions   = Positions MetaPos MetaPos
+objectPositions = Positions ObjectPos ObjectPos
+
+-- | Walk a declaration's elaborated type and value, warning about every
+-- use of a top-level name that supplies fewer arguments than its meta
+-- prefix at an object-level position. Advisory: never throws, and runs
+-- silently so WHNF probes do not trace.
+recordMetaPrefixUses
+  :: forall n. Distinct n
+  => VarIdent -> TermT n -> Maybe (TermT n) -> TypeCheck n ()
+recordMetaPrefixUses defName ty mval =
+  asks ctxMetaPrefixSensitivity >>= \case
+    MetaPrefixOff -> pure ()
+    _ -> localVerbosity Silent $ flip catchError (\_ -> pure ()) $ do
+      go rootPositions ty
+      mapM_ (go rootPositions) mval
+  where
+    go :: forall l. Distinct l => Positions -> TermT l -> TypeCheck l ()
+    go pos t = case t of
+      Var v -> checkHead pos v 0
+
+      AppT{} -> do
+        let (h, args) = collectSpine t []
+        mk <- case h of
+          Var v -> do
+            ctx <- ask
+            let info = lookupVarInfo v ctx
+            checkHead pos v (length args)
+            pure (if varIsTopLevel info then Just (varMetaPrefix info) else Nothing)
+          _ -> do
+            go objectPositions h
+            pure Nothing
+        forM_ (zip [1 :: Int ..] args) $ \(i, (fnode, arg)) -> do
+          domMeta <- domainIsMeta fnode
+          let strict = case mk of
+                Just k | domMeta && i <= k -> MetaPos
+                _                          -> ObjectPos
+          go (Positions (if domMeta then MetaPos else ObjectPos) strict) arg
+
+      LambdaT info orig mparam body -> do
+        (mdom, md) <- case mparam of
+          Just (LambdaParam m ty' _mtope) -> do
+            go typePositions ty'
+            pure (Just ty', m)
+          -- A bare λ: the domain of its own Π-type.
+          Nothing -> do
+            dom <- funDomain (infoType info)
+            pure (dom, Id)
+        inScope orig md (fromMaybe universeT mdom) body (go pos)
+
+      TypeFunT _ orig md param _mtope ret -> do
+        go typePositions param
+        inScope orig md param ret (go typePositions)
+
+      TypeSigmaT _ orig md a bscope -> do
+        go typePositions a
+        inScope orig md a bscope (go typePositions)
+
+      -- The endpoints are terms; storing an unsaturated schema in an
+      -- identity type is an object-level use.
+      TypeIdT _ a mtA b -> do
+        go objectPositions a
+        mapM_ (go typePositions) mtA
+        go objectPositions b
+
+      TypeRestrictedT _ ty' rs -> do
+        go typePositions ty'
+        forM_ rs $ \(_tope, term) -> go objectPositions term
+
+      LetT _ orig manno value body -> do
+        mapM_ (go typePositions) manno
+        go objectPositions value
+        let valueType = case typeInfoOf value of
+              Just valueInfo -> Just (infoType valueInfo)
+              Nothing        -> manno
+        inScopeWith orig Id (fromMaybe universeT valueType) (Just value) body (go pos)
+
+      LetModT _ orig _nu mu manno value body -> do
+        mapM_ (go typePositions) manno
+        go objectPositions value
+        unwrapped <- case typeInfoOf value of
+          Nothing        -> pure Nothing
+          Just valueInfo -> modalDomain (infoType valueInfo)
+        inScope orig mu (fromMaybe universeT unwrapped) body (go pos)
+
+      Node (AnnSig _ f) ->
+        mapM_ (go objectPositions) (bifoldr (\_ acc -> acc) (:) [] f)
+
+    -- An unsaturated top-level head at an object position warns; at a
+    -- position only the strict rule rejects, the warning is marked so.
+    checkHead :: forall l. Positions -> Foil.Name l -> Int -> TypeCheck l ()
+    checkHead pos v nargs = do
+      ctx <- ask
+      let info = lookupVarInfo v ctx
+          k = varMetaPrefix info
+      when (varIsTopLevel info && k > nargs) $ do
+        sensitivity <- asks ctxMetaPrefixSensitivity
+        let mrule = case (posStructural pos, posStrict pos) of
+              (ObjectPos, _) -> Just MetaPrefixBoth
+              (MetaPos, ObjectPos)
+                | MetaPrefixStrict <- sensitivity -> Just MetaPrefixStrictOnly
+              _              -> Nothing
+        forM_ mrule $ \rule -> do
+          loc <- asks ctxLocation
+          recordCheckWarning $ MetaPrefixWarning
+            defName
+            (fromMaybe "_" (binderName (varOrig info)))
+            nargs
+            k
+            rule
+            loc
+
+    -- Is the Π-domain of this function node meta-shaped?
+    domainIsMeta :: forall l. Distinct l => TermT l -> TypeCheck l Bool
+    domainIsMeta f = flip catchError (\_ -> pure False) $ do
+      tf <- typeOfUncomputed f
+      headView tf >>= \case
+        TypeFunT _ _ _ dom _ _ -> isMetaType dom
+        _                      -> pure False
+
+    funDomain :: forall l. Distinct l => TermT l -> TypeCheck l (Maybe (TermT l))
+    funDomain tf = flip catchError (\_ -> pure Nothing) $
+      headView tf >>= \case
+        TypeFunT _ _ _ dom _ _ -> pure (Just dom)
+        _                      -> pure Nothing
+
+    modalDomain :: forall l. TermT l -> TypeCheck l (Maybe (TermT l))
+    modalDomain tv = flip catchError (\_ -> pure Nothing) $
+      pure $ case stripTypeRestrictions tv of
+        TypeModalT _ _ a -> Just a
+        _                -> Nothing
+
+collectSpine :: TermT n -> [(TermT n, TermT n)] -> (TermT n, [(TermT n, TermT n)])
+collectSpine (AppT _ f x) acc = collectSpine f ((f, x) : acc)
+collectSpine h acc            = (h, acc)
diff --git a/src/Rzk/TypeCheck/Monad.hs b/src/Rzk/TypeCheck/Monad.hs
--- a/src/Rzk/TypeCheck/Monad.hs
+++ b/src/Rzk/TypeCheck/Monad.hs
@@ -69,9 +69,41 @@
   , holeLocation      :: Maybe LocationInfo
   } deriving (Eq, Show)
 
+-- | A non-fatal finding of the checker, recorded on the writer channel
+-- beside the holes and carried out of a run in @Checked@. Structured, so
+-- the CLI, the LSP, and (later) safe mode each decide how to present or
+-- escalate it.
+data CheckWarning
+  = LargeInductiveTypeWarning
+      VarIdent              -- ^ the data type
+      VarIdent              -- ^ the constructor whose field stores a universe
+      (Maybe LocationInfo)
+  | MetaPrefixWarning
+      VarIdent              -- ^ the declaration whose type or body contains the use
+      VarIdent              -- ^ the declaration used with too few meta-prefix arguments
+      Int                   -- ^ the arguments supplied
+      Int                   -- ^ the length of the meta prefix
+      MetaPrefixRule
+      (Maybe LocationInfo)
+  deriving (Eq, Show)
+
+-- | Where a warning points, for per-file attribution.
+warningLocation :: CheckWarning -> Maybe LocationInfo
+warningLocation (LargeInductiveTypeWarning _ _ loc)  = loc
+warningLocation (MetaPrefixWarning _ _ _ _ _ loc)    = loc
+
+-- | Which candidate rule of the meta-parameter layer check flags a
+-- 'MetaPrefixWarning' (see "Rzk.TypeCheck.MetaPrefix"): the structural
+-- rule, or only its stricter variant. Both are emitted so the two
+-- candidate defaults can be measured on a corpus side by side.
+data MetaPrefixRule
+  = MetaPrefixBoth
+  | MetaPrefixStrictOnly
+  deriving (Eq, Show)
+
 type TypeCheck n =
   ReaderT (Context n)
-    (WriterT [HoleInfo] (Except TypeErrorInScopedContext))
+    (WriterT ([HoleInfo], [CheckWarning]) (Except TypeErrorInScopedContext))
 
 -- | Run a judgement in the empty context, discarding the holes it records.
 runTypeCheck :: TypeCheck Foil.VoidS a -> Either TypeErrorInScopedContext a
@@ -125,6 +157,10 @@
 localWarnOverhang :: Bool -> TypeCheck n a -> TypeCheck n a
 localWarnOverhang warn = local $ \ctx -> ctx { ctxWarnOverhang = warn }
 
+localMetaPrefixSensitivity :: MetaPrefixSensitivity -> TypeCheck n a -> TypeCheck n a
+localMetaPrefixSensitivity sensitivity =
+  local $ \ctx -> ctx { ctxMetaPrefixSensitivity = sensitivity }
+
 -- | Render the enclosed action with the proof term hidden.
 hidingTerm :: TypeCheck n a -> TypeCheck n a
 hidingTerm = localHideTerm True
@@ -169,7 +205,12 @@
 -- * Holes
 
 recordHoleInfo :: HoleInfo -> TypeCheck n ()
-recordHoleInfo info = lift (tell [info])
+recordHoleInfo info = lift (tell ([info], []))
+
+-- * Warnings
+
+recordCheckWarning :: CheckWarning -> TypeCheck n ()
+recordCheckWarning warning = lift (tell ([], [warning]))
 
 -- * Locations
 
diff --git a/src/Rzk/TypeCheck/Render.hs b/src/Rzk/TypeCheck/Render.hs
--- a/src/Rzk/TypeCheck/Render.hs
+++ b/src/Rzk/TypeCheck/Render.hs
@@ -332,7 +332,7 @@
               ret' <- openScoped binder ret
               -- FIXME: breaks for 2 * (2 * 2), but works for 2 * 2 * 2 = (2 * 2) * 2
               Just <$> renderForSubShapeSVG mainColor dim
-                (map Foil.sink xs) (Foil.nameOf binder)
+                (Foil.sinkContainer xs) (Foil.nameOf binder)
                 ret' (Foil.sink f) (Foil.sink x)
       _ -> do
         t' <- whnfT t
@@ -351,8 +351,8 @@
             pure (appT ret' (Foil.sink t') z)
         let mp' | extend = join' (fmap (both Foil.sink) mp) arg' z
                 | otherwise = fmap (both Foil.sink) mp
-            xs' | extend = Foil.nameOf binder : map Foil.sink xs
-                | otherwise = map Foil.sink xs
+            xs' | extend = Foil.nameOf binder : Foil.sinkContainer xs
+                | otherwise = Foil.sinkContainer xs
         renderTermSVGFor mainColor accDim' (mp', xs') body
 
     both f (x, y) = (f x, f y)
diff --git a/test/Rzk/FoilCoreSpec.hs b/test/Rzk/FoilCoreSpec.hs
--- a/test/Rzk/FoilCoreSpec.hs
+++ b/test/Rzk/FoilCoreSpec.hs
@@ -63,6 +63,8 @@
   , varIsTopLevel = False
   , varDeclaredAssumptions = []
   , varLocation = Nothing
+  , varDataRole = Nothing
+  , varMetaPrefix = 0
   }
 
 spec :: Spec
diff --git a/test/Rzk/FormatSpec.hs b/test/Rzk/FormatSpec.hs
--- a/test/Rzk/FormatSpec.hs
+++ b/test/Rzk/FormatSpec.hs
@@ -39,6 +39,9 @@
     it "Moves trailing binary operators to next line (except lambda arrow)" $ do
       formats "bin-ops"
 
+    it "Keeps both canonical #data layouts (inline and multi-line)" $ do
+      formats "data-decl"
+
     it "Adds relevant spaces to structure constructions like a tree" $ do
       formats "tree-structure"
 
@@ -56,6 +59,9 @@
 
     it "Let bindings formatting differs from defenitions" $ do
       formats "let"
+
+    it "Spaces the match-branch arrow and converts it to unicode, keeping it at line ends" $ do
+      formats "match"
 
     it "Fixes indentation" pending
 
diff --git a/test/Rzk/HolesSpec.hs b/test/Rzk/HolesSpec.hs
--- a/test/Rzk/HolesSpec.hs
+++ b/test/Rzk/HolesSpec.hs
@@ -432,6 +432,116 @@
       in flip oneHole (holesWithLemmas ["deep"] deepSrc) $ \h ->
            cands h `shouldContain` ["deep ? ? ? ? ? ? ? ?"]
 
+    -- A lemma is never offered below its meta prefix (here X and Y, so two
+    -- arguments): an unsaturated schema is not a suggestion, mirroring the
+    -- warn-meta-prefix discipline.
+    it "does not offer a lemma below its meta prefix" $
+      let metaSrc = "#lang rzk-1\n#postulate A : U\n"
+                 <> "#postulate pick : (X : U) -> (Y : U) -> X -> X\n"
+                 <> "#define goal : A -> A := ?\n"
+      in flip oneHole (holesWithLemmas ["pick"] metaSrc) $ \h -> do
+           cands h `shouldContain` ["pick ? ?"]
+           filter (`elem` ["pick", "pick ?"]) (cands h) `shouldBe` []
+
+    -- Also at the schema's own type: the bare alias is not offered (writing
+    -- the alias is the user's call), while the saturated spine still is.
+    it "does not offer a bare schema even at its own type" $
+      let aliasSrc = "#lang rzk-1\n"
+                  <> "#define my-id (X : U) (x : X) : X := x\n"
+                  <> "#define goal : (X : U) -> X -> X := ?\n"
+      in flip oneHole (holesWithLemmas ["my-id"] aliasSrc) $ \h -> do
+           cands h `shouldContain` ["my-id ?"]
+           filter (== "my-id") (cands h) `shouldBe` []
+
+  describe "holeCandidates under shadowing" $ do
+    let cands = map show . holeCandidates
+        -- the motive λ rebinds b, so at the inner hole the telescope's b is
+        -- shadowed and the λ's b displays as b₁.
+        src = "#lang rzk-1\n"
+           <> "#def transport (A : U) (B : A → U) (x y : A) (p : x = y) (b : B x)\n"
+           <> "  : B y\n"
+           <> "  := (idJ (A, x, \\ b → \\ q → x = ?, ?, y, p))\n"
+
+    -- A candidate is inserted as source text, so it is rendered with source
+    -- names where they resolve: the motive's λ-bound b (displayed as b₁
+    -- beside the shadowed telescope b) is offered as b, which is what the
+    -- written b resolves to at the hole. The undefined b₁ never appears.
+    it "renders a shadowed-context candidate by its source name" $ do
+      case holesOf src of
+        [h1, _h2] -> do
+          filter (isInfixOf "b₁") (cands h1) `shouldBe` []
+          cands h1 `shouldContain` ["x"]
+          cands h1 `shouldContain` ["y"]
+          cands h1 `shouldContain` ["b"]
+        hs -> expectationFailure ("expected exactly two holes, got " <> show (length hs))
+
+    -- The converse: a hypothesis that fits the goal but is shadowed out of
+    -- the source namespace is not offered — writing its name would resolve
+    -- to the inner binder, a different term.
+    it "does not offer a hypothesis that is shadowed out" $ do
+      case holesOf ("#lang rzk-1\n"
+                 <> "#def t (A : U) (B : A → U) (x : A) (b : B x) : A → B x\n"
+                 <> "  := \\ b → ?\n") of
+        [h] -> cands h `shouldBe` []
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    -- The idJ move's own motive binders are freshened against the names in
+    -- scope: at transport's initial hole (b : B x in the telescope), the
+    -- offered motive binds b₁, not a shadowing b. Accepting the move then
+    -- never sets up the shadowing of the previous test in the first place.
+    it "freshens the idJ motive binders against the telescope" $ do
+      let src0 = "#lang rzk-1\n"
+              <> "#def transport (A : U) (B : A → U) (x y : A) (p : x = y) (b : B x)\n"
+              <> "  : B y\n"
+              <> "  := ?\n"
+      case holesOf src0 of
+        [h] -> cands h `shouldBe` ["idJ (A, x, \\ b₁ → \\ q → ?, ?, y, p)"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    -- A destructuring pattern's hidden scrutinee must not claim a
+    -- user-facing name: it used to take x₁ from the default supply, so a
+    -- user-written x₁ bound later displayed as x₂ (a context/source
+    -- mismatch) and its moves were dropped as unreferable. The scrutinee's
+    -- placeholder is now the pattern itself, which cannot collide, so the
+    -- context shows x₁ and its candidate survives.
+    it "keeps a user x₁ intact beside a destructuring pattern" $ do
+      case holesOf ("#lang rzk-1\n#data Void\n"
+                 <> "#data coprod (A B : U) := inl (a : A) | inr (b : B)\n"
+                 <> "#def prod (A B : U) : U := Σ (a : A) , B\n"
+                 <> "#def neg (A : U) : U := A → Void\n"
+                 <> "#def t (A B : U) : prod (neg A) (neg B) → coprod A B → coprod A B\n"
+                 <> "  := \\ (na , nb) → \\ x₁ → ?\n") of
+        [h] -> do
+          names (holeTermVars h) `shouldContain` ["x₁"]
+          names (holeTermVars h) `shouldNotContain` ["x₂"]
+          cands h `shouldContain` ["x₁"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    -- The same shape at a Void goal, with the coproduct eliminators: the
+    -- moves survive the parse-back check, and every motive binder is named
+    -- in the move, freshened past the in-scope x₁ (an accepted eliminator
+    -- must not shadow the variable it just eliminated).
+    it "offers the coproduct eliminators with freshened motive binders" $ do
+      case holesOf ("#lang rzk-1\n#data Void\n"
+                 <> "#data coprod (A B : U) := inl (a : A) | inr (b : B)\n"
+                 <> "#def prod (A B : U) : U := Σ (a : A) , B\n"
+                 <> "#def neg (A : U) : U := A → Void\n"
+                 <> "#def t (A B : U) : prod (neg A) (neg B) → coprod A B → Void\n"
+                 <> "  := \\ (na , nb) → \\ x₁ → ?\n") of
+        [h] -> do
+          cands h `shouldContain` ["rec-coprod A B ? ? ? x₁"]
+          cands h `shouldContain` ["ind-coprod A B (\\ x₂ → ?) ? ? x₁"]
+          cands h `shouldContain` ["ind-Void (\\ x₂ → ?) (na ?)"]
+          filter (isInfixOf "\\ x₁") (cands h) `shouldBe` []
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    -- A whole-point use of a pattern-bound variable renders as the pattern
+    -- itself, which is also the pair expression a move may insert.
+    it "renders a whole-point pattern use as the pattern" $ do
+      case holesOf "#lang rzk-1\n#def t (A B : U) : (Σ (a : A) , B) → Σ (a : A) , B\n  := \\ (x , y) → ?\n" of
+        [h] -> cands h `shouldContain` ["(x, y)"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
   describe "holeIntroductions (type-directed introduction forms)" $ do
     let intros = map show . holeIntroductions
 
@@ -451,6 +561,22 @@
         [h] -> intros h `shouldBe` ["\\ t₁ → ?"]
         hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
 
+    -- An anonymous Π domain is named inside the move, not by the renderer, so
+    -- the freshening sees the choice: a λ binder `x₁` already introduced by
+    -- the user (or by a previous introduction tap) is not shadowed — the next
+    -- introduction binds `x₂`. (Regression: the anonymous binder used to be
+    -- named at render time, so two successive taps on `B → A → C` both bound
+    -- `x₁`, making the outer binder inaccessible.)
+    it "freshens an anonymous λ binder against an enclosing λ binder" $ do
+      case holesOf "#lang rzk-1\n#def f (A B C : U) : B → A → C := \\ x₁ → ?\n" of
+        [h] -> intros h `shouldBe` ["\\ x₂ → ?"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    it "freshens an anonymous λ binder against a telescope binder" $ do
+      case holesOf "#lang rzk-1\n#def g (A B : U) (x₁ : B) : A → B := ?\n" of
+        [h] -> intros h `shouldBe` ["\\ x₂ → ?"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
     -- A named pattern domain (e.g. a cube point) keeps its pattern, so the λ
     -- binds the user's names rather than a projection.
     it "introduces a pattern-domain function with the pattern binder" $ do
@@ -477,6 +603,23 @@
         [h] -> intros h `shouldBe` ["(?, ?)"]
         hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
 
+    -- A U-goal is introduced by the type formers: a function type, a Σ-type,
+    -- an identity type, the unit type, and every user-declared datatype in
+    -- scope, applied to holes through its parameter telescope.
+    it "introduces a U goal by the type formers, including datatypes" $ do
+      case holesOf ("#lang rzk-1\n#data bool := false | true\n"
+                 <> "#data coprod (A B : U) := inl (a : A) | inr (b : B)\n"
+                 <> "#def T : U := ?\n") of
+        [h] -> intros h `shouldBe`
+                 ["? → ?", "Σ (x : ?), ?", "? =_{ ? } ?", "Unit", "bool", "coprod ? ?"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    -- The Σ introduction's binder is freshened like a λ's.
+    it "freshens the Σ introduction's binder against the context" $ do
+      case holesOf "#lang rzk-1\n#def T (x : Unit) : U := ?\n" of
+        [h] -> intros h `shouldContain` ["Σ (x₁ : ?), ?"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
     -- An identity type whose endpoints already agree is introduced by refl.
     it "introduces an identity type with agreeing endpoints by refl" $ do
       case holesOf "#lang rzk-1\n#define f : (A : U) -> (a : A) -> (a =_{A} a)\n  := \\ A a -> ?\n" of
@@ -571,4 +714,113 @@
     it "has no diagram for a non-shape goal" $
       case holesOf "#lang rzk-1\n#define f : (A : U) -> A -> A\n  := \\ A a -> ?\n" of
         [h] -> holeDiagram h `shouldBe` Nothing
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+  describe "inductive types in the inventory (#data)" $ do
+    let intros = map show . holeIntroductions
+        cands  = map show . holeCandidates
+        natPrelude = "#lang rzk-1\n#data nat := zero | suc (n : nat)\n"
+        vecPrelude = natPrelude
+          <> "#data vec (A : U) : nat → U :=\n"
+          <> "    nil : vec A zero\n"
+          <> "  | cons (n : nat) (x : A) (xs : vec A n) : vec A (suc n)\n"
+
+    it "introduces a datatype goal by its constructors, applied to holes" $
+      case holesOf (natPrelude <> "#define f (m : nat) : nat := ?\n") of
+        [h] -> intros h `shouldBe` ["zero", "suc ?"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    it "filters constructors whose indices cannot meet the goal's" $
+      -- nil : vec A zero cannot fit a goal at index (suc n)
+      case holesOf (vecPrelude
+          <> "#define g (A : U) (n : nat) (v : vec A (suc n)) : vec A (suc n) := ?\n") of
+        [h] -> intros h `shouldBe` ["cons ? ? ? ?"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    it "offers the generated eliminators over a datatype hypothesis" $
+      -- the motive is a λ over a hole, like idJ's, so the spine fits any goal
+      case holesOf (natPrelude <> "#define f (m : nat) : nat := ?\n") of
+        [h] -> do
+          cands h `shouldContain` ["rec-nat ? ? ? m"]
+          cands h `shouldContain` ["ind-nat (\\ x₁ → ?) ? ? m"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    it "instantiates the eliminator at the hypothesis's indices" $
+      case holesOf (vecPrelude
+          <> "#define g (A : U) (n : nat) (v : vec A (suc n)) : vec A (suc n) := ?\n") of
+        [h] ->
+          cands h `shouldContain` ["ind-vec A (\\ i → \\ x₁ → ?) ? ? (suc n) v"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+  describe "holes in match branches" $ do
+    let natPrelude = "#lang rzk-1\n#data nat := zero | suc (n : nat)\n"
+
+    it "shows the branch binders as hypotheses, with reduced types" $
+      -- the induction hypothesis's type is the motive at the field: the
+      -- administrative redex is reduced, so it reads "nat", not "(λ …) k"
+      case holesOf (natPrelude
+          <> "#define plus (n m : nat) : nat\n"
+          <> "  := match n (zero ⇒ m | suc k ih ⇒ ?)\n") of
+        [h] -> do
+          show (holeGoal h) `shouldBe` "nat"
+          names (holeTermVars h) `shouldContain` ["k"]
+          names (holeTermVars h) `shouldContain` ["ih"]
+          map (show . holeEntryType) (holeTermVars h) `shouldBe`
+            ["nat", "nat", "nat", "nat"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    it "substitutes the constructor form into a dependent goal" $
+      -- the motive is built from the goal by abstracting the scrutinee, so a
+      -- branch hole's goal is the goal at that constructor (labelled form)
+      case holesOf ("#lang rzk-1\n#data bool := false | true\n"
+          <> "#define not (b : bool) : bool := match b (false ⇒ true | true ⇒ false)\n"
+          <> "#define not-not (b : bool) : not (not b) =_{bool} b\n"
+          <> "  := match b (false ⇒ refl | true ⇒ ?)\n") of
+        [h] -> show (holeGoal h) `shouldBe` "not (not true) =_{ bool } true"
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    it "keeps a named into-motive as a named application" $
+      -- only the administrative redexes are reduced: a motive that is a named
+      -- family stays folded in the branch goal
+      case holesOf (natPrelude
+          <> "#assume C : nat → U\n"
+          <> "#define f (n : nat) (c : (m : nat) → C m) : C n\n"
+          <> "  := match n into C (zero ⇒ c zero | suc k ih ⇒ ?)\n") of
+        [h] -> show (holeGoal h) `shouldBe` "C (suc k)"
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    it "offers a match with one hole per branch over a datatype hypothesis" $
+      -- branch binders reuse the declared field names, plus "ih" for an
+      -- induction hypothesis, freshened against the names taken at the hole
+      case holesOf (natPrelude <> "#define f (m : nat) : nat := ?\n") of
+        [h] -> map show (holeCandidates h) `shouldContain`
+                 ["match m (zero ⇒ ? | suc n ih ⇒ ?)"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    it "does not offer a match over an empty family" $
+      -- there is no branch syntax for zero constructors; the eliminators
+      -- (ind-void, rec-void) remain
+      case holesOf "#lang rzk-1\n#data void : U\n#define h (x : void) : void := ?\n" of
+        [h] -> filter (isInfixOf "match") (map show (holeCandidates h)) `shouldBe` []
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+  describe "unit-pattern binders (issue #320)" $ do
+    it "binds nothing user-visible: empty context, no spurious hypotheses" $
+      case holesOf "#lang rzk-1\n#define f : (x y : Unit) → Unit\n  := \\ unit unit → ?\n" of
+        [h] -> do
+          holeTermVars h `shouldBe` []
+          map show (holeCandidates h) `shouldBe` []
+          map show (holeIntroductions h) `shouldBe` ["unit"]
+        hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
+
+    it "keeps moves that mention the unit-bound point (rendered as unit)" $
+      -- the parse-back guard collapses the point to the constructor, so the
+      -- idJ moves of is-set-Unit survive, with unit as the endpoints
+      case holesOf ("#lang rzk-1\n"
+          <> "#define g : (x y : Unit) → (p : x =_{Unit} y) → (q : x =_{Unit} y) → p =_{x =_{Unit} y} q\n"
+          <> "  := \\ unit unit p q → ?\n") of
+        [h] -> do
+          names (holeTermVars h) `shouldBe` ["p", "q"]
+          map show (holeCandidates h) `shouldContain`
+            ["idJ (Unit, unit, \\ b → \\ q₁ → ?, ?, unit, p)"]
         hs  -> expectationFailure ("expected exactly one hole, got " <> show (length hs))
diff --git a/test/Rzk/ParserSpec.hs b/test/Rzk/ParserSpec.hs
new file mode 100644
--- /dev/null
+++ b/test/Rzk/ParserSpec.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+-- | The surface parser: the deprecated forms removed from the grammar must be
+-- rejected, and their modern replacements must still parse.
+--
+-- The removed forms are the ones deprecated since v0.5.0: braces around
+-- parameters (with or without a tope), angle brackets around extension types,
+-- and the 4-argument @recOR@.
+module Rzk.ParserSpec (spec) where
+
+import           Data.Either         (isLeft, isRight)
+import qualified Data.Text           as T
+import           Test.Hspec
+
+import qualified Language.Rzk.Syntax as Rzk
+
+rejects :: T.Text -> Expectation
+rejects t = Rzk.parseTerm t `shouldSatisfy` isLeft
+
+parses :: T.Text -> Expectation
+parses t = Rzk.parseTerm t `shouldSatisfy` isRight
+
+spec :: Spec
+spec = do
+  describe "removed deprecated forms are parse errors" $ do
+    it "4-argument recOR" $
+      rejects "recOR(psi, phi, a, b)"
+    it "angle brackets around an extension type" $
+      rejects "<(t : 2 | TOP) → A>"
+    it "angle brackets around an extension type (ASCII)" $
+      rejects "<(t : 2 | TOP) -> A>"
+    it "braces around a typed parameter" $
+      rejects "{x : A} -> B"
+    it "braces around a shape parameter" $
+      rejects "{t : 2 | TOP} -> A"
+    it "braces around a parenthesised shape parameter" $
+      rejects "{(t : 2) | TOP} -> A"
+    it "braces around a shape parameter of a lambda" $
+      rejects "\\ {t : 2 | TOP} -> t"
+
+  describe "the modern replacements still parse" $ do
+    it "recOR over restrictions" $
+      parses "recOR(psi |-> a, phi |-> b)"
+    it "extension type as a shaped function type" $
+      parses "(t : 2 | TOP) -> A"
+    it "typed parameter in parentheses" $
+      parses "(x : A) -> B"
+    it "shape parameter of a lambda" $
+      parses "\\ (t : 2 | TOP) -> t"
diff --git a/test/Rzk/PositionEncodingSpec.hs b/test/Rzk/PositionEncodingSpec.hs
new file mode 100644
--- /dev/null
+++ b/test/Rzk/PositionEncodingSpec.hs
@@ -0,0 +1,78 @@
+{-# LANGUAGE CPP               #-}
+{-# LANGUAGE OverloadedStrings #-}
+-- | Position conversion at the LSP boundary: code points vs UTF-16 units
+-- (see issue #303). An astral-plane character such as @𝕀@ counts as one code
+-- point but two UTF-16 units, so every position to its right on the same
+-- line differs between the two encodings.
+module Rzk.PositionEncodingSpec (spec) where
+
+import           Test.Hspec
+
+#ifdef LSP_ENABLED
+import qualified Data.Text                             as T
+import           Language.LSP.Protocol.Types           (SemanticTokenAbsolute (..))
+import           Language.Rzk.VSCode.PositionEncoding
+import           Language.Rzk.VSCode.Tokenize          (tokenizeSyntaxSymbols)
+
+-- | @ab𝕀cd@: code points a0 b1 𝕀2 c3 d4; UTF-16 a0 b1 𝕀2 c4 d5.
+astralLine :: T.Text
+astralLine = "ab\120128cd"
+
+spec :: Spec
+spec = do
+  describe "column conversion" $ do
+    let als = astralLines astralLine
+
+    it "is the identity before an astral character" $ do
+      colToUtf16 als 0 2 `shouldBe` 2
+      colFromUtf16 als 0 2 `shouldBe` 2
+
+    it "shifts by one per astral character to the left" $ do
+      colToUtf16 als 0 3 `shouldBe` 4
+      colToUtf16 als 0 5 `shouldBe` 6
+      colFromUtf16 als 0 4 `shouldBe` 3
+      colFromUtf16 als 0 6 `shouldBe` 5
+
+    it "maps a column inside a surrogate pair to the character start" $
+      colFromUtf16 als 0 3 `shouldBe` 2
+
+    it "keeps the distance past the end of the line" $
+      -- The diagnostics code uses column 99 for "to the end of the line".
+      colToUtf16 als 0 99 `shouldBe` 100
+
+    it "is the identity on lines without astral characters" $ do
+      let alsAscii = astralLines "abcd\nefgh"
+      colToUtf16 alsAscii 1 3 `shouldBe` 3
+      colFromUtf16 alsAscii 1 3 `shouldBe` 3
+
+    it "round-trips on character boundaries" $ do
+      let cols = [0 .. 6]
+      [ colFromUtf16 als 0 (colToUtf16 als 0 c) | c <- cols ] `shouldBe` cols
+
+  describe "utf16Length" $
+    it "counts an astral character as two units" $
+      utf16Length astralLine `shouldBe` 6
+
+  describe "semantic tokens" $ do
+    -- @#define f (x : 𝕀) : 𝕀 := x@ — 𝕀 at code points 15 and 20, @:=@ at 22.
+    let src = "#lang rzk-1\n#define f (x : \120128) : \120128 := x\n"
+        als = astralLines src
+        toks = tokensToUtf16 als (tokenizeSyntaxSymbols src)
+        spansAt line = [ (_startChar t, _length t) | t <- toks, _line t == line ]
+
+    it "reports the UTF-16 width of an astral token" $
+      -- The first 𝕀: same start (nothing astral before it), doubled width.
+      spansAt 1 `shouldSatisfy` elem (15, 2)
+
+    it "shifts tokens to the right of an astral character" $ do
+      -- The second 𝕀 (code point 20) has one astral character before it,
+      -- and @:=@ (code point 22) has two.
+      spansAt 1 `shouldSatisfy` elem (21, 2)
+      spansAt 1 `shouldSatisfy` elem (24, 2)
+
+    it "does not move tokens on other lines" $
+      spansAt 0 `shouldSatisfy` elem (0, 5)   -- #lang
+#else
+spec :: Spec
+spec = describe "position encoding" (pure ())
+#endif
diff --git a/test/Rzk/RefIndexSpec.hs b/test/Rzk/RefIndexSpec.hs
--- a/test/Rzk/RefIndexSpec.hs
+++ b/test/Rzk/RefIndexSpec.hs
@@ -122,6 +122,30 @@
       annAt "main.rzk" (13, 5) `shouldBe` Just "A"          -- h
       annAt "main.rzk" (13, 9) `shouldBe` Just "B h"        -- k
       annAt "main.rzk" (13, 13) `shouldBe` Just "C"         -- l
+
+  describe "#data declarations" $ do
+    let dataSrc = T.unlines
+          [ "#lang rzk-1"                                        -- 0
+          , "#data bool := false | true"                         -- 1
+          , "#define not (b : bool) : bool"                      -- 2
+          , "  := rec-bool bool true false b"                    -- 3
+          ]
+        riData = indexOf [("data.rzk", dataSrc)]
+
+    it "resolves the type name at a use after the declaration" $
+      defPos (bindingAt riData "data.rzk" (2, 17)) `shouldBe` ("data.rzk", 1, 6)
+
+    it "resolves a constructor at a use after the declaration" $
+      -- `true` in the body of `not`
+      defPos (bindingAt riData "data.rzk" (3, 19)) `shouldBe` ("data.rzk", 1, 22)
+
+    it "resolves a generated eliminator to the #data name" $
+      -- `rec-bool` has no source declaration; it derives from `bool`
+      defPos (bindingAt riData "data.rzk" (3, 5)) `shouldBe` ("data.rzk", 1, 6)
+
+    it "does not occlude the type name with the derived entries" $
+      -- hovering the declaration's own `bool` must hit `bool`, not ind-bool
+      RI.bindingName (bindingAt riData "data.rzk" (1, 6)) `shouldBe` "bool"
 #else
 spec :: Spec
 spec = describe "reference index" (pure ())
diff --git a/test/Rzk/SemanticTokensSpec.hs b/test/Rzk/SemanticTokensSpec.hs
--- a/test/Rzk/SemanticTokensSpec.hs
+++ b/test/Rzk/SemanticTokensSpec.hs
@@ -9,11 +9,16 @@
 #ifdef LSP_ENABLED
 import qualified Data.Text                    as T
 import           Language.LSP.Protocol.Types  (SemanticTokenAbsolute (..),
+                                               SemanticTokenModifiers (..),
                                                SemanticTokenTypes (..))
 import           Language.Rzk.Syntax          (parseModule, parseTerm)
-import           Language.Rzk.VSCode.Handlers (formatSignature)
+import           Language.Rzk.VSCode.Handlers (formatSignature, useSiteTokens)
+import qualified Language.Rzk.VSCode.ReferenceIndex as RI
 import           Language.Rzk.VSCode.Tokenize (mergeTokens, tokenizeModule,
                                                tokenizeSyntaxSymbols)
+import           Rzk.TypeCheck                (Context (..), Verbosity (..),
+                                               checkedModules, declViews,
+                                               emptyContext)
 
 -- | Merged tokens of a module, as 'provideSemanticTokens' produces them.
 tokensOf :: T.Text -> [SemanticTokenAbsolute]
@@ -38,8 +43,90 @@
   , "#check TOP : TOPE"                           -- 2
   ]
 
+-- | The use-site overlay of a one-file project: typechecked declarations
+-- plus the reference index, as 'provideSemanticTokens' combines them.
+useSiteTokensOf :: T.Text -> [SemanticTokenAbsolute]
+useSiteTokensOf src = case parseModule src of
+  Left err -> error ("parse error: " <> T.unpack err)
+  Right m  -> case checkedModules [(path, m)] silentContext of
+    Left _err -> error "unexpected type error in use-site fixture"
+    Right (checked, _holes) ->
+      useSiteTokens (declViews checked) (RI.indexModules [(path, m)]) path
+  where
+    path = "use-site.rzk"
+    silentContext = emptyContext { ctxVerbosity = Silent }
+
+-- | The token type and modifiers starting at a (0-based) position, if any.
+useTokenAt :: [SemanticTokenAbsolute] -> (Int, Int) -> Maybe (SemanticTokenTypes, [SemanticTokenModifiers])
+useTokenAt toks (l, c) = case
+  [ (_tokenType t, _tokenModifiers t)
+  | t <- toks
+  , _line t == fromIntegral l, _startChar t == fromIntegral c
+  ] of
+    (tt : _) -> Just tt
+    []       -> Nothing
+
+dataModule :: T.Text
+dataModule = T.unlines
+  [ "#lang rzk-1"                                    -- 0
+  , "#data bool := false | true"                     -- 1
+  , "#define not (b : bool) : bool"                  -- 2
+  , "  := rec-bool bool true false b"                -- 3
+  , "#define shadow (false : bool) : bool := false"  -- 4
+  ]
+
+postulateModule :: T.Text
+postulateModule = T.unlines
+  [ "#lang rzk-1"                                     -- 0
+  , "#postulate ax (A : U) (a : A) : A"               -- 1
+  , "#define use-ax (A : U) (a : A) : A := ax A a"    -- 2
+  , "#assume hyp : U"                                 -- 3
+  , "#define use-hyp : U := hyp"                      -- 4
+  , "#section local"                                  -- 5
+  , "#assume sec : U"                                 -- 6
+  , "#define use-sec : U := sec"                      -- 7
+  , "#end local"                                      -- 8
+  ]
+
 spec :: Spec
 spec = do
+  describe "use-site tokens" $ do
+    let toks = useSiteTokensOf dataModule
+
+    it "colour a constructor occurrence as an enum member" $
+      useTokenAt toks (3, 19) `shouldBe` Just (SemanticTokenTypes_EnumMember, [])
+
+    it "colour a data type occurrence as a class" $ do
+      useTokenAt toks (3, 14) `shouldBe` Just (SemanticTokenTypes_Class, [])
+      useTokenAt toks (2, 17) `shouldBe` Just (SemanticTokenTypes_Class, [])
+
+    it "colour a generated eliminator occurrence as a library function" $
+      useTokenAt toks (3, 5)
+        `shouldBe` Just (SemanticTokenTypes_Function, [SemanticTokenModifiers_DefaultLibrary])
+
+    it "leave a local that shadows a constructor plain" $
+      -- the body of shadow uses its parameter, not the constructor
+      useTokenAt toks (4, 40) `shouldBe` Nothing
+
+    it "leave plain definitions to the other token sources" $
+      useTokenAt toks (3, 30) `shouldBe` Nothing                -- b, a binder use
+
+    it "colour a postulate occurrence as an abstract static function" $ do
+      let ptoks = useSiteTokensOf postulateModule
+      useTokenAt ptoks (2, 38)                                  -- ax, in use-ax
+        `shouldBe` Just ( SemanticTokenTypes_Function
+                        , [SemanticTokenModifiers_Abstract, SemanticTokenModifiers_Static] )
+
+    it "colour a top-level-assumption occurrence as an abstract function" $ do
+      let ptoks = useSiteTokensOf postulateModule
+      useTokenAt ptoks (4, 23)                                  -- hyp, in use-hyp
+        `shouldBe` Just (SemanticTokenTypes_Function, [SemanticTokenModifiers_Abstract])
+
+    it "colour an in-section-assumption occurrence as an abstract parameter" $ do
+      let ptoks = useSiteTokensOf postulateModule
+      useTokenAt ptoks (7, 23)                                  -- sec, in use-sec
+        `shouldBe` Just (SemanticTokenTypes_Parameter, [SemanticTokenModifiers_Abstract])
+
   describe "semantic tokens" $ do
     let toks = tokensOf exampleModule
         positions = [ (_line t, _startChar t) | t <- toks ]
@@ -74,6 +161,20 @@
             ]
       tokenAt toks' (1, 27) `shouldBe` Just SemanticTokenTypes_Regexp  -- ?
       tokenAt toks' (2, 29) `shouldBe` Just SemanticTokenTypes_Regexp  -- ?goal
+
+    it "mark postulate and assume declarations as abstract, by severity" $ do
+      let ptoks = tokensOf postulateModule
+      useTokenAt ptoks (1, 11)                                  -- ax, declared
+        `shouldBe` Just ( SemanticTokenTypes_Function
+                        , [ SemanticTokenModifiers_Declaration
+                          , SemanticTokenModifiers_Abstract
+                          , SemanticTokenModifiers_Static ] )
+      useTokenAt ptoks (3, 8)                                   -- hyp, assumed
+        `shouldBe` Just ( SemanticTokenTypes_Function
+                        , [SemanticTokenModifiers_Declaration, SemanticTokenModifiers_Abstract] )
+      useTokenAt ptoks (6, 8)                                   -- sec, assumed in a section
+        `shouldBe` Just ( SemanticTokenTypes_Parameter
+                        , [SemanticTokenModifiers_Declaration, SemanticTokenModifiers_Abstract] )
 
     it "mark holes even in files that do not parse" $
       tokenizeSyntaxSymbols "#lang rzk-1\n#define broken (x : A) := ?\n"
diff --git a/test/Rzk/TypeCheckSpec.hs b/test/Rzk/TypeCheckSpec.hs
--- a/test/Rzk/TypeCheckSpec.hs
+++ b/test/Rzk/TypeCheckSpec.hs
@@ -17,15 +17,19 @@
                                            takeFileName)
 import           System.FilePath.Glob     (compile, globDir1)
 
+import           Data.List                (sort)
+
 import qualified Language.Rzk.Syntax        as Rzk
-import           Rzk.Diagnostic           (locationOfTypeError,
+import           Rzk.Diagnostic           (checkWarningTag,
+                                           locationOfTypeError,
                                            typeErrorTagInScopedContext)
 import           Rzk.TypeCheck            (Checked, Context (..),
                                            LocationInfo (..),
                                            OutputDirection (..),
                                            TypeErrorInScopedContext,
                                            Verbosity (..), checkedErrors,
-                                           checkedModules, emptyContext,
+                                           checkedModules, checkedWarnings,
+                                           emptyContext,
                                            ppTypeErrorInScopedContext)
 
 import           Test.Hspec
@@ -38,6 +42,7 @@
   , expectRegressionFor   :: Maybe [String]
   , expectModules         :: Maybe [FilePath]
   , expectApi             :: Maybe String
+  , expectWarnings        :: Maybe [String]
   } deriving (Show, Eq)
 
 instance FromJSON Expect where
@@ -49,6 +54,7 @@
     <*> o .:? "regression_for"
     <*> o .:? "modules"
     <*> o .:? "api"
+    <*> o .:? "warnings"
 
 -- | The line an error was raised on.
 --
@@ -144,10 +150,21 @@
         expectationFailure $ "in " <> label <> ", expected line " <> show ln
           <> " got " <> show got
       Just _ -> pure ()
-assertExpect _label Expect{expectStatus = "ok"} (Right _) = pure ()
+assertExpect label Expect{expectStatus = "ok", expectWarnings = want} (Right checked) =
+  assertWarnings label want checked
 assertExpect label Expect{expectStatus = st} _ =
   expectationFailure $ "in " <> label <> ", unknown status " <> show st
 
+-- | When the fixture spells a @warnings@ list, the run's warning tags must
+-- match it exactly (order-insensitively); an absent field asserts nothing.
+assertWarnings :: String -> Maybe [String] -> Checked -> IO ()
+assertWarnings _label Nothing _ = pure ()
+assertWarnings label (Just want) checked = do
+  let got = map checkWarningTag (checkedWarnings checked)
+  unless (sort want == sort got) $
+    expectationFailure $ "in " <> label <> ", expected warnings "
+      <> show want <> " but got " <> show got
+
 assertExpectCollect :: String -> Expect -> Either TypeErrorInScopedContext Checked -> IO ()
 assertExpectCollect _label _ (Left err) =
   expectationFailure $ "unexpected fatal error: " <> ppTypeErrorInScopedContext BottomUp err
@@ -155,7 +172,7 @@
  errs -> case expectStatus of
   "ok" | not (null errs) ->
     expectationFailure $ "in " <> label <> ", expected ok but got errors: " <> show (length errs)
-  "ok" -> pure ()
+  "ok" -> assertWarnings label expectWarnings checked
   "error" -> case errs of
     [] ->
       expectationFailure $ "in " <> label <> ", expected type errors but got none"
diff --git a/test/typecheck/SCHEMA.md b/test/typecheck/SCHEMA.md
--- a/test/typecheck/SCHEMA.md
+++ b/test/typecheck/SCHEMA.md
@@ -23,5 +23,6 @@
 | `regression_for` | no | Traceability: GitHub issue/PR URLs, commit themes, or short **semantic** rule names (e.g. `contextEntailsUnion-recOR-boundary`). Avoid `TypeCheck.hs` line numbers and `issueTypeError-<line>` tags — they go stale. |
 | `modules` | no | If set (directory case), ordered list of module files for one `typecheckModulesWithLocation` run. |
 | `api` | no | Omit or `strict` (default): `typecheckModulesWithLocation` (throws on first error). `collect`: `typecheckModulesWithLocation'` — returns a list of errors without using `throwError`; note that the typechecker still stops per-module chaining when a module reports errors (see implementation in `Rzk.TypeCheck`). |
+| `warnings` | no | For `status: ok` runs: the run's warning tags (diagnostic codes, e.g. `LargeInductiveTypeWarning`) must match this list exactly, order-insensitively. `warnings: []` asserts a warning-free run; an absent field asserts nothing. |
 
 Parse failures are always test failures; they are not expressed in this schema.
diff --git a/test/typecheck/cases/happy-data-bool.expect.yaml b/test/typecheck/cases/happy-data-bool.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-bool.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - data-stage1-basic-inductive-types
diff --git a/test/typecheck/cases/happy-data-bool.rzk b/test/typecheck/cases/happy-data-bool.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-bool.rzk
@@ -0,0 +1,19 @@
+#lang rzk-1
+
+-- The simplest inductive type: booleans, with computation through the
+-- generated eliminators.
+#data bool := false | true
+
+#check ind-bool : (C : bool → U) → C false → C true → (b : bool) → C b
+#check rec-bool : (C : U) → C → C → bool → C
+
+#define not (b : bool) : bool
+  := rec-bool bool true false b
+
+-- the ι-rule is definitional: refl checks against a computed equality
+#define not-not-true : not (not true) =_{bool} true
+  := refl
+
+-- and induction proves the general statement
+#define not-not (b : bool) : not (not b) =_{bool} b
+  := ind-bool (\ b' → not (not b') =_{bool} b') refl refl b
diff --git a/test/typecheck/cases/happy-data-coprod.expect.yaml b/test/typecheck/cases/happy-data-coprod.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-coprod.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - data-stage1-parameterised-types
diff --git a/test/typecheck/cases/happy-data-coprod.rzk b/test/typecheck/cases/happy-data-coprod.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-coprod.rzk
@@ -0,0 +1,23 @@
+#lang rzk-1
+
+-- A parameterised inductive type, with an explicit return type on one
+-- constructor (it must be the declared type applied to the parameters).
+#data coprod
+  ( A B : U)
+  :=
+    inl (a : A) : coprod A B
+  | inr (b : B)
+
+#check ind-coprod
+  : ( A : U) → (B : U)
+  → ( C : coprod A B → U)
+  → ( (a : A) → C (inl A B a))
+  → ( (b : B) → C (inr A B b))
+  → ( x : coprod A B) → C x
+
+#define swap (A B : U) (x : coprod A B) : coprod B A
+  := rec-coprod A B (coprod B A) (\ a → inr B A a) (\ b → inl B A b) x
+
+#define swap-swap-inl (A B : U) (a : A)
+  : swap B A (swap A B (inl A B a)) =_{coprod A B} inl A B a
+  := refl
diff --git a/test/typecheck/cases/happy-data-empty.expect.yaml b/test/typecheck/cases/happy-data-empty.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-empty.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - data-stage1-empty-family
diff --git a/test/typecheck/cases/happy-data-empty.rzk b/test/typecheck/cases/happy-data-empty.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-empty.rzk
@@ -0,0 +1,9 @@
+#lang rzk-1
+
+-- The empty family: no := at all, and the eliminator is ex falso.
+#data empty
+
+#check ind-empty : (C : empty → U) → (v : empty) → C v
+
+#define absurd (C : U) (v : empty) : C
+  := rec-empty C v
diff --git a/test/typecheck/cases/happy-data-eta-short.expect.yaml b/test/typecheck/cases/happy-data-eta-short.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-eta-short.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - data-iota-through-eta-short-heads
diff --git a/test/typecheck/cases/happy-data-eta-short.rzk b/test/typecheck/cases/happy-data-eta-short.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-eta-short.rzk
@@ -0,0 +1,14 @@
+#lang rzk-1
+
+-- A definition whose value is an under-applied eliminator (no binder):
+-- the ι-rule must fire through the neutral-application head.
+#data bool := false | true
+
+#define not : bool → bool
+  := rec-bool bool true false
+
+#define not-false : not false =_{bool} true
+  := refl
+
+#define not-not (b : bool) : not (not b) =_{bool} b
+  := ind-bool (\ b' → not (not b') =_{bool} b') refl refl b
diff --git a/test/typecheck/cases/happy-data-hottbook-nat.expect.yaml b/test/typecheck/cases/happy-data-hottbook-nat.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-hottbook-nat.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - data-stage2-hottbook-2-13-encode-decode
diff --git a/test/typecheck/cases/happy-data-hottbook-nat.rzk b/test/typecheck/cases/happy-data-hottbook-nat.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-hottbook-nat.rzk
@@ -0,0 +1,57 @@
+#lang rzk-1
+
+-- HoTT book §2.13 (natural numbers), drafted against #data stage 2.
+
+#data empty
+
+#data nat := zero | suc (n : nat)
+
+#define transport
+  ( A : U) (C : A → U) (x y : A) (p : x =_{A} y)
+  : C x → C y
+  := \ cx → idJ(A, x, (\ z _ → C z), cx, y, p)
+
+#define ap
+  ( A B : U) (f : A → B) (x y : A) (p : x =_{A} y)
+  : f x =_{B} f y
+  := idJ(A, x, (\ y' _ → f x =_{B} f y'), refl, y, p)
+
+-- the observational equality family, by double recursion (into U)
+#define code (m : nat) : nat → U
+  := rec-nat (nat → U)
+      ( rec-nat U Unit (\ _ _ → empty))
+      ( \ _ ih → rec-nat U empty (\ n' _ → ih n'))
+      m
+
+#define r (n : nat) : code n n
+  := ind-nat (\ k → code k k) unit (\ _ ih → ih) n
+
+#define encode (m n : nat) (p : m =_{nat} n) : code m n
+  := transport nat (\ k → code m k) m n p (r m)
+
+#define decode (m : nat) : (n : nat) → code m n → m =_{nat} n
+  := ind-nat
+      ( \ m' → (n : nat) → code m' n → m' =_{nat} n)
+      ( ind-nat
+          ( \ n → code zero n → zero =_{nat} n)
+          ( \ _ → refl)
+          ( \ n' _ c → rec-empty (zero =_{nat} suc n') c))
+      ( \ m' ihm → ind-nat
+          ( \ n → code (suc m') n → suc m' =_{nat} n)
+          ( \ c → rec-empty (suc m' =_{nat} zero) c)
+          ( \ n' _ c → ap nat nat (\ k → suc k) m' n' (ihm n' c)))
+      m
+
+-- Peano: the successor is injective (Theorem 2.13.1's consequence)
+#define suc-injective (m n : nat) (p : suc m =_{nat} suc n) : m =_{nat} n
+  := decode m n (encode (suc m) (suc n) p)
+
+-- Peano: zero is not a successor
+#define zero-neq-suc (n : nat) (p : zero =_{nat} suc n) : empty
+  := encode zero (suc n) p
+
+-- sanity: encode-decode round-trips on a numeral
+#define two : nat := suc (suc zero)
+
+#define decode-encode-two : decode two two (encode two two refl) =_{two =_{nat} two} refl
+  := refl
diff --git a/test/typecheck/cases/happy-data-indices-edge.expect.yaml b/test/typecheck/cases/happy-data-indices-edge.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-indices-edge.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - data-stage2-two-indices-and-section
diff --git a/test/typecheck/cases/happy-data-indices-edge.rzk b/test/typecheck/cases/happy-data-indices-edge.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-indices-edge.rzk
@@ -0,0 +1,47 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+-- two indices, a constructor pinning them equal
+#data rel : nat → nat → U := diag (n : nat) : rel n n
+
+#check ind-rel
+  : ( C : (i : nat) → (i' : nat) → rel i i' → U)
+  → ( (n : nat) → C n n (diag n))
+  → ( i : nat) → (i' : nat) → (x : rel i i') → C i i' x
+
+#section vecs
+
+#assume A : U
+
+#data vecA uses (A)
+  : nat → U
+  :=
+    nilA : vecA zero
+  | consA (n : nat) (x : A) (xs : vecA n) : vecA (suc n)
+
+#define lenA uses (A)
+  ( n : nat) (xs : vecA n)
+  : nat
+  := rec-vecA (\ _ → nat) zero (\ _ _ _ ih → suc ih) n xs
+
+#end vecs
+
+#check vecA : U → nat → U
+#check consA : (A : U) → (n : nat) → A → vecA A n → vecA A (suc n)
+
+#define lenA-one (A : U) (x : A)
+  : lenA A (suc zero) (consA A zero x (nilA A)) =_{nat} suc zero
+  := refl
+
+-- an indexed empty family: no constructors, so the index telescope is
+-- checked through the type former's own type, and the eliminator is
+-- ex falso through the index
+#data fin0 : nat → U
+
+#check ind-fin0
+  : ( C : (n : nat) → fin0 n → U)
+  → ( n : nat) → (x : fin0 n) → C n x
+
+#define absurd0 (A : U) (n : nat) (v : fin0 n) : A
+  := rec-fin0 (\ _ → A) n v
diff --git a/test/typecheck/cases/happy-data-large-warning.expect.yaml b/test/typecheck/cases/happy-data-large-warning.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-large-warning.expect.yaml
@@ -0,0 +1,5 @@
+status: ok
+warnings:
+  - LargeInductiveTypeWarning
+regression_for:
+  - data-stage1-largeness-warning
diff --git a/test/typecheck/cases/happy-data-large-warning.rzk b/test/typecheck/cases/happy-data-large-warning.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-large-warning.rzk
@@ -0,0 +1,9 @@
+#lang rzk-1
+
+-- A constructor field storing a universe makes the type large: under
+-- type-in-type this is a paradox amplifier, so the declaration is accepted
+-- with a warning (and will be rejected under safe mode).
+#data large := box (X : U)
+
+-- a small declaration alongside stays warning-free
+#data unit-like := point
diff --git a/test/typecheck/cases/happy-data-list.expect.yaml b/test/typecheck/cases/happy-data-list.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-list.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - data-stage2-recursion-parameterised
diff --git a/test/typecheck/cases/happy-data-list.rzk b/test/typecheck/cases/happy-data-list.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-list.rzk
@@ -0,0 +1,25 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+#data list
+  ( A : U)
+  :=
+    nil
+  | cons (x : A) (xs : list A)
+
+#check ind-list
+  : ( A : U)
+  → ( C : list A → U)
+  → C (nil A)
+  → ( (x : A) → (xs : list A) → C xs → C (cons A x xs))
+  → ( l : list A) → C l
+
+#define length (A : U) (l : list A) : nat
+  := rec-list A nat zero (\ _ _ ih → suc ih) l
+
+#define example : list nat
+  := cons nat zero (cons nat (suc zero) (nil nat))
+
+#define length-example : length nat example =_{nat} suc (suc zero)
+  := refl
diff --git a/test/typecheck/cases/happy-data-nat.expect.yaml b/test/typecheck/cases/happy-data-nat.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-nat.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - data-stage2-recursion-nat
diff --git a/test/typecheck/cases/happy-data-nat.rzk b/test/typecheck/cases/happy-data-nat.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-nat.rzk
@@ -0,0 +1,31 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+#check ind-nat
+  : ( C : nat → U)
+  → C zero
+  → ( (n : nat) → C n → C (suc n))
+  → ( x : nat) → C x
+
+#define plus (m n : nat) : nat
+  := rec-nat nat n (\ _ ih → suc ih) m
+
+#define two : nat := suc (suc zero)
+
+#compute-whnf plus two two
+
+#define two-plus-two : plus two two =_{nat} suc (suc two)
+  := refl
+
+#define ap (A B : U) (f : A → B) (x y : A) (p : x =_{A} y)
+  : f x =_{B} f y
+  := idJ(A, x, (\ y' _ → f x =_{B} f y'), refl, y, p)
+
+-- a genuine proof by induction: the step uses the induction hypothesis
+#define plus-zero (n : nat) : plus n zero =_{nat} n
+  := ind-nat
+      ( \ k → plus k zero =_{nat} k)
+      refl
+      ( \ k ih → ap nat nat (\ m → suc m) (plus k zero) k ih)
+      n
diff --git a/test/typecheck/cases/happy-data-rec-section.expect.yaml b/test/typecheck/cases/happy-data-rec-section.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-rec-section.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - data-stage2-recursion-section-closure
diff --git a/test/typecheck/cases/happy-data-rec-section.rzk b/test/typecheck/cases/happy-data-rec-section.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-rec-section.rzk
@@ -0,0 +1,25 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+#section counted
+
+#assume T : U
+
+#data counter uses (T)
+  :=
+    stop (t : T)
+  | tick (c : counter)
+
+#define ticks uses (T)
+  ( c : counter)
+  : nat
+  := rec-counter nat (\ _ → zero) (\ _ ih → suc ih) c
+
+#end counted
+
+#check counter : U → U
+#check tick : (T : U) → counter T → counter T
+#define ticks-two (T : U) (t : T)
+  : ticks T (tick T (tick T (stop T t))) =_{nat} suc (suc zero)
+  := refl
diff --git a/test/typecheck/cases/happy-data-section.expect.yaml b/test/typecheck/cases/happy-data-section.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-section.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - data-stage1-uniform-section-closure
diff --git a/test/typecheck/cases/happy-data-section.rzk b/test/typecheck/cases/happy-data-section.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-section.rzk
@@ -0,0 +1,27 @@
+#lang rzk-1
+
+-- A #data inside a #section closes over the used assumptions uniformly:
+-- the type former, the constructors, and the eliminators all gain the
+-- section parameter, and the ι-rule keeps computing afterwards.
+#section wrap-section
+
+#assume T : U
+
+#data wrap uses (T)
+  := mk (x : T)
+
+#define unwrap uses (T)
+  (w : wrap)
+  : T
+  := rec-wrap T (\ x → x) w
+
+#end wrap-section
+
+#check wrap : U → U
+#check mk : (T : U) → T → wrap T
+#check ind-wrap
+  : (T : U) → (C : wrap T → U) → ((x : T) → C (mk T x)) → (w : wrap T) → C w
+
+#define unwrap-mk (T : U) (x : T)
+  : unwrap T (mk T x) =_{T} x
+  := refl
diff --git a/test/typecheck/cases/happy-data-vec.expect.yaml b/test/typecheck/cases/happy-data-vec.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-vec.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - data-stage2-indexed-families
diff --git a/test/typecheck/cases/happy-data-vec.rzk b/test/typecheck/cases/happy-data-vec.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-data-vec.rzk
@@ -0,0 +1,53 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+#data vec
+  ( A : U)
+  : nat → U
+  :=
+    nil : vec A zero
+  | cons (n : nat) (x : A) (xs : vec A n) : vec A (suc n)
+
+#check ind-vec
+  : ( A : U)
+  → ( C : (n : nat) → vec A n → U)
+  → C zero (nil A)
+  → ( (n : nat) → (x : A) → (xs : vec A n) → C n xs → C (suc n) (cons A n x xs))
+  → ( n : nat) → (xs : vec A n) → C n xs
+
+#check rec-vec
+  : ( A : U)
+  → ( C : (n : nat) → U)
+  → C zero
+  → ( (n : nat) → (x : A) → (xs : vec A n) → C n → C (suc n))
+  → ( n : nat) → vec A n → C n
+
+-- append, with the length index doing its job
+#define plus (m n : nat) : nat
+  := rec-nat nat n (\ _ ih → suc ih) m
+
+#define snoc-zero (A : U) (x : A) : vec A (suc zero)
+  := cons A zero x (nil A)
+
+#define v2 (A : U) (x y : A) : vec A (suc (suc zero))
+  := cons A (suc zero) x (snoc-zero A y)
+
+-- the recursive eliminator computes through the indices
+#define vhead (A : U) (n : nat) (xs : vec A (suc n)) : A
+  := ind-vec A
+      ( \ k _ → rec-nat U Unit (\ _ _ → A) k)
+      unit
+      ( \ _ x _ _ → x)
+      ( suc n) xs
+
+#define vhead-v2 (A : U) (x y : A) : vhead A (suc zero) (v2 A x y) =_{A} x
+  := refl
+
+-- length recovery: fold the vector, ignoring elements
+#define vlen (A : U) (n : nat) (xs : vec A n) : nat
+  := rec-vec A (\ _ → nat) zero (\ _ _ _ ih → suc ih) n xs
+
+#define vlen-v2 (A : U) (x y : A)
+  : vlen A (suc (suc zero)) (v2 A x y) =_{nat} suc (suc zero)
+  := refl
diff --git a/test/typecheck/cases/happy-interval-basics.rzk b/test/typecheck/cases/happy-interval-basics.rzk
--- a/test/typecheck/cases/happy-interval-basics.rzk
+++ b/test/typecheck/cases/happy-interval-basics.rzk
@@ -1,7 +1,7 @@
 #lang rzk-1
 
 -- Extension types are needed to map out of cubes into types.
--- You cannot simply write `(t : 2) -> A`; you need `<{(t : 2) | TOP} -> A>`.
+-- You cannot simply write `(t : 2) -> A`; you need `(t : 2 | TOP) -> A`.
 
 -- Basic extension type over 2
 #define arr2
diff --git a/test/typecheck/cases/happy-lattice-eq-gives-leq.expect.yaml b/test/typecheck/cases/happy-lattice-eq-gives-leq.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-lattice-eq-gives-leq.expect.yaml
@@ -0,0 +1,3 @@
+status: ok
+regression_for:
+  - lattice-eq-entails-order
diff --git a/test/typecheck/cases/happy-lattice-eq-gives-leq.rzk b/test/typecheck/cases/happy-lattice-eq-gives-leq.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-lattice-eq-gives-leq.rzk
@@ -0,0 +1,13 @@
+#lang rzk-1
+
+-- An equality in the tope context entails both inequalities: from a === b the
+-- solver derives a <= b (and b <= a). This exercises the equality-to-order
+-- clauses added to generateTopes, on lattice-free syntax -- so it also guards
+-- that the lattice work does not regress ordinary sHoTT reasoning on 2.
+
+#define eqGivesLeq
+  (a b : 2)
+  (t : 2 | a === b)
+  (f : (x : 2 | a <= x) -> U)
+  : U
+  := f b
diff --git a/test/typecheck/cases/happy-lattice-mixed-cube.expect.yaml b/test/typecheck/cases/happy-lattice-mixed-cube.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-lattice-mixed-cube.expect.yaml
@@ -0,0 +1,3 @@
+status: ok
+regression_for:
+  - lattice-ops-mixed-2-II-coercion
diff --git a/test/typecheck/cases/happy-lattice-mixed-cube.rzk b/test/typecheck/cases/happy-lattice-mixed-cube.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-lattice-mixed-cube.rzk
@@ -0,0 +1,34 @@
+#lang rzk-1
+
+-- Mixing the interval cubes: since 2 <: 𝕀, sup/inf of a 2-point and an 𝕀-point
+-- is accepted and lands in 𝕀, coercing the 2 side up (mirroring the adjacent
+-- (t ≤ s) tope, which already accepts a mixed pair). Both orientations of the
+-- pair are checked, against an 𝕀-valued function argument.
+
+#define supMixedLandsInII
+  (a : II)
+  (b : 2)
+  (f : (x : II | (a <= x) /\ (b <= x)) -> U)
+  : U
+  := f (sup a b)
+
+#define infMixedLandsInII
+  (a : II)
+  (b : 2)
+  (f : (x : II | (x <= a) /\ (x <= b)) -> U)
+  : U
+  := f (inf a b)
+
+#define supMixedFlipped
+  (a : 2)
+  (b : II)
+  (f : (x : II | (a <= x) /\ (b <= x)) -> U)
+  : U
+  := f (sup a b)
+
+#define infMixedFlipped
+  (a : 2)
+  (b : II)
+  (f : (x : II | (x <= a) /\ (x <= b)) -> U)
+  : U
+  := f (inf a b)
diff --git a/test/typecheck/cases/happy-lattice.expect.yaml b/test/typecheck/cases/happy-lattice.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-lattice.expect.yaml
@@ -0,0 +1,8 @@
+status: ok
+regression_for:
+  - lattice-sup-inf-bounds-solveRHSM
+  - lattice-endpoint-absorption
+  - lattice-lub-glb-solveRHSM
+  - contextEntailsUnion-lub-coverage
+  - lattice-comm-assoc-idem-absorption
+  - lattice-distributivity-dnf-nfTope
diff --git a/test/typecheck/cases/happy-lattice.rzk b/test/typecheck/cases/happy-lattice.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-lattice.rzk
@@ -0,0 +1,212 @@
+#lang rzk-1
+
+-- Lattice sup/inf on the interval cubes 2 and II.
+--
+-- * bounds and endpoint absorption: solveRHSM sup/inf clauses + nfTope
+-- * LUB/GLB against the local tope context: goal-directed universal property
+-- * commutativity / associativity / idempotence / absorption / distributivity:
+--   DNF normalisation in nfTope (meet distributes over join), discharged by the
+--   solver's LUB/GLB rules -- no canonical ordering, no total order (works on II).
+
+#define dummy : U := Unit -> Unit
+
+-- --------------------------------------------------------------------------
+-- bounds and endpoint absorption
+-- --------------------------------------------------------------------------
+
+#define supLowerBoundsEntailed
+  (s u : 2)
+  (f : (x : 2 | (s <= x) /\ (u <= x)) -> U)
+  : U
+  := f (sup s u)
+
+#define infUpperBoundsEntailed
+  (s u : 2)
+  (f : (x : 2 | (x <= s) /\ (x <= u)) -> U)
+  : U
+  := f (inf s u)
+
+#define supZeroAbsorptionEntailed
+  (v : 2)
+  (f : (x : 2 | x === v) -> U)
+  : U
+  := f (sup 0_2 v)
+
+#define infOneAbsorptionEntailed
+  (s : 2)
+  (f : (x : 2 | x === s) -> U)
+  : U
+  := f (inf s 1_2)
+
+-- --------------------------------------------------------------------------
+-- LUB/GLB against the local tope context
+-- --------------------------------------------------------------------------
+
+#define lubEntailed
+  (s u : 2)
+  (t : 2 | (s <= t) /\ (u <= t))
+  (f : (x : 2 | sup s u <= x) -> U)
+  : U
+  := f t
+
+#define glbEntailed
+  (s u : 2)
+  (t : 2 | (t <= s) /\ (t <= u))
+  (f : (x : 2 | x <= inf s u) -> U)
+  : U
+  := f t
+
+#define recOrLubCoverage
+  (s u : 2)
+  (t : 2 | (s <= t) /\ (u <= t))
+  : U
+  := recOR( sup s u <= t |-> dummy , t <= sup s u |-> dummy )
+
+-- --------------------------------------------------------------------------
+-- lattice terms in the HYPOTHESES (LHS)
+-- --------------------------------------------------------------------------
+
+#define lhsSupElim
+  (s u : 2)
+  (t : 2 | sup s u <= t)
+  (f : (x : 2 | (s <= x) /\ (u <= x)) -> U)
+  : U
+  := f t
+
+#define lhsInfElim
+  (s u : 2)
+  (t : 2 | t <= inf s u)
+  (f : (x : 2 | (x <= s) /\ (x <= u)) -> U)
+  : U
+  := f t
+
+#define lhsSupElimTrans
+  (s u v : 2)
+  (t : 2 | (sup s u <= t) /\ (t <= v))
+  (f : (x : 2 | s <= v) -> U)
+  : U
+  := f t
+
+#define lhsLatticeEqElim
+  (s u : 2)
+  (t : 2 | sup s u === t)
+  (f : (x : 2 | s <= x) -> U)
+  : U
+  := f t
+
+-- --------------------------------------------------------------------------
+-- distributive-lattice laws on 2 and on II
+-- --------------------------------------------------------------------------
+
+#define commSup2
+  (a b : 2)
+  (f : (x : 2 | sup a b === sup b a) -> U)
+  : U
+  := f a
+
+#define commInf2
+  (a b : 2)
+  (f : (x : 2 | inf a b === inf b a) -> U)
+  : U
+  := f a
+
+#define assocSup2
+  (a b c : 2)
+  (f : (x : 2 | sup (sup a b) c === sup a (sup b c)) -> U)
+  : U
+  := f a
+
+#define assocInf2
+  (a b c : 2)
+  (f : (x : 2 | inf (inf a b) c === inf a (inf b c)) -> U)
+  : U
+  := f a
+
+#define idemSup2
+  (a : 2)
+  (f : (x : 2 | sup a a === a) -> U)
+  : U
+  := f a
+
+#define absorpSup2
+  (a b : 2)
+  (f : (x : 2 | sup a (inf a b) === a) -> U)
+  : U
+  := f a
+
+#define absorpInf2
+  (a b : 2)
+  (f : (x : 2 | inf a (sup a b) === a) -> U)
+  : U
+  := f a
+
+#define distMeetOverJoin2
+  (a b c : 2)
+  (f : (x : 2 | inf a (sup b c) === sup (inf a b) (inf a c)) -> U)
+  : U
+  := f a
+
+#define distJoinOverMeet2
+  (a b c : 2)
+  (f : (x : 2 | sup a (inf b c) === inf (sup a b) (sup a c)) -> U)
+  : U
+  := f a
+
+#define distMeetOverJoinI
+  (a b c : II)
+  (f : (x : II | inf a (sup b c) === sup (inf a b) (inf a c)) -> U)
+  : U
+  := f a
+
+#define distJoinOverMeetI
+  (a b c : II)
+  (f : (x : II | sup a (inf b c) === inf (sup a b) (sup a c)) -> U)
+  : U
+  := f a
+
+-- --------------------------------------------------------------------------
+-- many-variable (4-6) lattice identities
+-- --------------------------------------------------------------------------
+
+#define joinReassoc5
+  (a b c d e : 2)
+  (f : (x : 2 | sup (sup (sup (sup a b) c) d) e === sup e (sup d (sup c (sup b a)))) -> U)
+  : U
+  := f a
+
+#define meetReassoc5
+  (a b c d e : 2)
+  (f : (x : 2 | inf (inf (inf (inf a b) c) d) e === inf e (inf d (inf c (inf b a)))) -> U)
+  : U
+  := f a
+
+#define distMeetOfJoins4
+  (a b c d : 2)
+  (f : (x : 2 | inf (sup a b) (sup c d)
+             === sup (sup (inf a c) (inf a d)) (sup (inf b c) (inf b d))) -> U)
+  : U
+  := f a
+
+#define distMeetOfJoins4I
+  (a b c d : II)
+  (f : (x : II | inf (sup a b) (sup c d)
+              === sup (sup (inf a c) (inf a d)) (sup (inf b c) (inf b d))) -> U)
+  : U
+  := f a
+
+#define distMeetOfJoins6
+  (a b c d e g : 2)
+  (f : (x : 2 | inf (sup a b) (sup (sup c d) (sup e g))
+             === sup (sup (sup (inf a c) (inf a d)) (sup (inf a e) (inf a g)))
+                     (sup (sup (inf b c) (inf b d)) (sup (inf b e) (inf b g)))) -> U)
+  : U
+  := f a
+
+-- --------------------------------------------------------------------------
+-- total order of 2 vs II via the lattice join
+-- --------------------------------------------------------------------------
+
+#define joinEqualsOneArg2
+  (a b : 2)
+  : U
+  := recOR( sup a b === a |-> dummy , sup a b === b |-> dummy )
diff --git a/test/typecheck/cases/happy-match-basics.expect.yaml b/test/typecheck/cases/happy-match-basics.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-match-basics.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - match-elaboration-basics
diff --git a/test/typecheck/cases/happy-match-basics.rzk b/test/typecheck/cases/happy-match-basics.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-match-basics.rzk
@@ -0,0 +1,41 @@
+#lang rzk-1
+
+#data bool := false | true
+
+#data nat := zero | suc (n : nat)
+
+-- a non-recursive match
+#define not (b : bool) : bool
+  := match b (false ⇒ true | true ⇒ false)
+
+-- recursion through the induction hypothesis
+#define plus (n m : nat) : nat
+  := match n (zero ⇒ m | suc k ih ⇒ suc ih)
+
+#define two : nat := suc (suc zero)
+
+-- the elaborated eliminator computes definitionally
+#define plus-computes : plus two two =_{nat} suc (suc two)
+  := refl
+
+-- an explicit motive after "into" (a family, applied per branch);
+-- ASCII branch arrow
+#define not' (b : bool) : bool
+  := match b into (\ _ → bool) (false => true | true => false)
+
+-- a dependent motive built from the goal: the scrutinee variable is
+-- abstracted out of it
+#define not-not (b : bool) : not (not b) =_{bool} b
+  := match b (false ⇒ refl | true ⇒ refl)
+
+-- a non-variable scrutinee gives a constant family
+#define pred-of-plus (n : nat) : nat
+  := match (plus n two) (zero ⇒ zero | suc k ih ⇒ k)
+
+-- branches may come in any order
+#define not'' (b : bool) : bool
+  := match b (true ⇒ false | false ⇒ true)
+
+-- a nested match in a branch body (the parentheses close each level)
+#define is-even (n : nat) : bool
+  := match n (zero ⇒ true | suc k ih ⇒ match ih (false ⇒ true | true ⇒ false))
diff --git a/test/typecheck/cases/happy-match-case-vec.expect.yaml b/test/typecheck/cases/happy-match-case-vec.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-match-case-vec.expect.yaml
@@ -0,0 +1,5 @@
+status: ok
+warnings: []
+regression_for:
+  - match-equation-convoy
+  - match-wildcard-branch-binder
diff --git a/test/typecheck/cases/happy-match-case-vec.rzk b/test/typecheck/cases/happy-match-case-vec.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-match-case-vec.rzk
@@ -0,0 +1,33 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+#data vec (A : U) : nat → U
+  := nil : vec A zero
+   | cons (n : nat) (x : A) (xs : vec A n) : vec A (suc n)
+
+-- The equation convoy (Coq's case_vec): the motive generalises the index
+-- with a fresh m and returns a function out of the equation x = m, so each
+-- branch receives the index equation as an explicit hypothesis; the whole
+-- match is applied to refl. The unused induction hypothesis is bound as _
+-- (it still counts towards the branch arity).
+#define case-vec
+  ( A : U) (x : nat) (v : vec A x) (P : U)
+  ( hnil : (x =_{nat} zero) → P)
+  ( hcons : (n : nat) → (a : A) → (w : vec A n) → (x =_{nat} suc n) → P)
+  : P
+  := (match v into (\ m w → (x =_{nat} m) → P)
+       ( nil ⇒ \ H → hnil H
+       | cons n a w _ ⇒ \ H → hcons n a w H)) refl
+
+-- it computes: on a concrete vector the cons branch fires with H := refl
+#define use-case-vec
+  ( A : U) (a : A)
+  : nat
+  := case-vec A (suc zero) (cons A zero a (nil A)) nat
+      ( \ _ → zero)
+      ( \ n _ _ _ → suc n)
+
+#define case-vec-computes (A : U) (a : A)
+  : use-case-vec A a =_{nat} suc zero
+  := refl
diff --git a/test/typecheck/cases/happy-match-indexed.expect.yaml b/test/typecheck/cases/happy-match-indexed.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-match-indexed.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - match-elaboration-indexed-families
diff --git a/test/typecheck/cases/happy-match-indexed.rzk b/test/typecheck/cases/happy-match-indexed.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-match-indexed.rzk
@@ -0,0 +1,38 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+#data vec (A : U) : nat → U
+  := nil : vec A zero
+   | cons (n : nat) (x : A) (xs : vec A n) : vec A (suc n)
+
+-- match on an indexed family: one binder per method argument
+-- (fields first, then the induction hypothesis for the recursive field)
+#define vlen (A : U) (n : nat) (xs : vec A n) : nat
+  := match xs (nil ⇒ zero | cons k x tail ih ⇒ suc ih)
+
+#define v1 (A : U) (x : A) : vec A (suc zero)
+  := cons A zero x (nil A)
+
+#define vlen-computes (A : U) (x : A)
+  : vlen A (suc zero) (v1 A x) =_{nat} suc zero
+  := refl
+
+-- an explicit "into" motive over an indexed family takes the indices
+-- before the scrutinee
+#define vlen' (A : U) (n : nat) (xs : vec A n) : nat
+  := match xs into (\ k v → nat) (nil ⇒ zero | cons k x tail ih ⇒ suc ih)
+
+-- a motive that genuinely uses the index: safe head, with the motive
+-- computed by a nested match on the index
+#define vhead (A : U) (n : nat) (xs : vec A (suc n)) : A
+  := match xs into (\ k v → match k (zero ⇒ Unit | suc j jh ⇒ A))
+      ( nil ⇒ unit
+      | cons k x tail ih ⇒ x)
+
+#define v2 (A : U) (x y : A) : vec A (suc (suc zero))
+  := cons A (suc zero) x (cons A zero y (nil A))
+
+#define vhead-computes (A : U) (x y : A)
+  : vhead A (suc zero) (v2 A x y) =_{A} x
+  := refl
diff --git a/test/typecheck/cases/happy-meta-prefix-option-off.expect.yaml b/test/typecheck/cases/happy-meta-prefix-option-off.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-meta-prefix-option-off.expect.yaml
@@ -0,0 +1,4 @@
+status: ok
+warnings: []
+regression_for:
+  - meta-parameter-layer-check sensitivity option
diff --git a/test/typecheck/cases/happy-meta-prefix-option-off.rzk b/test/typecheck/cases/happy-meta-prefix-option-off.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-meta-prefix-option-off.rzk
@@ -0,0 +1,9 @@
+#lang rzk-1
+
+#set-option "warn-meta-prefix" = "off"
+
+#define my-id (X : U) (x : X) : X := x
+
+-- Would warn at the default (strict) sensitivity; the option disables
+-- the check for the rest of the module.
+#define stash : Σ (h : (X : U) → X → X), Unit := (my-id, unit)
diff --git a/test/typecheck/cases/happy-meta-prefix-plumbing.expect.yaml b/test/typecheck/cases/happy-meta-prefix-plumbing.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-meta-prefix-plumbing.expect.yaml
@@ -0,0 +1,5 @@
+status: ok
+warnings: []
+regression_for:
+  - meta-parameter-layer-check
+  - sHoTT weakextext-extext composition plumbing stays warning-free
diff --git a/test/typecheck/cases/happy-meta-prefix-plumbing.rzk b/test/typecheck/cases/happy-meta-prefix-plumbing.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-meta-prefix-plumbing.rzk
@@ -0,0 +1,16 @@
+#lang rzk-1
+
+#define my-id (X : U) (x : X) : X := x
+
+-- Aliasing a schema at the root of a definition is macro-level plumbing.
+#define alias : (X : U) → X → X := my-id
+
+-- A saturated use is always fine.
+#define saturated (A : U) (a : A) : A := my-id A a
+
+-- Passing a schema to another declaration's meta-prefix parameter is
+-- allowed under both rules (the receiving domain is meta-shaped and within
+-- the receiver's meta prefix), as in composing extensionality lemmas.
+#define apply-h (h : (X : U) → X → X) (A : U) (a : A) : A := h A a
+
+#define plumbed (A : U) (a : A) : A := apply-h my-id A a
diff --git a/test/typecheck/cases/happy-shadowing-across-groups.expect.yaml b/test/typecheck/cases/happy-shadowing-across-groups.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-shadowing-across-groups.expect.yaml
@@ -0,0 +1,3 @@
+status: ok
+regression_for:
+  - https://github.com/rzk-lang/rzk/issues/321
diff --git a/test/typecheck/cases/happy-shadowing-across-groups.rzk b/test/typecheck/cases/happy-shadowing-across-groups.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/happy-shadowing-across-groups.rzk
@@ -0,0 +1,6 @@
+#lang rzk-1
+
+-- shadowing across separate binder groups stays legal (a warning at most):
+-- only a duplicate within one group is an error
+#define ok : (A : U) → A → A → A
+  := \ A a → \ a → a
diff --git a/test/typecheck/cases/ill-data-clash-generated.expect.yaml b/test/typecheck/cases/ill-data-clash-generated.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-clash-generated.expect.yaml
@@ -0,0 +1,5 @@
+status: error
+error_tag: TypeErrorDuplicateTopLevel
+line: 7
+regression_for:
+  - data-stage1-name-clashes
diff --git a/test/typecheck/cases/ill-data-clash-generated.rzk b/test/typecheck/cases/ill-data-clash-generated.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-clash-generated.rzk
@@ -0,0 +1,7 @@
+#lang rzk-1
+
+-- The generated eliminator names are ordinary top-level names too, so a
+-- #data whose ind-D is already taken is an error.
+#define ind-d (x : Unit) : Unit := x
+
+#data d := c
diff --git a/test/typecheck/cases/ill-data-duplicate-constructor.expect.yaml b/test/typecheck/cases/ill-data-duplicate-constructor.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-duplicate-constructor.expect.yaml
@@ -0,0 +1,5 @@
+status: error
+error_tag: TypeErrorDuplicateTopLevel
+line: 5
+regression_for:
+  - data-stage1-name-clashes
diff --git a/test/typecheck/cases/ill-data-duplicate-constructor.rzk b/test/typecheck/cases/ill-data-duplicate-constructor.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-duplicate-constructor.rzk
@@ -0,0 +1,5 @@
+#lang rzk-1
+
+-- Constructors are ordinary top-level names, so a duplicate is the same
+-- error as a duplicate #define.
+#data d := c | c
diff --git a/test/typecheck/cases/ill-data-eliminator-clause.expect.yaml b/test/typecheck/cases/ill-data-eliminator-clause.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-eliminator-clause.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorOther
+message_contains:
+  - "eliminator clauses are not supported yet"
+line: 5
+regression_for:
+  - data-stage1-reject-eliminator-clause
diff --git a/test/typecheck/cases/ill-data-eliminator-clause.rzk b/test/typecheck/cases/ill-data-eliminator-clause.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-eliminator-clause.rzk
@@ -0,0 +1,6 @@
+#lang rzk-1
+
+-- The eliminator re-ascription clause parses (the grammar covers all
+-- stages) but is not supported before the HIT stage.
+#data d := c
+  eliminator ind-d : (C : d → U) → C c → (x : d) → C x
diff --git a/test/typecheck/cases/ill-data-fun-field.expect.yaml b/test/typecheck/cases/ill-data-fun-field.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-fun-field.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorOther
+message_contains:
+  - "function-typed recursive field"
+line: 7
+regression_for:
+  - data-stage2-function-recursive-fields-deferred
diff --git a/test/typecheck/cases/ill-data-fun-field.rzk b/test/typecheck/cases/ill-data-fun-field.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-fun-field.rzk
@@ -0,0 +1,7 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+-- Positive, but the recursive field is function-typed (a W-type shape);
+-- its induction hypothesis needs a lambda built in the core, deferred.
+#data w := node (f : nat → w)
diff --git a/test/typecheck/cases/ill-data-index-mismatch.expect.yaml b/test/typecheck/cases/ill-data-index-mismatch.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-index-mismatch.expect.yaml
@@ -0,0 +1,5 @@
+status: error
+error_tag: TypeErrorUnify
+line: 6
+regression_for:
+  - data-stage2-index-well-formedness
diff --git a/test/typecheck/cases/ill-data-index-mismatch.rzk b/test/typecheck/cases/ill-data-index-mismatch.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-index-mismatch.rzk
@@ -0,0 +1,6 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+-- the index term must have the index's type (nat is a type, not a nat)
+#data bad : nat → U := c : bad nat
diff --git a/test/typecheck/cases/ill-data-missing-return.expect.yaml b/test/typecheck/cases/ill-data-missing-return.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-missing-return.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorOther
+message_contains:
+  - "must spell out its return type"
+line: 6
+regression_for:
+  - data-stage2-index-return-required
diff --git a/test/typecheck/cases/ill-data-missing-return.rzk b/test/typecheck/cases/ill-data-missing-return.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-missing-return.rzk
@@ -0,0 +1,6 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+-- an indexed family's constructor must spell out its return type
+#data fin : nat → U := fz
diff --git a/test/typecheck/cases/ill-data-negative.expect.yaml b/test/typecheck/cases/ill-data-negative.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-negative.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorOther
+message_contains:
+  - "not strictly positive"
+line: 4
+regression_for:
+  - data-stage2-strict-positivity
diff --git a/test/typecheck/cases/ill-data-negative.rzk b/test/typecheck/cases/ill-data-negative.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-negative.rzk
@@ -0,0 +1,4 @@
+#lang rzk-1
+
+-- The declared type occurs in a domain: not strictly positive.
+#data bad := c (f : bad → bad)
diff --git a/test/typecheck/cases/ill-data-non-u-sort.expect.yaml b/test/typecheck/cases/ill-data-non-u-sort.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-non-u-sort.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorOther
+message_contains:
+  - "index telescope ending in U"
+line: 6
+regression_for:
+  - data-stage2-sort-shape
diff --git a/test/typecheck/cases/ill-data-non-u-sort.rzk b/test/typecheck/cases/ill-data-non-u-sort.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-non-u-sort.rzk
@@ -0,0 +1,6 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+-- the sort must be U or an index telescope ending in U
+#data bad : nat := stub
diff --git a/test/typecheck/cases/ill-data-return-type.expect.yaml b/test/typecheck/cases/ill-data-return-type.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-return-type.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorOther
+message_contains:
+  - "return type of constructor"
+line: 5
+regression_for:
+  - data-stage1-reject-indices
diff --git a/test/typecheck/cases/ill-data-return-type.rzk b/test/typecheck/cases/ill-data-return-type.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-return-type.rzk
@@ -0,0 +1,5 @@
+#lang rzk-1
+
+-- The spelled-out return type of a constructor must be the declared type
+-- applied to its parameters, in order (anything else is an index).
+#data d (A : U) := c : d Unit
diff --git a/test/typecheck/cases/ill-data-shape-field.expect.yaml b/test/typecheck/cases/ill-data-shape-field.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-shape-field.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorOther
+message_contains:
+  - "directed cell"
+line: 5
+regression_for:
+  - data-stage1-reject-shape-fields
diff --git a/test/typecheck/cases/ill-data-shape-field.rzk b/test/typecheck/cases/ill-data-shape-field.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-data-shape-field.rzk
@@ -0,0 +1,5 @@
+#lang rzk-1
+
+-- A constructor with a cube or shape argument would declare a directed
+-- cell over rzk's simplicial interval; rejected in all M3 stages.
+#data d := arrow (t : 2 | TOP)
diff --git a/test/typecheck/cases/ill-lattice-endpoints-distinct.expect.yaml b/test/typecheck/cases/ill-lattice-endpoints-distinct.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-endpoints-distinct.expect.yaml
@@ -0,0 +1,6 @@
+status: error
+error_tag: TypeErrorTopeNotSatisfied
+message_contains:
+  - does not entail
+regression_for:
+  - lattice-endpoints-distinct-0-ne-1
diff --git a/test/typecheck/cases/ill-lattice-endpoints-distinct.rzk b/test/typecheck/cases/ill-lattice-endpoints-distinct.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-endpoints-distinct.rzk
@@ -0,0 +1,11 @@
+#lang rzk-1
+
+-- The endpoints of the interval are distinct: 0_2 === 1_2 is NOT entailed by
+-- the empty context. This is the cardinal soundness invariant of the interval
+-- (0 != 1). The equality-to-order and antisymmetry clauses used by the lattice
+-- solver must never collapse the two endpoints.
+
+#define endpointsDistinct
+  (f : (x : 2 | 0_2 === 1_2) -> U)
+  : U
+  := f 0_2
diff --git a/test/typecheck/cases/ill-lattice-eq-no-leak.expect.yaml b/test/typecheck/cases/ill-lattice-eq-no-leak.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-eq-no-leak.expect.yaml
@@ -0,0 +1,6 @@
+status: error
+error_tag: TypeErrorTopeNotSatisfied
+message_contains:
+  - does not entail
+regression_for:
+  - lattice-eq-entails-order
diff --git a/test/typecheck/cases/ill-lattice-eq-no-leak.rzk b/test/typecheck/cases/ill-lattice-eq-no-leak.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-eq-no-leak.rzk
@@ -0,0 +1,13 @@
+#lang rzk-1
+
+-- The equality-to-order derivation must not over-generate: a === b entails
+-- a <= b, but says nothing about an unrelated point c. So a <= c is NOT
+-- entailed. Companion to happy-lattice-eq-gives-leq (which checks the sound
+-- direction is available).
+
+#define eqNoLeak
+  (a b c : 2)
+  (t : 2 | a === b)
+  (f : (x : 2 | a <= x) -> U)
+  : U
+  := f c
diff --git a/test/typecheck/cases/ill-lattice-non-law.expect.yaml b/test/typecheck/cases/ill-lattice-non-law.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-non-law.expect.yaml
@@ -0,0 +1,6 @@
+status: error
+error_tag: TypeErrorTopeNotSatisfied
+message_contains:
+  - does not entail
+regression_for:
+  - lattice-non-law-not-overproved
diff --git a/test/typecheck/cases/ill-lattice-non-law.rzk b/test/typecheck/cases/ill-lattice-non-law.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-non-law.rzk
@@ -0,0 +1,13 @@
+#lang rzk-1
+
+-- A non-law must be rejected. In a distributive lattice meet does distribute
+-- over join, but the two sides below are NOT equal in general:
+--   sup a (inf b c)  is a join, whereas  inf a (sup b c)  is a meet.
+-- This guards the DNF normalisation in nfTope together with the LUB/GLB solver
+-- clauses against over-proving (accepting a spurious lattice identity).
+
+#define nonLaw
+  (a b c : 2)
+  (f : (x : 2 | sup a (inf b c) === inf a (sup b c)) -> U)
+  : U
+  := f a
diff --git a/test/typecheck/cases/ill-lattice-not-interval-cube.expect.yaml b/test/typecheck/cases/ill-lattice-not-interval-cube.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-not-interval-cube.expect.yaml
@@ -0,0 +1,6 @@
+status: error
+error_tag: TypeErrorNotIntervalCube
+message_contains:
+  - expects both points in the same interval cube
+regression_for:
+  - lattice-ops-interval-cubes-only
diff --git a/test/typecheck/cases/ill-lattice-not-interval-cube.rzk b/test/typecheck/cases/ill-lattice-not-interval-cube.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-not-interval-cube.rzk
@@ -0,0 +1,10 @@
+#lang rzk-1
+
+-- Lattice operations are defined only on the interval cubes 2 and 𝕀. Applying
+-- sup (or inf) to points of another cube -- here the unit cube 1 -- is a type
+-- error (TypeErrorNotIntervalCube), not a silent success.
+
+#define notIntervalCube
+  (f : (x : 1) -> U)
+  : U
+  := f (sup *_1 *_1)
diff --git a/test/typecheck/cases/ill-lattice-ops-glb-not-entailed.expect.yaml b/test/typecheck/cases/ill-lattice-ops-glb-not-entailed.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-ops-glb-not-entailed.expect.yaml
@@ -0,0 +1,6 @@
+status: error
+error_tag: TypeErrorTopeNotSatisfied
+message_contains:
+  - does not entail
+regression_for:
+  - lattice-glb-not-from-lower-bound
diff --git a/test/typecheck/cases/ill-lattice-ops-glb-not-entailed.rzk b/test/typecheck/cases/ill-lattice-ops-glb-not-entailed.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-ops-glb-not-entailed.rzk
@@ -0,0 +1,10 @@
+#lang rzk-1
+
+-- inf s u <= t does NOT entail t <= s (e.g. s = 0₂, u = 1₂, t = 1₂).
+
+#define glbNotEntailed
+  (s u : 2)
+  (t : 2 | inf s u <= t)
+  (f : (x : 2 | (x <= s) /\ (x <= u)) -> U)
+  : U
+  := f t
diff --git a/test/typecheck/cases/ill-lattice-ops-lub-not-entailed.expect.yaml b/test/typecheck/cases/ill-lattice-ops-lub-not-entailed.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-ops-lub-not-entailed.expect.yaml
@@ -0,0 +1,6 @@
+status: error
+error_tag: TypeErrorTopeNotSatisfied
+message_contains:
+  - does not entail
+regression_for:
+  - lattice-lub-not-from-upper-bound
diff --git a/test/typecheck/cases/ill-lattice-ops-lub-not-entailed.rzk b/test/typecheck/cases/ill-lattice-ops-lub-not-entailed.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-ops-lub-not-entailed.rzk
@@ -0,0 +1,11 @@
+#lang rzk-1
+
+-- t <= sup s u does NOT entail s <= t (e.g. s = 1₂, u = 0₂, t = 0₂).
+-- Application forces `contextEntails` on the callee's shape guard.
+
+#define lubNotEntailed
+  (s u : 2)
+  (t : 2 | t <= sup s u)
+  (f : (x : 2 | (s <= x) /\ (u <= x)) -> U)
+  : U
+  := f t
diff --git a/test/typecheck/cases/ill-lattice-ops-lub-unconditional.expect.yaml b/test/typecheck/cases/ill-lattice-ops-lub-unconditional.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-ops-lub-unconditional.expect.yaml
@@ -0,0 +1,6 @@
+status: error
+error_tag: TypeErrorTopeNotSatisfied
+message_contains:
+  - does not entail
+regression_for:
+  - lattice-lub-not-unconditional
diff --git a/test/typecheck/cases/ill-lattice-ops-lub-unconditional.rzk b/test/typecheck/cases/ill-lattice-ops-lub-unconditional.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-ops-lub-unconditional.rzk
@@ -0,0 +1,9 @@
+#lang rzk-1
+
+-- From unrestricted t alone, sup s u <= t is not entailed (local context is ⊤).
+
+#define lubUnconditional
+  (s u t : 2)
+  (f : (x : 2 | sup s u <= x) -> U)
+  : U
+  := f t
diff --git a/test/typecheck/cases/ill-lattice-total-order-ii.expect.yaml b/test/typecheck/cases/ill-lattice-total-order-ii.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-total-order-ii.expect.yaml
@@ -0,0 +1,6 @@
+status: error
+error_tag: TypeErrorTopeNotSatisfied
+message_contains:
+  - "union of the topes"
+regression_for:
+  - lattice-II-not-totally-ordered
diff --git a/test/typecheck/cases/ill-lattice-total-order-ii.rzk b/test/typecheck/cases/ill-lattice-total-order-ii.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-lattice-total-order-ii.rzk
@@ -0,0 +1,16 @@
+#lang rzk-1
+
+-- II is NOT totally ordered (unlike 2), stated purely via the lattice join.
+--
+-- On a chain the arguments of a join are comparable, so the join equals one of
+-- them: (sup a b === a) \/ (sup a b === b). On II this disjunction does not
+-- hold, so this recOR is not exhaustive. The very same definition on 2
+-- typechecks (see happy-lattice: joinEqualsOneArg2). This is the key lattice
+-- difference between 2 and II.
+
+#define dummy : U := Unit -> Unit
+
+#define joinEqualsOneArgI
+  (a b : II)
+  : U
+  := recOR( sup a b === a |-> dummy , sup a b === b |-> dummy )
diff --git a/test/typecheck/cases/ill-match-branch-arity.expect.yaml b/test/typecheck/cases/ill-match-branch-arity.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-match-branch-arity.expect.yaml
@@ -0,0 +1,8 @@
+status: error
+error_tag: TypeErrorMatchBranchArity
+message_contains:
+  - "match branch for constructor suc"
+  - "binds 1 argument, but its method takes 2"
+line: 6
+regression_for:
+  - match-branch-arity
diff --git a/test/typecheck/cases/ill-match-branch-arity.rzk b/test/typecheck/cases/ill-match-branch-arity.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-match-branch-arity.rzk
@@ -0,0 +1,7 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+-- the suc branch must also bind the induction hypothesis
+#define bad (n : nat) : nat
+  := match n (zero ⇒ n | suc k ⇒ k)
diff --git a/test/typecheck/cases/ill-match-cannot-infer.expect.yaml b/test/typecheck/cases/ill-match-cannot-infer.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-match-cannot-infer.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorMatchCannotInfer
+message_contains:
+  - "cannot infer the type of match"
+line: 6
+regression_for:
+  - match-motive-from-goal
diff --git a/test/typecheck/cases/ill-match-cannot-infer.rzk b/test/typecheck/cases/ill-match-cannot-infer.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-match-cannot-infer.rzk
@@ -0,0 +1,6 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+-- a match without "into" needs a checking position; #compute infers
+#compute match zero (zero ⇒ zero | suc k ih ⇒ k)
diff --git a/test/typecheck/cases/ill-match-duplicate-branch.expect.yaml b/test/typecheck/cases/ill-match-duplicate-branch.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-match-duplicate-branch.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorMatchDuplicateBranch
+message_contains:
+  - "duplicate match branch for constructor zero"
+line: 5
+regression_for:
+  - match-branch-bijection
diff --git a/test/typecheck/cases/ill-match-duplicate-branch.rzk b/test/typecheck/cases/ill-match-duplicate-branch.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-match-duplicate-branch.rzk
@@ -0,0 +1,6 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+#define bad (n : nat) : nat
+  := match n (zero ⇒ n | zero ⇒ n | suc k ih ⇒ n)
diff --git a/test/typecheck/cases/ill-match-missing-branch.expect.yaml b/test/typecheck/cases/ill-match-missing-branch.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-match-missing-branch.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorMatchMissingBranch
+message_contains:
+  - "no branch for constructor suc"
+line: 5
+regression_for:
+  - match-branch-bijection
diff --git a/test/typecheck/cases/ill-match-missing-branch.rzk b/test/typecheck/cases/ill-match-missing-branch.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-match-missing-branch.rzk
@@ -0,0 +1,6 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+#define bad (n : nat) : nat
+  := match n (zero ⇒ n)
diff --git a/test/typecheck/cases/ill-match-not-data.expect.yaml b/test/typecheck/cases/ill-match-not-data.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-match-not-data.expect.yaml
@@ -0,0 +1,8 @@
+status: error
+error_tag: TypeErrorMatchScrutineeNotData
+message_contains:
+  - "match scrutinee"
+  - "is not of a #data type"
+line: 3
+regression_for:
+  - match-scrutinee-data-former
diff --git a/test/typecheck/cases/ill-match-not-data.rzk b/test/typecheck/cases/ill-match-not-data.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-match-not-data.rzk
@@ -0,0 +1,4 @@
+#lang rzk-1
+
+#define bad (A : U) (x : A) : A
+  := match x (whatever ⇒ x)
diff --git a/test/typecheck/cases/ill-match-unknown-branch.expect.yaml b/test/typecheck/cases/ill-match-unknown-branch.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-match-unknown-branch.expect.yaml
@@ -0,0 +1,8 @@
+status: error
+error_tag: TypeErrorMatchUnknownBranch
+message_contains:
+  - "match branch for succ"
+  - "not a constructor"
+line: 5
+regression_for:
+  - match-branch-bijection
diff --git a/test/typecheck/cases/ill-match-unknown-branch.rzk b/test/typecheck/cases/ill-match-unknown-branch.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-match-unknown-branch.rzk
@@ -0,0 +1,6 @@
+#lang rzk-1
+
+#data nat := zero | suc (n : nat)
+
+#define bad (n : nat) : nat
+  := match n (zero ⇒ n | succ k ih ⇒ n)
diff --git a/test/typecheck/cases/ill-repeated-binder-lambda.expect.yaml b/test/typecheck/cases/ill-repeated-binder-lambda.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-repeated-binder-lambda.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorRepeatedBinder
+message_contains:
+  - "x is bound multiple times in one binder group"
+line: 3
+regression_for:
+  - https://github.com/rzk-lang/rzk/issues/321
diff --git a/test/typecheck/cases/ill-repeated-binder-lambda.rzk b/test/typecheck/cases/ill-repeated-binder-lambda.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-repeated-binder-lambda.rzk
@@ -0,0 +1,4 @@
+#lang rzk-1
+
+#define bad : (x y : Unit) → Unit
+  := \ x x → unit
diff --git a/test/typecheck/cases/ill-repeated-binder-pair.expect.yaml b/test/typecheck/cases/ill-repeated-binder-pair.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-repeated-binder-pair.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorRepeatedBinder
+message_contains:
+  - "x is bound multiple times in one binder group"
+line: 3
+regression_for:
+  - https://github.com/rzk-lang/rzk/issues/321
diff --git a/test/typecheck/cases/ill-repeated-binder-pair.rzk b/test/typecheck/cases/ill-repeated-binder-pair.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-repeated-binder-pair.rzk
@@ -0,0 +1,4 @@
+#lang rzk-1
+
+#define bad (A : U) (p : A) : A
+  := (\ (x , x) → x) p
diff --git a/test/typecheck/cases/ill-repeated-binder-params.expect.yaml b/test/typecheck/cases/ill-repeated-binder-params.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-repeated-binder-params.expect.yaml
@@ -0,0 +1,7 @@
+status: error
+error_tag: TypeErrorRepeatedBinder
+message_contains:
+  - "A is bound multiple times in one binder group"
+line: 3
+regression_for:
+  - https://github.com/rzk-lang/rzk/issues/321
diff --git a/test/typecheck/cases/ill-repeated-binder-params.rzk b/test/typecheck/cases/ill-repeated-binder-params.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/ill-repeated-binder-params.rzk
@@ -0,0 +1,3 @@
+#lang rzk-1
+
+#define bad (A : U) (A : U) : U := A
diff --git a/test/typecheck/cases/warn-meta-prefix-object-position.expect.yaml b/test/typecheck/cases/warn-meta-prefix-object-position.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/warn-meta-prefix-object-position.expect.yaml
@@ -0,0 +1,5 @@
+status: ok
+warnings:
+  - MetaPrefixWarning
+regression_for:
+  - meta-parameter-layer-check
diff --git a/test/typecheck/cases/warn-meta-prefix-object-position.rzk b/test/typecheck/cases/warn-meta-prefix-object-position.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/warn-meta-prefix-object-position.rzk
@@ -0,0 +1,8 @@
+#lang rzk-1
+
+-- my-id has meta prefix X (a universe parameter).
+#define my-id (X : U) (x : X) : X := x
+
+-- Storing the unsaturated schema in a pair component is an object-level
+-- use: the meta prefix must be supplied.
+#define stash : Σ (h : (X : U) → X → X), Unit := (my-id, unit)
diff --git a/test/typecheck/cases/warn-meta-prefix-option-structural.expect.yaml b/test/typecheck/cases/warn-meta-prefix-option-structural.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/warn-meta-prefix-option-structural.expect.yaml
@@ -0,0 +1,5 @@
+status: ok
+warnings:
+  - MetaPrefixWarning
+regression_for:
+  - meta-parameter-layer-check sensitivity option
diff --git a/test/typecheck/cases/warn-meta-prefix-option-structural.rzk b/test/typecheck/cases/warn-meta-prefix-option-structural.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/warn-meta-prefix-option-structural.rzk
@@ -0,0 +1,12 @@
+#lang rzk-1
+
+#set-option "warn-meta-prefix" = "structural"
+
+#define my-id (X : U) (x : X) : X := x
+
+-- Flagged only by the strict rule, so silenced at this sensitivity.
+#define local-use (A : U) (a : A) : A
+  := (\ (h : (X : U) → X → X) → h A a) my-id
+
+-- An object-level position still warns under the structural rule.
+#define stash : Σ (h : (X : U) → X → X), Unit := (my-id, unit)
diff --git a/test/typecheck/cases/warn-meta-prefix-section.expect.yaml b/test/typecheck/cases/warn-meta-prefix-section.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/warn-meta-prefix-section.expect.yaml
@@ -0,0 +1,6 @@
+status: ok
+warnings:
+  - MetaPrefixWarning
+regression_for:
+  - meta-parameter-layer-check
+  - endSection recomputes varMetaPrefix after abstracting assumptions
diff --git a/test/typecheck/cases/warn-meta-prefix-section.rzk b/test/typecheck/cases/warn-meta-prefix-section.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/warn-meta-prefix-section.rzk
@@ -0,0 +1,12 @@
+#lang rzk-1
+
+-- Closing the section abstracts T out of use-T, whose type becomes
+-- (T : U) → U: the meta prefix must be recomputed at #end.
+#section sec
+#assume T : U
+#define use-T uses (T) : U := T
+#end sec
+
+-- An object-level use of the generalised definition without its (new)
+-- meta parameter.
+#define stash : Σ (h : U → U), Unit := (use-T, unit)
diff --git a/test/typecheck/cases/warn-meta-prefix-strict-only.expect.yaml b/test/typecheck/cases/warn-meta-prefix-strict-only.expect.yaml
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/warn-meta-prefix-strict-only.expect.yaml
@@ -0,0 +1,5 @@
+status: ok
+warnings:
+  - MetaPrefixWarningStrictOnly
+regression_for:
+  - meta-parameter-layer-check
diff --git a/test/typecheck/cases/warn-meta-prefix-strict-only.rzk b/test/typecheck/cases/warn-meta-prefix-strict-only.rzk
new file mode 100644
--- /dev/null
+++ b/test/typecheck/cases/warn-meta-prefix-strict-only.rzk
@@ -0,0 +1,9 @@
+#lang rzk-1
+
+#define my-id (X : U) (x : X) : X := x
+
+-- Passing the unsaturated schema to a local parameter whose declared type
+-- is meta-shaped is allowed by the structural rule; only the strict rule
+-- (top-level receiver, within its meta prefix) flags it.
+#define local-use (A : U) (a : A) : A
+  := (\ (h : (X : U) → X → X) → h A a) my-id
