packages feed

asil (empty) → 1.2

raw patch · 48 files changed

+79927/−0 lines, 48 filesdep +arraydep +basedep +binarybuild-type:Customsetup-changed

Dependencies added: array, base, binary, bytestring, containers, data-binary-ieee754, directory, filepath, haskell-src-exts, mtl, pretty, utf8-string, uuagc, zip-archive, zlib

Files

+ LICENSE view
@@ -0,0 +1,165 @@+                   GNU LESSER GENERAL PUBLIC LICENSE+                       Version 3, 29 June 2007++ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>+ Everyone is permitted to copy and distribute verbatim copies+ of this license document, but changing it is not allowed.+++  This version of the GNU Lesser General Public License incorporates+the terms and conditions of version 3 of the GNU General Public+License, supplemented by the additional permissions listed below.++  0. Additional Definitions.++  As used herein, "this License" refers to version 3 of the GNU Lesser+General Public License, and the "GNU GPL" refers to version 3 of the GNU+General Public License.++  "The Library" refers to a covered work governed by this License,+other than an Application or a Combined Work as defined below.++  An "Application" is any work that makes use of an interface provided+by the Library, but which is not otherwise based on the Library.+Defining a subclass of a class defined by the Library is deemed a mode+of using an interface provided by the Library.++  A "Combined Work" is a work produced by combining or linking an+Application with the Library.  The particular version of the Library+with which the Combined Work was made is also called the "Linked+Version".++  The "Minimal Corresponding Source" for a Combined Work means the+Corresponding Source for the Combined Work, excluding any source code+for portions of the Combined Work that, considered in isolation, are+based on the Application, and not on the Linked Version.++  The "Corresponding Application Code" for a Combined Work means the+object code and/or source code for the Application, including any data+and utility programs needed for reproducing the Combined Work from the+Application, but excluding the System Libraries of the Combined Work.++  1. Exception to Section 3 of the GNU GPL.++  You may convey a covered work under sections 3 and 4 of this License+without being bound by section 3 of the GNU GPL.++  2. Conveying Modified Versions.++  If you modify a copy of the Library, and, in your modifications, a+facility refers to a function or data to be supplied by an Application+that uses the facility (other than as an argument passed when the+facility is invoked), then you may convey a copy of the modified+version:++   a) under this License, provided that you make a good faith effort to+   ensure that, in the event an Application does not supply the+   function or data, the facility still operates, and performs+   whatever part of its purpose remains meaningful, or++   b) under the GNU GPL, with none of the additional permissions of+   this License applicable to that copy.++  3. Object Code Incorporating Material from Library Header Files.++  The object code form of an Application may incorporate material from+a header file that is part of the Library.  You may convey such object+code under terms of your choice, provided that, if the incorporated+material is not limited to numerical parameters, data structure+layouts and accessors, or small macros, inline functions and templates+(ten or fewer lines in length), you do both of the following:++   a) Give prominent notice with each copy of the object code that the+   Library is used in it and that the Library and its use are+   covered by this License.++   b) Accompany the object code with a copy of the GNU GPL and this license+   document.++  4. Combined Works.++  You may convey a Combined Work under terms of your choice that,+taken together, effectively do not restrict modification of the+portions of the Library contained in the Combined Work and reverse+engineering for debugging such modifications, if you also do each of+the following:++   a) Give prominent notice with each copy of the Combined Work that+   the Library is used in it and that the Library and its use are+   covered by this License.++   b) Accompany the Combined Work with a copy of the GNU GPL and this license+   document.++   c) For a Combined Work that displays copyright notices during+   execution, include the copyright notice for the Library among+   these notices, as well as a reference directing the user to the+   copies of the GNU GPL and this license document.++   d) Do one of the following:++       0) Convey the Minimal Corresponding Source under the terms of this+       License, and the Corresponding Application Code in a form+       suitable for, and under terms that permit, the user to+       recombine or relink the Application with a modified version of+       the Linked Version to produce a modified Combined Work, in the+       manner specified by section 6 of the GNU GPL for conveying+       Corresponding Source.++       1) Use a suitable shared library mechanism for linking with the+       Library.  A suitable mechanism is one that (a) uses at run time+       a copy of the Library already present on the user's computer+       system, and (b) will operate properly with a modified version+       of the Library that is interface-compatible with the Linked+       Version.++   e) Provide Installation Information, but only if you would otherwise+   be required to provide such information under section 6 of the+   GNU GPL, and only to the extent that such information is+   necessary to install and execute a modified version of the+   Combined Work produced by recombining or relinking the+   Application with a modified version of the Linked Version. (If+   you use option 4d0, the Installation Information must accompany+   the Minimal Corresponding Source and Corresponding Application+   Code. If you use option 4d1, you must provide the Installation+   Information in the manner specified by section 6 of the GNU GPL+   for conveying Corresponding Source.)++  5. Combined Libraries.++  You may place library facilities that are a work based on the+Library side by side in a single library together with other library+facilities that are not Applications and are not covered by this+License, and convey such a combined library under terms of your+choice, if you do both of the following:++   a) Accompany the combined library with a copy of the same work based+   on the Library, uncombined with any other library facilities,+   conveyed under the terms of this License.++   b) Give prominent notice with the combined library that part of it+   is a work based on the Library, and explaining where to find the+   accompanying uncombined form of the same work.++  6. Revised Versions of the GNU Lesser General Public License.++  The Free Software Foundation may publish revised and/or new versions+of the GNU Lesser General Public License from time to time. Such new+versions will be similar in spirit to the present version, but may+differ in detail to address new problems or concerns.++  Each version is given a distinguishing version number. If the+Library as you received it specifies that a certain numbered version+of the GNU Lesser General Public License "or any later version"+applies to it, you have the option of following the terms and+conditions either of that published version or of any later version+published by the Free Software Foundation. If the Library as you+received it does not specify a version number of the GNU Lesser+General Public License, you may choose any version of the GNU Lesser+General Public License ever published by the Free Software Foundation.++  If the Library as you received it specifies that a proxy can decide+whether future versions of the GNU Lesser General Public License shall+apply, that proxy's public statement of acceptance of any version is+permanent authorization for you to choose that version for the+Library.
+ Setup.hs view
@@ -0,0 +1,6 @@+module Main where++import Distribution.Simple+import Distribution.Simple.UUAGC++main = defaultMainWithHooks uuagcUserHook
+ asil.cabal view
@@ -0,0 +1,42 @@+cabal-version: >= 1.8+build-type: Custom+name: asil+version: 1.2+license: LGPL+license-file: LICENSE+maintainer: Arie Middelkoop <ariem@cs.uu.nl>+homepage: http://www.pros.upv.es/fittest/+description: A library for the analysis and instrumentation of ActionScript programs in Flash files.+category: Compilers/Interpreters+stability: Experimental+synopsis: Action Script Instrumentation Library+copyright: Universiteit Utrecht, FITTEST project+extra-source-files: uuagc_options+extra-source-files: src/ByteCodeAst.ag, src/ByteCode.ag, src/PrettyInstr.ag+extra-source-files: src/ByteCodeTrfBase.ag+extra-source-files: src/InstrLocFilter.ag, src/InstrSize.ag+extra-source-files: src/PrettyCode.ag, src/PrettyTree.ag+extra-source-files: src/CFGAst.ag, src/CFG.ag+extra-source-files: src/Language.ag, src/LanguageAst.ag+extra-source-files: src/SymbolTables.ag, src/TrfInjectAbc.ag, src/TrfInjectRefl.ag+extra-source-files: src/SymView.ag, src/SymViewAst.ag, src/GenInstrLib.ag+extra-source-files: src/ExtractAbc.ag+extra-source-files: src/ByteCodeLocationInfo.ag++library+  build-depends: base >= 4, base < 5+  build-depends: bytestring >= 0.9, filepath >= 1.1, directory >= 1.0, utf8-string >= 0.3, array >= 0.3, mtl >= 1.1.0.2+  build-depends: data-binary-ieee754 >= 0.4.2, binary >= 0.5.0.2, zlib >= 0.5.2.0+  build-depends: pretty >= 1.0.1.1+  build-depends: containers >= 0.3+  build-depends: uuagc >= 0.9.36+  build-depends: haskell-src-exts >= 1.10.1+  build-depends: zip-archive >= 0.1.1.7+  exposed-modules: Instr, Language+  exposed-modules: ByteCode, Parser, ParseUtil, PrettyCode, PrettyTree, InstrSize, InstrLocFilter+  exposed-modules: CFG+  exposed-modules: Env, ProgInfo, InstrBaseLib, SymbolTables, GenInstrLib, SymInfo, SymView+  exposed-modules: TrfInjectAbc, TrfInjectRefl, TrfToCFG, ExtractAbc+  exposed-modules: PrettyUtil+  exposed-modules: Options+  hs-source-dirs: src
+ dist/build/ByteCode.hs view
@@ -0,0 +1,475 @@+++-- UUAGC 0.9.36 (src/ByteCode.ag)+module ByteCode where++{-# LINE 6 "src/ByteCode.ag" #-}++import Data.Word+import Data.ByteString.Lazy(ByteString)+import Data.Bits+{-# LINE 12 "dist/src/sdist.27680/asil-1.2/dist/build/ByteCode.hs" #-}+{-# LINE 19 "src/ByteCode.ag" #-}++fromS24 :: Word32 -> Int+fromS24 w | testBit w 31 = negate (fromIntegral w)+          | otherwise    = fromIntegral w+{-# LINE 18 "dist/src/sdist.27680/asil-1.2/dist/build/ByteCode.hs" #-}++{-# LINE 27 "src/ByteCode.ag" #-}++type AbcFiles = [AbcFile]+type SwfFiles = [SwfFile]+{-# LINE 24 "dist/src/sdist.27680/asil-1.2/dist/build/ByteCode.hs" #-}+-- AbcFile -----------------------------------------------------+data AbcFile  = AbcFile_File !(Word16) !(Word16) !(PoolInfo ) !(MethodInfos ) !(MetaInfos ) !(InstanceInfos ) !(ClassInfos ) !(ScriptInfos ) !(BodyInfos ) +              deriving ( Eq,Ord,Show)+-- AbcFlag -----------------------------------------------------+data AbcFlag  = AbcFlag_LazyInit +              deriving ( Eq,Ord,Show)+-- AbcFlags ----------------------------------------------------+type AbcFlags  = [AbcFlag ]+-- BodyInfo ----------------------------------------------------+data BodyInfo  = BodyInfo_Info !(Word32) !(Word32) !(Word32) !(Word32) !(Word32) !(Instructions ) !(Exceptions ) !(Traits ) +               deriving ( Eq,Ord,Show)+-- BodyInfos ---------------------------------------------------+type BodyInfos  = [BodyInfo ]+-- CaseOffsets -------------------------------------------------+type CaseOffsets  = [(Word32)]+-- ClassInfo ---------------------------------------------------+data ClassInfo  = ClassInfo_Info !(Word32) !(Traits ) +                deriving ( Eq,Ord,Show)+-- ClassInfos --------------------------------------------------+type ClassInfos  = [ClassInfo ]+-- DebugType ---------------------------------------------------+data DebugType  = DebugType_Local +                deriving ( Eq,Ord,Show)+-- Exception ---------------------------------------------------+data Exception  = Exception_Info !(Word32) !(Word32) !(Word32) !(Word32) !(Word32) +                deriving ( Eq,Ord,Show)+-- Exceptions --------------------------------------------------+type Exceptions  = [Exception ]+-- InstanceFlag ------------------------------------------------+data InstanceFlag  = InstanceFlag_ClassFinal +                   | InstanceFlag_ClassInterface +                   | InstanceFlag_ClassProtected +                   | InstanceFlag_ClassSealed +                   deriving ( Eq,Ord,Show)+-- InstanceFlags -----------------------------------------------+type InstanceFlags  = [InstanceFlag ]+-- InstanceInfo ------------------------------------------------+data InstanceInfo  = InstanceInfo_Info !(Word32) !(Word32) !(InstanceFlags ) !(Word32) !(Interfaces ) !(Word32) !(Traits ) +                   deriving ( Eq,Ord,Show)+-- InstanceInfos -----------------------------------------------+type InstanceInfos  = [InstanceInfo ]+-- Instruction -------------------------------------------------+data Instruction  = Instruction_Add +                  | Instruction_Add_d +                  | Instruction_Add_i +                  | Instruction_ApplyType !(Word32) +                  | Instruction_AsType !(Word32) +                  | Instruction_AsTypeLate +                  | Instruction_BitAnd +                  | Instruction_BitNot +                  | Instruction_BitOr +                  | Instruction_BitXor +                  | Instruction_BreakLine !(Word32) +                  | Instruction_Breakpoint +                  | Instruction_Call !(Word32) +                  | Instruction_CallInterface !(Word32) !(Word32) +                  | Instruction_CallMethod !(Word32) !(Word32) +                  | Instruction_CallProp !(Word32) !(Word32) +                  | Instruction_CallPropLex !(Word32) !(Word32) +                  | Instruction_CallPropVoid !(Word32) !(Word32) +                  | Instruction_CallStatic !(Word32) !(Word32) +                  | Instruction_CallSuper !(Word32) !(Word32) +                  | Instruction_CallSuperId +                  | Instruction_CallSuperVoid !(Word32) !(Word32) +                  | Instruction_CheckFilter +                  | Instruction_Coerce !(Word32) +                  | Instruction_Coerce_a +                  | Instruction_Coerce_b +                  | Instruction_Coerce_d +                  | Instruction_Coerce_i +                  | Instruction_Coerce_o +                  | Instruction_Coerce_s +                  | Instruction_Coerce_u +                  | Instruction_Concat +                  | Instruction_Construct !(Word32) +                  | Instruction_ConstructProp !(Word32) !(Word32) +                  | Instruction_ConstructSuper !(Word32) +                  | Instruction_Convert_b +                  | Instruction_Convert_d +                  | Instruction_Convert_i +                  | Instruction_Convert_o +                  | Instruction_Convert_s +                  | Instruction_Convert_u +                  | Instruction_Debug !(DebugType ) !(Word32) !(Word32) !(Word32) +                  | Instruction_DebugFile !(Word32) +                  | Instruction_DebugLine !(Word32) +                  | Instruction_DecLocal !(Word32) +                  | Instruction_DecLocal_i !(Word32) +                  | Instruction_Decrement +                  | Instruction_Decrement_i +                  | Instruction_DeleteProperty !(Word32) +                  | Instruction_DeletePropertyLate +                  | Instruction_Divide +                  | Instruction_Dup +                  | Instruction_Dxns !(Word32) +                  | Instruction_DxnsLate +                  | Instruction_Equals +                  | Instruction_EscXAttr +                  | Instruction_EscXElem +                  | Instruction_FindDef !(Word32) +                  | Instruction_FindPropStrict !(Word32) +                  | Instruction_FindProperty !(Word32) +                  | Instruction_FindPropertyGlobal !(Word32) +                  | Instruction_FindPropertyGlobalStrict !(Word32) +                  | Instruction_GetDescendants !(Word32) +                  | Instruction_GetGlobalScope +                  | Instruction_GetGlobalSlot !(Word32) +                  | Instruction_GetLex !(Word32) +                  | Instruction_GetLocal !(Word32) +                  | Instruction_GetLocal0 +                  | Instruction_GetLocal1 +                  | Instruction_GetLocal2 +                  | Instruction_GetLocal3 +                  | Instruction_GetOuterScope !(Word32) +                  | Instruction_GetProperty !(Word32) +                  | Instruction_GetScopeObject !(Word8) +                  | Instruction_GetSlot !(Word32) +                  | Instruction_GetSuper !(Word32) +                  | Instruction_GreaterEquals +                  | Instruction_GreaterThan +                  | Instruction_HasNext +                  | Instruction_HasNext2 !(Word32) !(Word32) +                  | Instruction_IfEq !(Word32) +                  | Instruction_IfFalse !(Word32) +                  | Instruction_IfGe !(Word32) +                  | Instruction_IfGt !(Word32) +                  | Instruction_IfLe !(Word32) +                  | Instruction_IfLt !(Word32) +                  | Instruction_IfNGe !(Word32) +                  | Instruction_IfNGt !(Word32) +                  | Instruction_IfNLe !(Word32) +                  | Instruction_IfNLt !(Word32) +                  | Instruction_IfNe !(Word32) +                  | Instruction_IfStrictEq !(Word32) +                  | Instruction_IfStrictNe !(Word32) +                  | Instruction_IfTrue !(Word32) +                  | Instruction_In +                  | Instruction_IncLocal !(Word32) +                  | Instruction_IncLocal_i !(Word32) +                  | Instruction_Increment +                  | Instruction_Increment_i +                  | Instruction_InitProperty !(Word32) +                  | Instruction_InstanceOf +                  | Instruction_IsType !(Word32) +                  | Instruction_IsTypeLate +                  | Instruction_Jump !(Word32) +                  | Instruction_Kill !(Word32) +                  | Instruction_Label +                  | Instruction_LessEquals +                  | Instruction_LessThan +                  | Instruction_LoadFloat32 +                  | Instruction_LoadFloat64 +                  | Instruction_LoadIndirect16 +                  | Instruction_LoadIndirect32 +                  | Instruction_LoadIndirect8 +                  | Instruction_Location !(Int) +                  | Instruction_LookupSwitch !(Word32) !(CaseOffsets ) +                  | Instruction_Lshift +                  | Instruction_Modulo +                  | Instruction_Multiply +                  | Instruction_Multiply_i +                  | Instruction_Negate +                  | Instruction_Negate_i +                  | Instruction_NewActivation +                  | Instruction_NewArray !(Word32) +                  | Instruction_NewCatch !(Word32) +                  | Instruction_NewClass !(Word32) +                  | Instruction_NewFunction !(Word32) +                  | Instruction_NewObject !(Word32) +                  | Instruction_NextName +                  | Instruction_NextValue +                  | Instruction_Nop +                  | Instruction_Not +                  | Instruction_Pop +                  | Instruction_PopScope +                  | Instruction_PushByte !(Word8) +                  | Instruction_PushDouble !(Word32) +                  | Instruction_PushFalse +                  | Instruction_PushInt !(Word32) +                  | Instruction_PushNaN +                  | Instruction_PushNamespace !(Word32) +                  | Instruction_PushNull +                  | Instruction_PushScope +                  | Instruction_PushShort !(Word32) +                  | Instruction_PushString !(Word32) +                  | Instruction_PushTrue +                  | Instruction_PushUInt !(Word32) +                  | Instruction_PushUndefined +                  | Instruction_PushWith +                  | Instruction_ReturnValue +                  | Instruction_ReturnVoid +                  | Instruction_Rshift +                  | Instruction_SetGlobalSlot !(Word32) +                  | Instruction_SetLocal !(Word32) +                  | Instruction_SetLocal0 +                  | Instruction_SetLocal1 +                  | Instruction_SetLocal2 +                  | Instruction_SetLocal3 +                  | Instruction_SetProperty !(Word32) +                  | Instruction_SetPropertyLate +                  | Instruction_SetSlot !(Word32) +                  | Instruction_SetSuper !(Word32) +                  | Instruction_SignExtend1 +                  | Instruction_SignExtend16 +                  | Instruction_SignExtend8 +                  | Instruction_StoreFloat32 +                  | Instruction_StoreFloat64 +                  | Instruction_StoreIndirect16 +                  | Instruction_StoreIndirect32 +                  | Instruction_StoreIndirect8 +                  | Instruction_StrictEquals +                  | Instruction_Substract +                  | Instruction_Substract_i +                  | Instruction_Swap +                  | Instruction_Throw +                  | Instruction_Timestamp +                  | Instruction_TypeOf +                  | Instruction_Urshift +                  deriving ( Eq,Ord,Show)+-- Instructions ------------------------------------------------+type Instructions  = [Instruction ]+-- Interfaces --------------------------------------------------+type Interfaces  = [(Word32)]+-- MetaInfo ----------------------------------------------------+data MetaInfo  = MetaInfo_Info !(Word32) !(MetaItems ) +               deriving ( Eq,Ord,Show)+-- MetaInfos ---------------------------------------------------+type MetaInfos  = [MetaInfo ]+-- MetaItem ----------------------------------------------------+data MetaItem  = MetaItem_Item !(Word32) !(Word32) +               deriving ( Eq,Ord,Show)+-- MetaItems ---------------------------------------------------+type MetaItems  = [MetaItem ]+-- MethodFlag --------------------------------------------------+data MethodFlag  = MethodFlag_HasOptionals +                 | MethodFlag_HasParamNames +                 | MethodFlag_NeedAct +                 | MethodFlag_NeedArgs +                 | MethodFlag_NeedRest +                 | MethodFlag_SetDXNS +                 deriving ( Eq,Ord,Show)+-- MethodFlags -------------------------------------------------+type MethodFlags  = [MethodFlag ]+-- MethodInfo --------------------------------------------------+data MethodInfo  = MethodInfo_Info !(Word32) !(ParamTypes ) !(Word32) !(MethodFlags ) !(Optionals ) !(ParamNames ) +                 deriving ( Eq,Ord,Show)+-- MethodInfos -------------------------------------------------+type MethodInfos  = [MethodInfo ]+-- MultinameInfo -----------------------------------------------+data MultinameInfo  = MultinameInfo_Generic !(Word32) !(ParamNames ) +                    | MultinameInfo_Multiname !(Word32) !(Word32) +                    | MultinameInfo_MultinameA !(Word32) !(Word32) +                    | MultinameInfo_MultinameL !(Word32) +                    | MultinameInfo_MultinameLA !(Word32) +                    | MultinameInfo_QName !(Word32) !(Word32) +                    | MultinameInfo_QNameA !(Word32) !(Word32) +                    | MultinameInfo_RTQName !(Word32) +                    | MultinameInfo_RTQNameA !(Word32) +                    | MultinameInfo_RTQNameL +                    | MultinameInfo_RTQNameLA +                    deriving ( Eq,Ord,Show)+-- MultinameInfos ----------------------------------------------+type MultinameInfos  = [MultinameInfo ]+-- MultinameKind -----------------------------------------------+data MultinameKind  = MultinameKind_Generic +                    | MultinameKind_Multiname +                    | MultinameKind_MultinameA +                    | MultinameKind_MultinameL +                    | MultinameKind_MultinameLA +                    | MultinameKind_QName +                    | MultinameKind_QNameA +                    | MultinameKind_RTQName +                    | MultinameKind_RTQNameA +                    | MultinameKind_RTQNameL +                    | MultinameKind_RTQNameLA +                    deriving ( Eq,Ord,Show)+-- NamespaceInfo -----------------------------------------------+data NamespaceInfo  = NamespaceInfo_Info !(NamespaceKind ) !(Word32) +                    deriving ( Eq,Ord,Show)+-- NamespaceInfos ----------------------------------------------+type NamespaceInfos  = [NamespaceInfo ]+-- NamespaceKind -----------------------------------------------+data NamespaceKind  = NamespaceKind_Explicit +                    | NamespaceKind_General +                    | NamespaceKind_Internal +                    | NamespaceKind_Package +                    | NamespaceKind_Private +                    | NamespaceKind_Protected +                    | NamespaceKind_Static +                    deriving ( Eq,Ord,Show)+-- NamespaceNames ----------------------------------------------+type NamespaceNames  = [(Word32)]+-- Optional ----------------------------------------------------+data Optional  = Optional_Detail !(Word32) !(ValueKind ) +               deriving ( Eq,Ord,Show)+-- Optionals ---------------------------------------------------+type Optionals  = [Optional ]+-- ParamNames --------------------------------------------------+type ParamNames  = [(Word32)]+-- ParamTypes --------------------------------------------------+type ParamTypes  = [(Word32)]+-- PoolDoubles -------------------------------------------------+type PoolDoubles  = [(Double)]+-- PoolInfo ----------------------------------------------------+data PoolInfo  = PoolInfo_Info !(PoolInts ) !(PoolUInts ) !(PoolDoubles ) !(PoolStrings ) !(NamespaceInfos ) !(SetInfos ) !(MultinameInfos ) +               deriving ( Eq,Ord,Show)+-- PoolInts ----------------------------------------------------+type PoolInts  = [(Word32)]+-- PoolStrings -------------------------------------------------+type PoolStrings  = [(ByteString)]+-- PoolUInts ---------------------------------------------------+type PoolUInts  = [(Word32)]+-- Rect --------------------------------------------------------+data Rect  = Rect_Rect !(Int) !(Word32) !(Word32) !(Word32) !(Word32) +           deriving ( Eq,Ord,Show)+-- ScriptInfo --------------------------------------------------+data ScriptInfo  = ScriptInfo_Info !(Word32) !(Traits ) +                 deriving ( Eq,Ord,Show)+-- ScriptInfos -------------------------------------------------+type ScriptInfos  = [ScriptInfo ]+-- SetInfo -----------------------------------------------------+data SetInfo  = SetInfo_Info !(NamespaceNames ) +              deriving ( Eq,Ord,Show)+-- SetInfos ----------------------------------------------------+type SetInfos  = [SetInfo ]+-- SwfFile -----------------------------------------------------+data SwfFile  = SwfFile_File !(Bool) !(Word8) !(Word32) !(Rect ) !(Word16) !(Word16) !(Tags ) +              deriving ( Eq,Ord,Show)+-- Tag ---------------------------------------------------------+data Tag  = Tag_Abc !(AbcFlags ) !(ByteString) !(AbcFile ) +          | Tag_End +          | Tag_FileAttributes !(Bool) !(Bool) !(Bool) !(Bool) !(Bool) +          | Tag_Opaque !(TagKind ) !(Word32) !(ByteString) +          deriving ( Eq,Ord,Show)+-- TagKind -----------------------------------------------------+data TagKind  = TagKind_CSMTextSettings +              | TagKind_DefineBinaryData +              | TagKind_DefineBits +              | TagKind_DefineBitsJPEG2 +              | TagKind_DefineBitsJPEG3 +              | TagKind_DefineBitsJPEG4 +              | TagKind_DefineBitsLossless +              | TagKind_DefineBitsLossless2 +              | TagKind_DefineButton +              | TagKind_DefineButton2 +              | TagKind_DefineButtonCxform +              | TagKind_DefineButtonSound +              | TagKind_DefineEditText +              | TagKind_DefineFont +              | TagKind_DefineFont2 +              | TagKind_DefineFont3 +              | TagKind_DefineFont4 +              | TagKind_DefineFontAlignZones +              | TagKind_DefineFontInfo +              | TagKind_DefineFontInfo2 +              | TagKind_DefineFontName +              | TagKind_DefineMorphShape +              | TagKind_DefineMorphShape2 +              | TagKind_DefineScalingGrid +              | TagKind_DefineSceneAndFrameLabelData +              | TagKind_DefineShape +              | TagKind_DefineShape2 +              | TagKind_DefineShape3 +              | TagKind_DefineShape4 +              | TagKind_DefineSound +              | TagKind_DefineSprite +              | TagKind_DefineText +              | TagKind_DefineText2 +              | TagKind_DefineVideoStream +              | TagKind_DoABC +              | TagKind_DoAction +              | TagKind_DoInitAction +              | TagKind_EnableDebugger +              | TagKind_EnableDebugger2 +              | TagKind_End +              | TagKind_ExportAssets +              | TagKind_FileAttributes +              | TagKind_FrameLabel +              | TagKind_ImportAssets +              | TagKind_ImportAssets2 +              | TagKind_JPEGTables +              | TagKind_Metadata +              | TagKind_Other !(Word16) +              | TagKind_PlaceObject +              | TagKind_PlaceObject2 +              | TagKind_PlaceObject3 +              | TagKind_Protect +              | TagKind_RemoveObject +              | TagKind_RemoveObject2 +              | TagKind_ScriptLimits +              | TagKind_SetBackgroundColor +              | TagKind_SetTabIndex +              | TagKind_ShowFrame +              | TagKind_SoundStreamBlock +              | TagKind_SoundStreamHead +              | TagKind_SoundStreamHead2 +              | TagKind_StartSound +              | TagKind_StartSound2 +              | TagKind_SymbolClass +              | TagKind_VideoFrame +              deriving ( Eq,Ord,Show)+-- Tags --------------------------------------------------------+type Tags  = [Tag ]+-- Trait -------------------------------------------------------+data Trait  = Trait_Trait !(Word32) !(TraitData ) !(TraitAttrs ) !(TraitMeta ) +            deriving ( Eq,Ord,Show)+-- TraitAttr ---------------------------------------------------+data TraitAttr  = TraitAttr_Final +                | TraitAttr_Metadata +                | TraitAttr_Override +                deriving ( Eq,Ord,Show)+-- TraitAttrs --------------------------------------------------+type TraitAttrs  = [TraitAttr ]+-- TraitData ---------------------------------------------------+data TraitData  = TraitData_Class !(Word32) !(Word32) +                | TraitData_Const !(Word32) !(Word32) !(Word32) !(ValueKind ) +                | TraitData_Function !(Word32) !(Word32) +                | TraitData_Getter !(Word32) !(Word32) +                | TraitData_Method !(Word32) !(Word32) +                | TraitData_Setter !(Word32) !(Word32) +                | TraitData_Slot !(Word32) !(Word32) !(Word32) !(ValueKind ) +                deriving ( Eq,Ord,Show)+-- TraitKind ---------------------------------------------------+data TraitKind  = TraitKind_Class +                | TraitKind_Const +                | TraitKind_Function +                | TraitKind_Getter +                | TraitKind_Method +                | TraitKind_Setter +                | TraitKind_Slot +                deriving ( Eq,Ord,Show)+-- TraitMeta ---------------------------------------------------+type TraitMeta  = [(Word32)]+-- Traits ------------------------------------------------------+type Traits  = [Trait ]+-- ValueKind ---------------------------------------------------+data ValueKind  = ValueKind_Double +                | ValueKind_Explicit +                | ValueKind_False +                | ValueKind_Int +                | ValueKind_Internal +                | ValueKind_Namespace +                | ValueKind_Null +                | ValueKind_Package +                | ValueKind_Private +                | ValueKind_Protected +                | ValueKind_Static +                | ValueKind_True +                | ValueKind_UInt +                | ValueKind_Undefined +                | ValueKind_Utf8 +                deriving ( Eq,Ord,Show)
+ dist/build/CFG.hs view
@@ -0,0 +1,65 @@+++-- UUAGC 0.9.36 (src/CFG.ag)+module CFG where++{-# LINE 6 "src/CFG.ag" #-}++import Data.Word+import ByteCode+{-# LINE 11 "dist/src/sdist.27680/asil-1.2/dist/build/CFG.hs" #-}+-- CFG ---------------------------------------------------------+data CFG  = CFG_CFG !(Int) !(Segments ) +-- CFGs --------------------------------------------------------+type CFGs  = [CFG ]+-- Code --------------------------------------------------------+data Code  = Code_Jump !(Int) !(JumpCond ) +           | Code_Label !(Int) +           | Code_Nop +           | Code_Switch !(Int) !(([Int])) +-- Codes -------------------------------------------------------+type Codes  = [Code ]+-- JumpCond ----------------------------------------------------+data JumpCond  = JumpCond_IfEq +               | JumpCond_IfFalse +               | JumpCond_IfGe +               | JumpCond_IfGt +               | JumpCond_IfLe +               | JumpCond_IfLt +               | JumpCond_IfNGe +               | JumpCond_IfNGt +               | JumpCond_IfNLe +               | JumpCond_IfNLt +               | JumpCond_IfNe +               | JumpCond_IfStrictEq +               | JumpCond_IfStrictNe +               | JumpCond_IfTrue +               | JumpCond_Jump +               | JumpCond_None +-- Node --------------------------------------------------------+data Node  = Node_Opaque !(Instruction) +           | Node_Pseudo !(Int) !(Pseudo ) !(Codes ) +-- Nodes -------------------------------------------------------+type Nodes  = [Node ]+-- Program -----------------------------------------------------+data Program  = Program_Program !(CFGs ) +-- Programs ----------------------------------------------------+type Programs  = [Program ]+-- Pseudo ------------------------------------------------------+data Pseudo  = Pseudo_BeginCall +             | Pseudo_BeginCoerce +             | Pseudo_DoneCall +             | Pseudo_DoneCoerce +             | Pseudo_EnterBlock +             | Pseudo_EnterFun +             | Pseudo_FailBlock +             | Pseudo_FailFun +             | Pseudo_FailedCall +             | Pseudo_FailedCoerce +             | Pseudo_LeaveBlock +             | Pseudo_LeaveFun +             | Pseudo_Nop +-- Segment -----------------------------------------------------+data Segment  = Segment_Segment !(Int) !(Nodes ) !(Code ) +-- Segments ----------------------------------------------------+type Segments  = [Segment ]
+ dist/build/ExtractAbc.hs view
@@ -0,0 +1,5927 @@+++-- UUAGC 0.9.36 (src/ExtractAbc.ag)+module ExtractAbc(extractAbcFiles) where++{-# LINE 6 "src/ExtractAbc.ag" #-}++import Data.ByteString.Lazy(ByteString)+import ByteCode+import Data.Word+{-# LINE 12 "dist/src/sdist.27680/asil-1.2/dist/build/ExtractAbc.hs" #-}++{-# LINE 15 "src/ExtractAbc.ag" #-}+++extractAbcFiles :: SwfFile -> AbcFiles+extractAbcFiles m = out where+  inh = Inh_SwfFile {}+  sem = sem_SwfFile m+  syn = wrap_SwfFile sem inh+  out = output_Syn_SwfFile syn+{-# LINE 23 "dist/src/sdist.27680/asil-1.2/dist/build/ExtractAbc.hs" #-}+-- AbcFile -----------------------------------------------------+-- cata+sem_AbcFile :: AbcFile  ->+               T_AbcFile +sem_AbcFile (AbcFile_File _minorVersion _majorVersion _constantPool _methods _metadatas _instances _classes _scripts _bodies )  =+    (sem_AbcFile_File _minorVersion _majorVersion (sem_PoolInfo _constantPool ) (sem_MethodInfos _methods ) (sem_MetaInfos _metadatas ) (sem_InstanceInfos _instances ) (sem_ClassInfos _classes ) (sem_ScriptInfos _scripts ) (sem_BodyInfos _bodies ) )+-- semantic domain+type T_AbcFile  = ( AbcFile )+sem_AbcFile_File :: Word16 ->+                    Word16 ->+                    T_PoolInfo  ->+                    T_MethodInfos  ->+                    T_MetaInfos  ->+                    T_InstanceInfos  ->+                    T_ClassInfos  ->+                    T_ScriptInfos  ->+                    T_BodyInfos  ->+                    T_AbcFile +sem_AbcFile_File minorVersion_ majorVersion_ constantPool_ methods_ metadatas_ instances_ classes_ scripts_ bodies_  =+    (case (bodies_ ) of+     { ( _bodiesIself) | True ->+         (case (scripts_ ) of+          { ( _scriptsIself) | True ->+              (case (classes_ ) of+               { ( _classesIself) | True ->+                   (case (instances_ ) of+                    { ( _instancesIself) | True ->+                        (case (metadatas_ ) of+                         { ( _metadatasIself) | True ->+                             (case (methods_ ) of+                              { ( _methodsIself) | True ->+                                  (case (constantPool_ ) of+                                   { ( _constantPoolIself) | True ->+                                       (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                                               AbcFile_File minorVersion_ majorVersion_ _constantPoolIself _methodsIself _metadatasIself _instancesIself _classesIself _scriptsIself _bodiesIself+                                               {-# LINE 59 "src/ExtractAbc.hs" #-}+                                               )) of+                                        { _self | _self `seq` (True) ->+                                        (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                                                _self+                                                {-# LINE 64 "src/ExtractAbc.hs" #-}+                                                )) of+                                         { _lhsOself | _lhsOself `seq` (True) ->+                                         ( _lhsOself) }) }) }) }) }) }) }) }) })+-- AbcFlag -----------------------------------------------------+-- cata+sem_AbcFlag :: AbcFlag  ->+               T_AbcFlag +sem_AbcFlag (AbcFlag_LazyInit )  =+    (sem_AbcFlag_LazyInit )+-- semantic domain+type T_AbcFlag  = ( )+sem_AbcFlag_LazyInit :: T_AbcFlag +sem_AbcFlag_LazyInit  =+    ( )+-- AbcFlags ----------------------------------------------------+-- cata+sem_AbcFlags :: AbcFlags  ->+                T_AbcFlags +sem_AbcFlags list  =+    (Prelude.foldr sem_AbcFlags_Cons sem_AbcFlags_Nil (Prelude.map sem_AbcFlag list) )+-- semantic domain+type T_AbcFlags  = ( )+sem_AbcFlags_Cons :: T_AbcFlag  ->+                     T_AbcFlags  ->+                     T_AbcFlags +sem_AbcFlags_Cons hd_ tl_  =+    ( )+sem_AbcFlags_Nil :: T_AbcFlags +sem_AbcFlags_Nil  =+    ( )+-- BodyInfo ----------------------------------------------------+-- cata+sem_BodyInfo :: BodyInfo  ->+                T_BodyInfo +sem_BodyInfo (BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth _instructions _exceptions _traits )  =+    (sem_BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth (sem_Instructions _instructions ) (sem_Exceptions _exceptions ) (sem_Traits _traits ) )+-- semantic domain+type T_BodyInfo  = ( BodyInfo )+sem_BodyInfo_Info :: Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     T_Instructions  ->+                     T_Exceptions  ->+                     T_Traits  ->+                     T_BodyInfo +sem_BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ instructions_ exceptions_ traits_  =+    (case (traits_ ) of+     { ( _traitsIself) | True ->+         (case (exceptions_ ) of+          { ( _exceptionsIself) | True ->+              (case (instructions_ ) of+               { ( _instructionsIself) | True ->+                   (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                           BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ _instructionsIself _exceptionsIself _traitsIself+                           {-# LINE 121 "src/ExtractAbc.hs" #-}+                           )) of+                    { _self | _self `seq` (True) ->+                    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                            _self+                            {-# LINE 126 "src/ExtractAbc.hs" #-}+                            )) of+                     { _lhsOself | _lhsOself `seq` (True) ->+                     ( _lhsOself) }) }) }) }) })+-- BodyInfos ---------------------------------------------------+-- cata+sem_BodyInfos :: BodyInfos  ->+                 T_BodyInfos +sem_BodyInfos list  =+    (Prelude.foldr sem_BodyInfos_Cons sem_BodyInfos_Nil (Prelude.map sem_BodyInfo list) )+-- semantic domain+type T_BodyInfos  = ( BodyInfos )+sem_BodyInfos_Cons :: T_BodyInfo  ->+                      T_BodyInfos  ->+                      T_BodyInfos +sem_BodyInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 148 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 153 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_BodyInfos_Nil :: T_BodyInfos +sem_BodyInfos_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 161 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 166 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- CaseOffsets -------------------------------------------------+-- cata+sem_CaseOffsets :: CaseOffsets  ->+                   T_CaseOffsets +sem_CaseOffsets list  =+    (Prelude.foldr sem_CaseOffsets_Cons sem_CaseOffsets_Nil list )+-- semantic domain+type T_CaseOffsets  = ( CaseOffsets )+sem_CaseOffsets_Cons :: Word32 ->+                        T_CaseOffsets  ->+                        T_CaseOffsets +sem_CaseOffsets_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 (:) hd_ _tlIself+                 {-# LINE 186 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 191 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_CaseOffsets_Nil :: T_CaseOffsets +sem_CaseOffsets_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 199 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 204 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- ClassInfo ---------------------------------------------------+-- cata+sem_ClassInfo :: ClassInfo  ->+                 T_ClassInfo +sem_ClassInfo (ClassInfo_Info _con _traits )  =+    (sem_ClassInfo_Info _con (sem_Traits _traits ) )+-- semantic domain+type T_ClassInfo  = ( ClassInfo )+sem_ClassInfo_Info :: Word32 ->+                      T_Traits  ->+                      T_ClassInfo +sem_ClassInfo_Info con_ traits_  =+    (case (traits_ ) of+     { ( _traitsIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 ClassInfo_Info con_ _traitsIself+                 {-# LINE 224 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 229 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+-- ClassInfos --------------------------------------------------+-- cata+sem_ClassInfos :: ClassInfos  ->+                  T_ClassInfos +sem_ClassInfos list  =+    (Prelude.foldr sem_ClassInfos_Cons sem_ClassInfos_Nil (Prelude.map sem_ClassInfo list) )+-- semantic domain+type T_ClassInfos  = ( ClassInfos )+sem_ClassInfos_Cons :: T_ClassInfo  ->+                       T_ClassInfos  ->+                       T_ClassInfos +sem_ClassInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 251 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 256 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_ClassInfos_Nil :: T_ClassInfos +sem_ClassInfos_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 264 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 269 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- DebugType ---------------------------------------------------+-- cata+sem_DebugType :: DebugType  ->+                 T_DebugType +sem_DebugType (DebugType_Local )  =+    (sem_DebugType_Local )+-- semantic domain+type T_DebugType  = ( DebugType )+sem_DebugType_Local :: T_DebugType +sem_DebugType_Local  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            DebugType_Local+            {-# LINE 285 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 290 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- Exception ---------------------------------------------------+-- cata+sem_Exception :: Exception  ->+                 T_Exception +sem_Exception (Exception_Info _from _to _target _tp _name )  =+    (sem_Exception_Info _from _to _target _tp _name )+-- semantic domain+type T_Exception  = ( Exception )+sem_Exception_Info :: Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      T_Exception +sem_Exception_Info from_ to_ target_ tp_ name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Exception_Info from_ to_ target_ tp_ name_+            {-# LINE 311 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 316 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- Exceptions --------------------------------------------------+-- cata+sem_Exceptions :: Exceptions  ->+                  T_Exceptions +sem_Exceptions list  =+    (Prelude.foldr sem_Exceptions_Cons sem_Exceptions_Nil (Prelude.map sem_Exception list) )+-- semantic domain+type T_Exceptions  = ( Exceptions )+sem_Exceptions_Cons :: T_Exception  ->+                       T_Exceptions  ->+                       T_Exceptions +sem_Exceptions_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 338 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 343 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_Exceptions_Nil :: T_Exceptions +sem_Exceptions_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 351 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 356 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- InstanceFlag ------------------------------------------------+-- cata+sem_InstanceFlag :: InstanceFlag  ->+                    T_InstanceFlag +sem_InstanceFlag (InstanceFlag_ClassFinal )  =+    (sem_InstanceFlag_ClassFinal )+sem_InstanceFlag (InstanceFlag_ClassInterface )  =+    (sem_InstanceFlag_ClassInterface )+sem_InstanceFlag (InstanceFlag_ClassProtected )  =+    (sem_InstanceFlag_ClassProtected )+sem_InstanceFlag (InstanceFlag_ClassSealed )  =+    (sem_InstanceFlag_ClassSealed )+-- semantic domain+type T_InstanceFlag  = ( InstanceFlag )+sem_InstanceFlag_ClassFinal :: T_InstanceFlag +sem_InstanceFlag_ClassFinal  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            InstanceFlag_ClassFinal+            {-# LINE 378 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 383 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_InstanceFlag_ClassInterface :: T_InstanceFlag +sem_InstanceFlag_ClassInterface  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            InstanceFlag_ClassInterface+            {-# LINE 391 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 396 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_InstanceFlag_ClassProtected :: T_InstanceFlag +sem_InstanceFlag_ClassProtected  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            InstanceFlag_ClassProtected+            {-# LINE 404 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 409 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_InstanceFlag_ClassSealed :: T_InstanceFlag +sem_InstanceFlag_ClassSealed  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            InstanceFlag_ClassSealed+            {-# LINE 417 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 422 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- InstanceFlags -----------------------------------------------+-- cata+sem_InstanceFlags :: InstanceFlags  ->+                     T_InstanceFlags +sem_InstanceFlags list  =+    (Prelude.foldr sem_InstanceFlags_Cons sem_InstanceFlags_Nil (Prelude.map sem_InstanceFlag list) )+-- semantic domain+type T_InstanceFlags  = ( InstanceFlags )+sem_InstanceFlags_Cons :: T_InstanceFlag  ->+                          T_InstanceFlags  ->+                          T_InstanceFlags +sem_InstanceFlags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 444 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 449 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_InstanceFlags_Nil :: T_InstanceFlags +sem_InstanceFlags_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 457 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 462 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- InstanceInfo ------------------------------------------------+-- cata+sem_InstanceInfo :: InstanceInfo  ->+                    T_InstanceInfo +sem_InstanceInfo (InstanceInfo_Info _name _super _flags _protectedNs _interfaces _constructor _traits )  =+    (sem_InstanceInfo_Info _name _super (sem_InstanceFlags _flags ) _protectedNs (sem_Interfaces _interfaces ) _constructor (sem_Traits _traits ) )+-- semantic domain+type T_InstanceInfo  = ( InstanceInfo )+sem_InstanceInfo_Info :: Word32 ->+                         Word32 ->+                         T_InstanceFlags  ->+                         Word32 ->+                         T_Interfaces  ->+                         Word32 ->+                         T_Traits  ->+                         T_InstanceInfo +sem_InstanceInfo_Info name_ super_ flags_ protectedNs_ interfaces_ constructor_ traits_  =+    (case (traits_ ) of+     { ( _traitsIself) | True ->+         (case (interfaces_ ) of+          { ( _interfacesIself) | True ->+              (case (flags_ ) of+               { ( _flagsIself) | True ->+                   (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                           InstanceInfo_Info name_ super_ _flagsIself protectedNs_ _interfacesIself constructor_ _traitsIself+                           {-# LINE 491 "src/ExtractAbc.hs" #-}+                           )) of+                    { _self | _self `seq` (True) ->+                    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                            _self+                            {-# LINE 496 "src/ExtractAbc.hs" #-}+                            )) of+                     { _lhsOself | _lhsOself `seq` (True) ->+                     ( _lhsOself) }) }) }) }) })+-- InstanceInfos -----------------------------------------------+-- cata+sem_InstanceInfos :: InstanceInfos  ->+                     T_InstanceInfos +sem_InstanceInfos list  =+    (Prelude.foldr sem_InstanceInfos_Cons sem_InstanceInfos_Nil (Prelude.map sem_InstanceInfo list) )+-- semantic domain+type T_InstanceInfos  = ( InstanceInfos )+sem_InstanceInfos_Cons :: T_InstanceInfo  ->+                          T_InstanceInfos  ->+                          T_InstanceInfos +sem_InstanceInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 518 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 523 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_InstanceInfos_Nil :: T_InstanceInfos +sem_InstanceInfos_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 531 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 536 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- Instruction -------------------------------------------------+-- cata+sem_Instruction :: Instruction  ->+                   T_Instruction +sem_Instruction (Instruction_Add )  =+    (sem_Instruction_Add )+sem_Instruction (Instruction_Add_d )  =+    (sem_Instruction_Add_d )+sem_Instruction (Instruction_Add_i )  =+    (sem_Instruction_Add_i )+sem_Instruction (Instruction_ApplyType _name )  =+    (sem_Instruction_ApplyType _name )+sem_Instruction (Instruction_AsType _name )  =+    (sem_Instruction_AsType _name )+sem_Instruction (Instruction_AsTypeLate )  =+    (sem_Instruction_AsTypeLate )+sem_Instruction (Instruction_BitAnd )  =+    (sem_Instruction_BitAnd )+sem_Instruction (Instruction_BitNot )  =+    (sem_Instruction_BitNot )+sem_Instruction (Instruction_BitOr )  =+    (sem_Instruction_BitOr )+sem_Instruction (Instruction_BitXor )  =+    (sem_Instruction_BitXor )+sem_Instruction (Instruction_BreakLine _line )  =+    (sem_Instruction_BreakLine _line )+sem_Instruction (Instruction_Breakpoint )  =+    (sem_Instruction_Breakpoint )+sem_Instruction (Instruction_Call _argCount )  =+    (sem_Instruction_Call _argCount )+sem_Instruction (Instruction_CallInterface _name _argCount )  =+    (sem_Instruction_CallInterface _name _argCount )+sem_Instruction (Instruction_CallMethod _index _argCount )  =+    (sem_Instruction_CallMethod _index _argCount )+sem_Instruction (Instruction_CallProp _name _argCount )  =+    (sem_Instruction_CallProp _name _argCount )+sem_Instruction (Instruction_CallPropLex _name _argCount )  =+    (sem_Instruction_CallPropLex _name _argCount )+sem_Instruction (Instruction_CallPropVoid _name _argCount )  =+    (sem_Instruction_CallPropVoid _name _argCount )+sem_Instruction (Instruction_CallStatic _method _argCount )  =+    (sem_Instruction_CallStatic _method _argCount )+sem_Instruction (Instruction_CallSuper _name _argCount )  =+    (sem_Instruction_CallSuper _name _argCount )+sem_Instruction (Instruction_CallSuperId )  =+    (sem_Instruction_CallSuperId )+sem_Instruction (Instruction_CallSuperVoid _name _argCount )  =+    (sem_Instruction_CallSuperVoid _name _argCount )+sem_Instruction (Instruction_CheckFilter )  =+    (sem_Instruction_CheckFilter )+sem_Instruction (Instruction_Coerce _name )  =+    (sem_Instruction_Coerce _name )+sem_Instruction (Instruction_Coerce_a )  =+    (sem_Instruction_Coerce_a )+sem_Instruction (Instruction_Coerce_b )  =+    (sem_Instruction_Coerce_b )+sem_Instruction (Instruction_Coerce_d )  =+    (sem_Instruction_Coerce_d )+sem_Instruction (Instruction_Coerce_i )  =+    (sem_Instruction_Coerce_i )+sem_Instruction (Instruction_Coerce_o )  =+    (sem_Instruction_Coerce_o )+sem_Instruction (Instruction_Coerce_s )  =+    (sem_Instruction_Coerce_s )+sem_Instruction (Instruction_Coerce_u )  =+    (sem_Instruction_Coerce_u )+sem_Instruction (Instruction_Concat )  =+    (sem_Instruction_Concat )+sem_Instruction (Instruction_Construct _argCount )  =+    (sem_Instruction_Construct _argCount )+sem_Instruction (Instruction_ConstructProp _name _argCount )  =+    (sem_Instruction_ConstructProp _name _argCount )+sem_Instruction (Instruction_ConstructSuper _argCount )  =+    (sem_Instruction_ConstructSuper _argCount )+sem_Instruction (Instruction_Convert_b )  =+    (sem_Instruction_Convert_b )+sem_Instruction (Instruction_Convert_d )  =+    (sem_Instruction_Convert_d )+sem_Instruction (Instruction_Convert_i )  =+    (sem_Instruction_Convert_i )+sem_Instruction (Instruction_Convert_o )  =+    (sem_Instruction_Convert_o )+sem_Instruction (Instruction_Convert_s )  =+    (sem_Instruction_Convert_s )+sem_Instruction (Instruction_Convert_u )  =+    (sem_Instruction_Convert_u )+sem_Instruction (Instruction_Debug _tp _name _reg _extra )  =+    (sem_Instruction_Debug (sem_DebugType _tp ) _name _reg _extra )+sem_Instruction (Instruction_DebugFile _name )  =+    (sem_Instruction_DebugFile _name )+sem_Instruction (Instruction_DebugLine _line )  =+    (sem_Instruction_DebugLine _line )+sem_Instruction (Instruction_DecLocal _reg )  =+    (sem_Instruction_DecLocal _reg )+sem_Instruction (Instruction_DecLocal_i _reg )  =+    (sem_Instruction_DecLocal_i _reg )+sem_Instruction (Instruction_Decrement )  =+    (sem_Instruction_Decrement )+sem_Instruction (Instruction_Decrement_i )  =+    (sem_Instruction_Decrement_i )+sem_Instruction (Instruction_DeleteProperty _name )  =+    (sem_Instruction_DeleteProperty _name )+sem_Instruction (Instruction_DeletePropertyLate )  =+    (sem_Instruction_DeletePropertyLate )+sem_Instruction (Instruction_Divide )  =+    (sem_Instruction_Divide )+sem_Instruction (Instruction_Dup )  =+    (sem_Instruction_Dup )+sem_Instruction (Instruction_Dxns _name )  =+    (sem_Instruction_Dxns _name )+sem_Instruction (Instruction_DxnsLate )  =+    (sem_Instruction_DxnsLate )+sem_Instruction (Instruction_Equals )  =+    (sem_Instruction_Equals )+sem_Instruction (Instruction_EscXAttr )  =+    (sem_Instruction_EscXAttr )+sem_Instruction (Instruction_EscXElem )  =+    (sem_Instruction_EscXElem )+sem_Instruction (Instruction_FindDef _name )  =+    (sem_Instruction_FindDef _name )+sem_Instruction (Instruction_FindPropStrict _name )  =+    (sem_Instruction_FindPropStrict _name )+sem_Instruction (Instruction_FindProperty _name )  =+    (sem_Instruction_FindProperty _name )+sem_Instruction (Instruction_FindPropertyGlobal _name )  =+    (sem_Instruction_FindPropertyGlobal _name )+sem_Instruction (Instruction_FindPropertyGlobalStrict _name )  =+    (sem_Instruction_FindPropertyGlobalStrict _name )+sem_Instruction (Instruction_GetDescendants _name )  =+    (sem_Instruction_GetDescendants _name )+sem_Instruction (Instruction_GetGlobalScope )  =+    (sem_Instruction_GetGlobalScope )+sem_Instruction (Instruction_GetGlobalSlot _slot )  =+    (sem_Instruction_GetGlobalSlot _slot )+sem_Instruction (Instruction_GetLex _name )  =+    (sem_Instruction_GetLex _name )+sem_Instruction (Instruction_GetLocal _reg )  =+    (sem_Instruction_GetLocal _reg )+sem_Instruction (Instruction_GetLocal0 )  =+    (sem_Instruction_GetLocal0 )+sem_Instruction (Instruction_GetLocal1 )  =+    (sem_Instruction_GetLocal1 )+sem_Instruction (Instruction_GetLocal2 )  =+    (sem_Instruction_GetLocal2 )+sem_Instruction (Instruction_GetLocal3 )  =+    (sem_Instruction_GetLocal3 )+sem_Instruction (Instruction_GetOuterScope _name )  =+    (sem_Instruction_GetOuterScope _name )+sem_Instruction (Instruction_GetProperty _name )  =+    (sem_Instruction_GetProperty _name )+sem_Instruction (Instruction_GetScopeObject _index )  =+    (sem_Instruction_GetScopeObject _index )+sem_Instruction (Instruction_GetSlot _slot )  =+    (sem_Instruction_GetSlot _slot )+sem_Instruction (Instruction_GetSuper _name )  =+    (sem_Instruction_GetSuper _name )+sem_Instruction (Instruction_GreaterEquals )  =+    (sem_Instruction_GreaterEquals )+sem_Instruction (Instruction_GreaterThan )  =+    (sem_Instruction_GreaterThan )+sem_Instruction (Instruction_HasNext )  =+    (sem_Instruction_HasNext )+sem_Instruction (Instruction_HasNext2 _objectReg _indexReg )  =+    (sem_Instruction_HasNext2 _objectReg _indexReg )+sem_Instruction (Instruction_IfEq _offset )  =+    (sem_Instruction_IfEq _offset )+sem_Instruction (Instruction_IfFalse _offset )  =+    (sem_Instruction_IfFalse _offset )+sem_Instruction (Instruction_IfGe _offset )  =+    (sem_Instruction_IfGe _offset )+sem_Instruction (Instruction_IfGt _offset )  =+    (sem_Instruction_IfGt _offset )+sem_Instruction (Instruction_IfLe _offset )  =+    (sem_Instruction_IfLe _offset )+sem_Instruction (Instruction_IfLt _offset )  =+    (sem_Instruction_IfLt _offset )+sem_Instruction (Instruction_IfNGe _offset )  =+    (sem_Instruction_IfNGe _offset )+sem_Instruction (Instruction_IfNGt _offset )  =+    (sem_Instruction_IfNGt _offset )+sem_Instruction (Instruction_IfNLe _offset )  =+    (sem_Instruction_IfNLe _offset )+sem_Instruction (Instruction_IfNLt _offset )  =+    (sem_Instruction_IfNLt _offset )+sem_Instruction (Instruction_IfNe _offset )  =+    (sem_Instruction_IfNe _offset )+sem_Instruction (Instruction_IfStrictEq _offset )  =+    (sem_Instruction_IfStrictEq _offset )+sem_Instruction (Instruction_IfStrictNe _offset )  =+    (sem_Instruction_IfStrictNe _offset )+sem_Instruction (Instruction_IfTrue _offset )  =+    (sem_Instruction_IfTrue _offset )+sem_Instruction (Instruction_In )  =+    (sem_Instruction_In )+sem_Instruction (Instruction_IncLocal _reg )  =+    (sem_Instruction_IncLocal _reg )+sem_Instruction (Instruction_IncLocal_i _reg )  =+    (sem_Instruction_IncLocal_i _reg )+sem_Instruction (Instruction_Increment )  =+    (sem_Instruction_Increment )+sem_Instruction (Instruction_Increment_i )  =+    (sem_Instruction_Increment_i )+sem_Instruction (Instruction_InitProperty _name )  =+    (sem_Instruction_InitProperty _name )+sem_Instruction (Instruction_InstanceOf )  =+    (sem_Instruction_InstanceOf )+sem_Instruction (Instruction_IsType _name )  =+    (sem_Instruction_IsType _name )+sem_Instruction (Instruction_IsTypeLate )  =+    (sem_Instruction_IsTypeLate )+sem_Instruction (Instruction_Jump _offset )  =+    (sem_Instruction_Jump _offset )+sem_Instruction (Instruction_Kill _reg )  =+    (sem_Instruction_Kill _reg )+sem_Instruction (Instruction_Label )  =+    (sem_Instruction_Label )+sem_Instruction (Instruction_LessEquals )  =+    (sem_Instruction_LessEquals )+sem_Instruction (Instruction_LessThan )  =+    (sem_Instruction_LessThan )+sem_Instruction (Instruction_LoadFloat32 )  =+    (sem_Instruction_LoadFloat32 )+sem_Instruction (Instruction_LoadFloat64 )  =+    (sem_Instruction_LoadFloat64 )+sem_Instruction (Instruction_LoadIndirect16 )  =+    (sem_Instruction_LoadIndirect16 )+sem_Instruction (Instruction_LoadIndirect32 )  =+    (sem_Instruction_LoadIndirect32 )+sem_Instruction (Instruction_LoadIndirect8 )  =+    (sem_Instruction_LoadIndirect8 )+sem_Instruction (Instruction_Location _index )  =+    (sem_Instruction_Location _index )+sem_Instruction (Instruction_LookupSwitch _defaultOffset _caseOffsets )  =+    (sem_Instruction_LookupSwitch _defaultOffset (sem_CaseOffsets _caseOffsets ) )+sem_Instruction (Instruction_Lshift )  =+    (sem_Instruction_Lshift )+sem_Instruction (Instruction_Modulo )  =+    (sem_Instruction_Modulo )+sem_Instruction (Instruction_Multiply )  =+    (sem_Instruction_Multiply )+sem_Instruction (Instruction_Multiply_i )  =+    (sem_Instruction_Multiply_i )+sem_Instruction (Instruction_Negate )  =+    (sem_Instruction_Negate )+sem_Instruction (Instruction_Negate_i )  =+    (sem_Instruction_Negate_i )+sem_Instruction (Instruction_NewActivation )  =+    (sem_Instruction_NewActivation )+sem_Instruction (Instruction_NewArray _argCount )  =+    (sem_Instruction_NewArray _argCount )+sem_Instruction (Instruction_NewCatch _exception )  =+    (sem_Instruction_NewCatch _exception )+sem_Instruction (Instruction_NewClass _class )  =+    (sem_Instruction_NewClass _class )+sem_Instruction (Instruction_NewFunction _method )  =+    (sem_Instruction_NewFunction _method )+sem_Instruction (Instruction_NewObject _argCount )  =+    (sem_Instruction_NewObject _argCount )+sem_Instruction (Instruction_NextName )  =+    (sem_Instruction_NextName )+sem_Instruction (Instruction_NextValue )  =+    (sem_Instruction_NextValue )+sem_Instruction (Instruction_Nop )  =+    (sem_Instruction_Nop )+sem_Instruction (Instruction_Not )  =+    (sem_Instruction_Not )+sem_Instruction (Instruction_Pop )  =+    (sem_Instruction_Pop )+sem_Instruction (Instruction_PopScope )  =+    (sem_Instruction_PopScope )+sem_Instruction (Instruction_PushByte _val )  =+    (sem_Instruction_PushByte _val )+sem_Instruction (Instruction_PushDouble _name )  =+    (sem_Instruction_PushDouble _name )+sem_Instruction (Instruction_PushFalse )  =+    (sem_Instruction_PushFalse )+sem_Instruction (Instruction_PushInt _name )  =+    (sem_Instruction_PushInt _name )+sem_Instruction (Instruction_PushNaN )  =+    (sem_Instruction_PushNaN )+sem_Instruction (Instruction_PushNamespace _name )  =+    (sem_Instruction_PushNamespace _name )+sem_Instruction (Instruction_PushNull )  =+    (sem_Instruction_PushNull )+sem_Instruction (Instruction_PushScope )  =+    (sem_Instruction_PushScope )+sem_Instruction (Instruction_PushShort _val )  =+    (sem_Instruction_PushShort _val )+sem_Instruction (Instruction_PushString _name )  =+    (sem_Instruction_PushString _name )+sem_Instruction (Instruction_PushTrue )  =+    (sem_Instruction_PushTrue )+sem_Instruction (Instruction_PushUInt _name )  =+    (sem_Instruction_PushUInt _name )+sem_Instruction (Instruction_PushUndefined )  =+    (sem_Instruction_PushUndefined )+sem_Instruction (Instruction_PushWith )  =+    (sem_Instruction_PushWith )+sem_Instruction (Instruction_ReturnValue )  =+    (sem_Instruction_ReturnValue )+sem_Instruction (Instruction_ReturnVoid )  =+    (sem_Instruction_ReturnVoid )+sem_Instruction (Instruction_Rshift )  =+    (sem_Instruction_Rshift )+sem_Instruction (Instruction_SetGlobalSlot _slot )  =+    (sem_Instruction_SetGlobalSlot _slot )+sem_Instruction (Instruction_SetLocal _reg )  =+    (sem_Instruction_SetLocal _reg )+sem_Instruction (Instruction_SetLocal0 )  =+    (sem_Instruction_SetLocal0 )+sem_Instruction (Instruction_SetLocal1 )  =+    (sem_Instruction_SetLocal1 )+sem_Instruction (Instruction_SetLocal2 )  =+    (sem_Instruction_SetLocal2 )+sem_Instruction (Instruction_SetLocal3 )  =+    (sem_Instruction_SetLocal3 )+sem_Instruction (Instruction_SetProperty _name )  =+    (sem_Instruction_SetProperty _name )+sem_Instruction (Instruction_SetPropertyLate )  =+    (sem_Instruction_SetPropertyLate )+sem_Instruction (Instruction_SetSlot _slot )  =+    (sem_Instruction_SetSlot _slot )+sem_Instruction (Instruction_SetSuper _name )  =+    (sem_Instruction_SetSuper _name )+sem_Instruction (Instruction_SignExtend1 )  =+    (sem_Instruction_SignExtend1 )+sem_Instruction (Instruction_SignExtend16 )  =+    (sem_Instruction_SignExtend16 )+sem_Instruction (Instruction_SignExtend8 )  =+    (sem_Instruction_SignExtend8 )+sem_Instruction (Instruction_StoreFloat32 )  =+    (sem_Instruction_StoreFloat32 )+sem_Instruction (Instruction_StoreFloat64 )  =+    (sem_Instruction_StoreFloat64 )+sem_Instruction (Instruction_StoreIndirect16 )  =+    (sem_Instruction_StoreIndirect16 )+sem_Instruction (Instruction_StoreIndirect32 )  =+    (sem_Instruction_StoreIndirect32 )+sem_Instruction (Instruction_StoreIndirect8 )  =+    (sem_Instruction_StoreIndirect8 )+sem_Instruction (Instruction_StrictEquals )  =+    (sem_Instruction_StrictEquals )+sem_Instruction (Instruction_Substract )  =+    (sem_Instruction_Substract )+sem_Instruction (Instruction_Substract_i )  =+    (sem_Instruction_Substract_i )+sem_Instruction (Instruction_Swap )  =+    (sem_Instruction_Swap )+sem_Instruction (Instruction_Throw )  =+    (sem_Instruction_Throw )+sem_Instruction (Instruction_Timestamp )  =+    (sem_Instruction_Timestamp )+sem_Instruction (Instruction_TypeOf )  =+    (sem_Instruction_TypeOf )+sem_Instruction (Instruction_Urshift )  =+    (sem_Instruction_Urshift )+-- semantic domain+type T_Instruction  = ( Instruction )+sem_Instruction_Add :: T_Instruction +sem_Instruction_Add  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Add+            {-# LINE 902 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 907 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Add_d :: T_Instruction +sem_Instruction_Add_d  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Add_d+            {-# LINE 915 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 920 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Add_i :: T_Instruction +sem_Instruction_Add_i  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Add_i+            {-# LINE 928 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 933 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_ApplyType :: Word32 ->+                             T_Instruction +sem_Instruction_ApplyType name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_ApplyType name_+            {-# LINE 942 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 947 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_AsType :: Word32 ->+                          T_Instruction +sem_Instruction_AsType name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_AsType name_+            {-# LINE 956 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 961 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_AsTypeLate :: T_Instruction +sem_Instruction_AsTypeLate  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_AsTypeLate+            {-# LINE 969 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 974 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_BitAnd :: T_Instruction +sem_Instruction_BitAnd  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_BitAnd+            {-# LINE 982 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 987 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_BitNot :: T_Instruction +sem_Instruction_BitNot  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_BitNot+            {-# LINE 995 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1000 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_BitOr :: T_Instruction +sem_Instruction_BitOr  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_BitOr+            {-# LINE 1008 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1013 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_BitXor :: T_Instruction +sem_Instruction_BitXor  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_BitXor+            {-# LINE 1021 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1026 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_BreakLine :: Word32 ->+                             T_Instruction +sem_Instruction_BreakLine line_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_BreakLine line_+            {-# LINE 1035 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1040 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Breakpoint :: T_Instruction +sem_Instruction_Breakpoint  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Breakpoint+            {-# LINE 1048 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1053 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Call :: Word32 ->+                        T_Instruction +sem_Instruction_Call argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Call argCount_+            {-# LINE 1062 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1067 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_CallInterface :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallInterface name_ argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_CallInterface name_ argCount_+            {-# LINE 1077 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1082 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_CallMethod :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallMethod index_ argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_CallMethod index_ argCount_+            {-# LINE 1092 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1097 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_CallProp :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_CallProp name_ argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_CallProp name_ argCount_+            {-# LINE 1107 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1112 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_CallPropLex :: Word32 ->+                               Word32 ->+                               T_Instruction +sem_Instruction_CallPropLex name_ argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_CallPropLex name_ argCount_+            {-# LINE 1122 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1127 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_CallPropVoid :: Word32 ->+                                Word32 ->+                                T_Instruction +sem_Instruction_CallPropVoid name_ argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_CallPropVoid name_ argCount_+            {-# LINE 1137 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1142 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_CallStatic :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallStatic method_ argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_CallStatic method_ argCount_+            {-# LINE 1152 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1157 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_CallSuper :: Word32 ->+                             Word32 ->+                             T_Instruction +sem_Instruction_CallSuper name_ argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_CallSuper name_ argCount_+            {-# LINE 1167 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1172 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_CallSuperId :: T_Instruction +sem_Instruction_CallSuperId  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_CallSuperId+            {-# LINE 1180 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1185 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_CallSuperVoid :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallSuperVoid name_ argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_CallSuperVoid name_ argCount_+            {-# LINE 1195 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1200 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_CheckFilter :: T_Instruction +sem_Instruction_CheckFilter  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_CheckFilter+            {-# LINE 1208 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1213 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Coerce :: Word32 ->+                          T_Instruction +sem_Instruction_Coerce name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Coerce name_+            {-# LINE 1222 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1227 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Coerce_a :: T_Instruction +sem_Instruction_Coerce_a  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Coerce_a+            {-# LINE 1235 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1240 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Coerce_b :: T_Instruction +sem_Instruction_Coerce_b  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Coerce_b+            {-# LINE 1248 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1253 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Coerce_d :: T_Instruction +sem_Instruction_Coerce_d  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Coerce_d+            {-# LINE 1261 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1266 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Coerce_i :: T_Instruction +sem_Instruction_Coerce_i  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Coerce_i+            {-# LINE 1274 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1279 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Coerce_o :: T_Instruction +sem_Instruction_Coerce_o  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Coerce_o+            {-# LINE 1287 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1292 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Coerce_s :: T_Instruction +sem_Instruction_Coerce_s  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Coerce_s+            {-# LINE 1300 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1305 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Coerce_u :: T_Instruction +sem_Instruction_Coerce_u  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Coerce_u+            {-# LINE 1313 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1318 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Concat :: T_Instruction +sem_Instruction_Concat  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Concat+            {-# LINE 1326 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1331 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Construct :: Word32 ->+                             T_Instruction +sem_Instruction_Construct argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Construct argCount_+            {-# LINE 1340 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1345 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_ConstructProp :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_ConstructProp name_ argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_ConstructProp name_ argCount_+            {-# LINE 1355 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1360 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_ConstructSuper :: Word32 ->+                                  T_Instruction +sem_Instruction_ConstructSuper argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_ConstructSuper argCount_+            {-# LINE 1369 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1374 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Convert_b :: T_Instruction +sem_Instruction_Convert_b  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Convert_b+            {-# LINE 1382 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1387 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Convert_d :: T_Instruction +sem_Instruction_Convert_d  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Convert_d+            {-# LINE 1395 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1400 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Convert_i :: T_Instruction +sem_Instruction_Convert_i  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Convert_i+            {-# LINE 1408 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1413 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Convert_o :: T_Instruction +sem_Instruction_Convert_o  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Convert_o+            {-# LINE 1421 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1426 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Convert_s :: T_Instruction +sem_Instruction_Convert_s  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Convert_s+            {-# LINE 1434 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1439 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Convert_u :: T_Instruction +sem_Instruction_Convert_u  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Convert_u+            {-# LINE 1447 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1452 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Debug :: T_DebugType  ->+                         Word32 ->+                         Word32 ->+                         Word32 ->+                         T_Instruction +sem_Instruction_Debug tp_ name_ reg_ extra_  =+    (case (tp_ ) of+     { ( _tpIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 Instruction_Debug _tpIself name_ reg_ extra_+                 {-# LINE 1466 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 1471 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_Instruction_DebugFile :: Word32 ->+                             T_Instruction +sem_Instruction_DebugFile name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_DebugFile name_+            {-# LINE 1480 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1485 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_DebugLine :: Word32 ->+                             T_Instruction +sem_Instruction_DebugLine line_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_DebugLine line_+            {-# LINE 1494 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1499 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_DecLocal :: Word32 ->+                            T_Instruction +sem_Instruction_DecLocal reg_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_DecLocal reg_+            {-# LINE 1508 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1513 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_DecLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_DecLocal_i reg_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_DecLocal_i reg_+            {-# LINE 1522 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1527 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Decrement :: T_Instruction +sem_Instruction_Decrement  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Decrement+            {-# LINE 1535 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1540 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Decrement_i :: T_Instruction +sem_Instruction_Decrement_i  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Decrement_i+            {-# LINE 1548 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1553 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_DeleteProperty :: Word32 ->+                                  T_Instruction +sem_Instruction_DeleteProperty name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_DeleteProperty name_+            {-# LINE 1562 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1567 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_DeletePropertyLate :: T_Instruction +sem_Instruction_DeletePropertyLate  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_DeletePropertyLate+            {-# LINE 1575 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1580 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Divide :: T_Instruction +sem_Instruction_Divide  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Divide+            {-# LINE 1588 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1593 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Dup :: T_Instruction +sem_Instruction_Dup  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Dup+            {-# LINE 1601 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1606 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Dxns :: Word32 ->+                        T_Instruction +sem_Instruction_Dxns name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Dxns name_+            {-# LINE 1615 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1620 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_DxnsLate :: T_Instruction +sem_Instruction_DxnsLate  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_DxnsLate+            {-# LINE 1628 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1633 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Equals :: T_Instruction +sem_Instruction_Equals  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Equals+            {-# LINE 1641 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1646 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_EscXAttr :: T_Instruction +sem_Instruction_EscXAttr  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_EscXAttr+            {-# LINE 1654 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1659 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_EscXElem :: T_Instruction +sem_Instruction_EscXElem  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_EscXElem+            {-# LINE 1667 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1672 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_FindDef :: Word32 ->+                           T_Instruction +sem_Instruction_FindDef name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_FindDef name_+            {-# LINE 1681 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1686 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_FindPropStrict :: Word32 ->+                                  T_Instruction +sem_Instruction_FindPropStrict name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_FindPropStrict name_+            {-# LINE 1695 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1700 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_FindProperty :: Word32 ->+                                T_Instruction +sem_Instruction_FindProperty name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_FindProperty name_+            {-# LINE 1709 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1714 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_FindPropertyGlobal :: Word32 ->+                                      T_Instruction +sem_Instruction_FindPropertyGlobal name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_FindPropertyGlobal name_+            {-# LINE 1723 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1728 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_FindPropertyGlobalStrict :: Word32 ->+                                            T_Instruction +sem_Instruction_FindPropertyGlobalStrict name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_FindPropertyGlobalStrict name_+            {-# LINE 1737 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1742 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetDescendants :: Word32 ->+                                  T_Instruction +sem_Instruction_GetDescendants name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetDescendants name_+            {-# LINE 1751 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1756 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetGlobalScope :: T_Instruction +sem_Instruction_GetGlobalScope  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetGlobalScope+            {-# LINE 1764 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1769 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_GetGlobalSlot slot_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetGlobalSlot slot_+            {-# LINE 1778 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1783 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetLex :: Word32 ->+                          T_Instruction +sem_Instruction_GetLex name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetLex name_+            {-# LINE 1792 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1797 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_GetLocal reg_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetLocal reg_+            {-# LINE 1806 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1811 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetLocal0 :: T_Instruction +sem_Instruction_GetLocal0  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetLocal0+            {-# LINE 1819 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1824 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetLocal1 :: T_Instruction +sem_Instruction_GetLocal1  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetLocal1+            {-# LINE 1832 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1837 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetLocal2 :: T_Instruction +sem_Instruction_GetLocal2  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetLocal2+            {-# LINE 1845 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1850 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetLocal3 :: T_Instruction +sem_Instruction_GetLocal3  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetLocal3+            {-# LINE 1858 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1863 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetOuterScope :: Word32 ->+                                 T_Instruction +sem_Instruction_GetOuterScope name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetOuterScope name_+            {-# LINE 1872 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1877 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_GetProperty name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetProperty name_+            {-# LINE 1886 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1891 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetScopeObject :: Word8 ->+                                  T_Instruction +sem_Instruction_GetScopeObject index_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetScopeObject index_+            {-# LINE 1900 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1905 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_GetSlot slot_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetSlot slot_+            {-# LINE 1914 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1919 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_GetSuper name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GetSuper name_+            {-# LINE 1928 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1933 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GreaterEquals :: T_Instruction +sem_Instruction_GreaterEquals  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GreaterEquals+            {-# LINE 1941 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1946 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_GreaterThan :: T_Instruction +sem_Instruction_GreaterThan  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_GreaterThan+            {-# LINE 1954 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1959 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_HasNext :: T_Instruction +sem_Instruction_HasNext  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_HasNext+            {-# LINE 1967 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1972 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_HasNext2 :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_HasNext2 objectReg_ indexReg_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_HasNext2 objectReg_ indexReg_+            {-# LINE 1982 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 1987 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfEq :: Word32 ->+                        T_Instruction +sem_Instruction_IfEq offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfEq offset_+            {-# LINE 1996 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2001 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfFalse :: Word32 ->+                           T_Instruction +sem_Instruction_IfFalse offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfFalse offset_+            {-# LINE 2010 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2015 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfGe :: Word32 ->+                        T_Instruction +sem_Instruction_IfGe offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfGe offset_+            {-# LINE 2024 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2029 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfGt :: Word32 ->+                        T_Instruction +sem_Instruction_IfGt offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfGt offset_+            {-# LINE 2038 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2043 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfLe :: Word32 ->+                        T_Instruction +sem_Instruction_IfLe offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfLe offset_+            {-# LINE 2052 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2057 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfLt :: Word32 ->+                        T_Instruction +sem_Instruction_IfLt offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfLt offset_+            {-# LINE 2066 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2071 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfNGe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGe offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfNGe offset_+            {-# LINE 2080 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2085 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfNGt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGt offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfNGt offset_+            {-# LINE 2094 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2099 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfNLe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLe offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfNLe offset_+            {-# LINE 2108 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2113 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfNLt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLt offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfNLt offset_+            {-# LINE 2122 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2127 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfNe :: Word32 ->+                        T_Instruction +sem_Instruction_IfNe offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfNe offset_+            {-# LINE 2136 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2141 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfStrictEq :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictEq offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfStrictEq offset_+            {-# LINE 2150 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2155 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfStrictNe :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictNe offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfStrictNe offset_+            {-# LINE 2164 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2169 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IfTrue :: Word32 ->+                          T_Instruction +sem_Instruction_IfTrue offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IfTrue offset_+            {-# LINE 2178 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2183 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_In :: T_Instruction +sem_Instruction_In  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_In+            {-# LINE 2191 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2196 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IncLocal :: Word32 ->+                            T_Instruction +sem_Instruction_IncLocal reg_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IncLocal reg_+            {-# LINE 2205 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2210 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IncLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_IncLocal_i reg_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IncLocal_i reg_+            {-# LINE 2219 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2224 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Increment :: T_Instruction +sem_Instruction_Increment  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Increment+            {-# LINE 2232 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2237 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Increment_i :: T_Instruction +sem_Instruction_Increment_i  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Increment_i+            {-# LINE 2245 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2250 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_InitProperty :: Word32 ->+                                T_Instruction +sem_Instruction_InitProperty name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_InitProperty name_+            {-# LINE 2259 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2264 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_InstanceOf :: T_Instruction +sem_Instruction_InstanceOf  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_InstanceOf+            {-# LINE 2272 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2277 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IsType :: Word32 ->+                          T_Instruction +sem_Instruction_IsType name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IsType name_+            {-# LINE 2286 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2291 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_IsTypeLate :: T_Instruction +sem_Instruction_IsTypeLate  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_IsTypeLate+            {-# LINE 2299 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2304 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Jump :: Word32 ->+                        T_Instruction +sem_Instruction_Jump offset_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Jump offset_+            {-# LINE 2313 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2318 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Kill :: Word32 ->+                        T_Instruction +sem_Instruction_Kill reg_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Kill reg_+            {-# LINE 2327 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2332 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Label :: T_Instruction +sem_Instruction_Label  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Label+            {-# LINE 2340 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2345 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_LessEquals :: T_Instruction +sem_Instruction_LessEquals  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_LessEquals+            {-# LINE 2353 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2358 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_LessThan :: T_Instruction +sem_Instruction_LessThan  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_LessThan+            {-# LINE 2366 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2371 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_LoadFloat32 :: T_Instruction +sem_Instruction_LoadFloat32  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_LoadFloat32+            {-# LINE 2379 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2384 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_LoadFloat64 :: T_Instruction +sem_Instruction_LoadFloat64  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_LoadFloat64+            {-# LINE 2392 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2397 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_LoadIndirect16 :: T_Instruction +sem_Instruction_LoadIndirect16  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_LoadIndirect16+            {-# LINE 2405 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2410 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_LoadIndirect32 :: T_Instruction +sem_Instruction_LoadIndirect32  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_LoadIndirect32+            {-# LINE 2418 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2423 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_LoadIndirect8 :: T_Instruction +sem_Instruction_LoadIndirect8  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_LoadIndirect8+            {-# LINE 2431 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2436 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Location :: Int ->+                            T_Instruction +sem_Instruction_Location index_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Location index_+            {-# LINE 2445 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2450 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_LookupSwitch :: Word32 ->+                                T_CaseOffsets  ->+                                T_Instruction +sem_Instruction_LookupSwitch defaultOffset_ caseOffsets_  =+    (case (caseOffsets_ ) of+     { ( _caseOffsetsIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 Instruction_LookupSwitch defaultOffset_ _caseOffsetsIself+                 {-# LINE 2462 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 2467 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_Instruction_Lshift :: T_Instruction +sem_Instruction_Lshift  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Lshift+            {-# LINE 2475 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2480 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Modulo :: T_Instruction +sem_Instruction_Modulo  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Modulo+            {-# LINE 2488 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2493 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Multiply :: T_Instruction +sem_Instruction_Multiply  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Multiply+            {-# LINE 2501 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2506 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Multiply_i :: T_Instruction +sem_Instruction_Multiply_i  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Multiply_i+            {-# LINE 2514 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2519 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Negate :: T_Instruction +sem_Instruction_Negate  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Negate+            {-# LINE 2527 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2532 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Negate_i :: T_Instruction +sem_Instruction_Negate_i  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Negate_i+            {-# LINE 2540 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2545 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_NewActivation :: T_Instruction +sem_Instruction_NewActivation  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_NewActivation+            {-# LINE 2553 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2558 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_NewArray :: Word32 ->+                            T_Instruction +sem_Instruction_NewArray argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_NewArray argCount_+            {-# LINE 2567 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2572 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_NewCatch :: Word32 ->+                            T_Instruction +sem_Instruction_NewCatch exception_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_NewCatch exception_+            {-# LINE 2581 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2586 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_NewClass :: Word32 ->+                            T_Instruction +sem_Instruction_NewClass class_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_NewClass class_+            {-# LINE 2595 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2600 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_NewFunction :: Word32 ->+                               T_Instruction +sem_Instruction_NewFunction method_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_NewFunction method_+            {-# LINE 2609 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2614 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_NewObject :: Word32 ->+                             T_Instruction +sem_Instruction_NewObject argCount_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_NewObject argCount_+            {-# LINE 2623 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2628 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_NextName :: T_Instruction +sem_Instruction_NextName  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_NextName+            {-# LINE 2636 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2641 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_NextValue :: T_Instruction +sem_Instruction_NextValue  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_NextValue+            {-# LINE 2649 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2654 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Nop :: T_Instruction +sem_Instruction_Nop  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Nop+            {-# LINE 2662 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2667 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Not :: T_Instruction +sem_Instruction_Not  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Not+            {-# LINE 2675 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2680 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Pop :: T_Instruction +sem_Instruction_Pop  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Pop+            {-# LINE 2688 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2693 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PopScope :: T_Instruction +sem_Instruction_PopScope  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PopScope+            {-# LINE 2701 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2706 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushByte :: Word8 ->+                            T_Instruction +sem_Instruction_PushByte val_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushByte val_+            {-# LINE 2715 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2720 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushDouble :: Word32 ->+                              T_Instruction +sem_Instruction_PushDouble name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushDouble name_+            {-# LINE 2729 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2734 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushFalse :: T_Instruction +sem_Instruction_PushFalse  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushFalse+            {-# LINE 2742 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2747 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushInt :: Word32 ->+                           T_Instruction +sem_Instruction_PushInt name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushInt name_+            {-# LINE 2756 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2761 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushNaN :: T_Instruction +sem_Instruction_PushNaN  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushNaN+            {-# LINE 2769 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2774 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushNamespace :: Word32 ->+                                 T_Instruction +sem_Instruction_PushNamespace name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushNamespace name_+            {-# LINE 2783 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2788 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushNull :: T_Instruction +sem_Instruction_PushNull  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushNull+            {-# LINE 2796 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2801 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushScope :: T_Instruction +sem_Instruction_PushScope  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushScope+            {-# LINE 2809 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2814 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushShort :: Word32 ->+                             T_Instruction +sem_Instruction_PushShort val_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushShort val_+            {-# LINE 2823 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2828 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushString :: Word32 ->+                              T_Instruction +sem_Instruction_PushString name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushString name_+            {-# LINE 2837 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2842 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushTrue :: T_Instruction +sem_Instruction_PushTrue  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushTrue+            {-# LINE 2850 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2855 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushUInt :: Word32 ->+                            T_Instruction +sem_Instruction_PushUInt name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushUInt name_+            {-# LINE 2864 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2869 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushUndefined :: T_Instruction +sem_Instruction_PushUndefined  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushUndefined+            {-# LINE 2877 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2882 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_PushWith :: T_Instruction +sem_Instruction_PushWith  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_PushWith+            {-# LINE 2890 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2895 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_ReturnValue :: T_Instruction +sem_Instruction_ReturnValue  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_ReturnValue+            {-# LINE 2903 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2908 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_ReturnVoid :: T_Instruction +sem_Instruction_ReturnVoid  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_ReturnVoid+            {-# LINE 2916 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2921 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Rshift :: T_Instruction +sem_Instruction_Rshift  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Rshift+            {-# LINE 2929 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2934 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_SetGlobalSlot slot_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SetGlobalSlot slot_+            {-# LINE 2943 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2948 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_SetLocal reg_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SetLocal reg_+            {-# LINE 2957 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2962 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SetLocal0 :: T_Instruction +sem_Instruction_SetLocal0  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SetLocal0+            {-# LINE 2970 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2975 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SetLocal1 :: T_Instruction +sem_Instruction_SetLocal1  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SetLocal1+            {-# LINE 2983 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 2988 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SetLocal2 :: T_Instruction +sem_Instruction_SetLocal2  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SetLocal2+            {-# LINE 2996 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3001 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SetLocal3 :: T_Instruction +sem_Instruction_SetLocal3  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SetLocal3+            {-# LINE 3009 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3014 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_SetProperty name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SetProperty name_+            {-# LINE 3023 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3028 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SetPropertyLate :: T_Instruction +sem_Instruction_SetPropertyLate  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SetPropertyLate+            {-# LINE 3036 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3041 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_SetSlot slot_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SetSlot slot_+            {-# LINE 3050 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3055 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_SetSuper name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SetSuper name_+            {-# LINE 3064 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3069 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SignExtend1 :: T_Instruction +sem_Instruction_SignExtend1  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SignExtend1+            {-# LINE 3077 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3082 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SignExtend16 :: T_Instruction +sem_Instruction_SignExtend16  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SignExtend16+            {-# LINE 3090 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3095 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_SignExtend8 :: T_Instruction +sem_Instruction_SignExtend8  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_SignExtend8+            {-# LINE 3103 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3108 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_StoreFloat32 :: T_Instruction +sem_Instruction_StoreFloat32  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_StoreFloat32+            {-# LINE 3116 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3121 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_StoreFloat64 :: T_Instruction +sem_Instruction_StoreFloat64  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_StoreFloat64+            {-# LINE 3129 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3134 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_StoreIndirect16 :: T_Instruction +sem_Instruction_StoreIndirect16  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_StoreIndirect16+            {-# LINE 3142 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3147 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_StoreIndirect32 :: T_Instruction +sem_Instruction_StoreIndirect32  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_StoreIndirect32+            {-# LINE 3155 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3160 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_StoreIndirect8 :: T_Instruction +sem_Instruction_StoreIndirect8  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_StoreIndirect8+            {-# LINE 3168 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3173 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_StrictEquals :: T_Instruction +sem_Instruction_StrictEquals  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_StrictEquals+            {-# LINE 3181 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3186 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Substract :: T_Instruction +sem_Instruction_Substract  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Substract+            {-# LINE 3194 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3199 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Substract_i :: T_Instruction +sem_Instruction_Substract_i  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Substract_i+            {-# LINE 3207 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3212 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Swap :: T_Instruction +sem_Instruction_Swap  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Swap+            {-# LINE 3220 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3225 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Throw :: T_Instruction +sem_Instruction_Throw  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Throw+            {-# LINE 3233 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3238 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Timestamp :: T_Instruction +sem_Instruction_Timestamp  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Timestamp+            {-# LINE 3246 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3251 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_TypeOf :: T_Instruction +sem_Instruction_TypeOf  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_TypeOf+            {-# LINE 3259 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3264 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_Instruction_Urshift :: T_Instruction +sem_Instruction_Urshift  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            Instruction_Urshift+            {-# LINE 3272 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3277 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- Instructions ------------------------------------------------+-- cata+sem_Instructions :: Instructions  ->+                    T_Instructions +sem_Instructions list  =+    (Prelude.foldr sem_Instructions_Cons sem_Instructions_Nil (Prelude.map sem_Instruction list) )+-- semantic domain+type T_Instructions  = ( Instructions )+sem_Instructions_Cons :: T_Instruction  ->+                         T_Instructions  ->+                         T_Instructions +sem_Instructions_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 3299 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 3304 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_Instructions_Nil :: T_Instructions +sem_Instructions_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 3312 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3317 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- Interfaces --------------------------------------------------+-- cata+sem_Interfaces :: Interfaces  ->+                  T_Interfaces +sem_Interfaces list  =+    (Prelude.foldr sem_Interfaces_Cons sem_Interfaces_Nil list )+-- semantic domain+type T_Interfaces  = ( Interfaces )+sem_Interfaces_Cons :: Word32 ->+                       T_Interfaces  ->+                       T_Interfaces +sem_Interfaces_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 (:) hd_ _tlIself+                 {-# LINE 3337 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 3342 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_Interfaces_Nil :: T_Interfaces +sem_Interfaces_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 3350 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3355 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- MetaInfo ----------------------------------------------------+-- cata+sem_MetaInfo :: MetaInfo  ->+                T_MetaInfo +sem_MetaInfo (MetaInfo_Info _name _items )  =+    (sem_MetaInfo_Info _name (sem_MetaItems _items ) )+-- semantic domain+type T_MetaInfo  = ( MetaInfo )+sem_MetaInfo_Info :: Word32 ->+                     T_MetaItems  ->+                     T_MetaInfo +sem_MetaInfo_Info name_ items_  =+    (case (items_ ) of+     { ( _itemsIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 MetaInfo_Info name_ _itemsIself+                 {-# LINE 3375 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 3380 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+-- MetaInfos ---------------------------------------------------+-- cata+sem_MetaInfos :: MetaInfos  ->+                 T_MetaInfos +sem_MetaInfos list  =+    (Prelude.foldr sem_MetaInfos_Cons sem_MetaInfos_Nil (Prelude.map sem_MetaInfo list) )+-- semantic domain+type T_MetaInfos  = ( MetaInfos )+sem_MetaInfos_Cons :: T_MetaInfo  ->+                      T_MetaInfos  ->+                      T_MetaInfos +sem_MetaInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 3402 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 3407 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_MetaInfos_Nil :: T_MetaInfos +sem_MetaInfos_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 3415 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3420 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- MetaItem ----------------------------------------------------+-- cata+sem_MetaItem :: MetaItem  ->+                T_MetaItem +sem_MetaItem (MetaItem_Item _key _value )  =+    (sem_MetaItem_Item _key _value )+-- semantic domain+type T_MetaItem  = ( MetaItem )+sem_MetaItem_Item :: Word32 ->+                     Word32 ->+                     T_MetaItem +sem_MetaItem_Item key_ value_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MetaItem_Item key_ value_+            {-# LINE 3438 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3443 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- MetaItems ---------------------------------------------------+-- cata+sem_MetaItems :: MetaItems  ->+                 T_MetaItems +sem_MetaItems list  =+    (Prelude.foldr sem_MetaItems_Cons sem_MetaItems_Nil (Prelude.map sem_MetaItem list) )+-- semantic domain+type T_MetaItems  = ( MetaItems )+sem_MetaItems_Cons :: T_MetaItem  ->+                      T_MetaItems  ->+                      T_MetaItems +sem_MetaItems_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 3465 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 3470 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_MetaItems_Nil :: T_MetaItems +sem_MetaItems_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 3478 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3483 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- MethodFlag --------------------------------------------------+-- cata+sem_MethodFlag :: MethodFlag  ->+                  T_MethodFlag +sem_MethodFlag (MethodFlag_HasOptionals )  =+    (sem_MethodFlag_HasOptionals )+sem_MethodFlag (MethodFlag_HasParamNames )  =+    (sem_MethodFlag_HasParamNames )+sem_MethodFlag (MethodFlag_NeedAct )  =+    (sem_MethodFlag_NeedAct )+sem_MethodFlag (MethodFlag_NeedArgs )  =+    (sem_MethodFlag_NeedArgs )+sem_MethodFlag (MethodFlag_NeedRest )  =+    (sem_MethodFlag_NeedRest )+sem_MethodFlag (MethodFlag_SetDXNS )  =+    (sem_MethodFlag_SetDXNS )+-- semantic domain+type T_MethodFlag  = ( MethodFlag )+sem_MethodFlag_HasOptionals :: T_MethodFlag +sem_MethodFlag_HasOptionals  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MethodFlag_HasOptionals+            {-# LINE 3509 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3514 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MethodFlag_HasParamNames :: T_MethodFlag +sem_MethodFlag_HasParamNames  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MethodFlag_HasParamNames+            {-# LINE 3522 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3527 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MethodFlag_NeedAct :: T_MethodFlag +sem_MethodFlag_NeedAct  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MethodFlag_NeedAct+            {-# LINE 3535 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3540 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MethodFlag_NeedArgs :: T_MethodFlag +sem_MethodFlag_NeedArgs  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MethodFlag_NeedArgs+            {-# LINE 3548 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3553 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MethodFlag_NeedRest :: T_MethodFlag +sem_MethodFlag_NeedRest  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MethodFlag_NeedRest+            {-# LINE 3561 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3566 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MethodFlag_SetDXNS :: T_MethodFlag +sem_MethodFlag_SetDXNS  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MethodFlag_SetDXNS+            {-# LINE 3574 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3579 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- MethodFlags -------------------------------------------------+-- cata+sem_MethodFlags :: MethodFlags  ->+                   T_MethodFlags +sem_MethodFlags list  =+    (Prelude.foldr sem_MethodFlags_Cons sem_MethodFlags_Nil (Prelude.map sem_MethodFlag list) )+-- semantic domain+type T_MethodFlags  = ( MethodFlags )+sem_MethodFlags_Cons :: T_MethodFlag  ->+                        T_MethodFlags  ->+                        T_MethodFlags +sem_MethodFlags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 3601 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 3606 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_MethodFlags_Nil :: T_MethodFlags +sem_MethodFlags_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 3614 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3619 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- MethodInfo --------------------------------------------------+-- cata+sem_MethodInfo :: MethodInfo  ->+                  T_MethodInfo +sem_MethodInfo (MethodInfo_Info _return _params _name _flags _options _names )  =+    (sem_MethodInfo_Info _return (sem_ParamTypes _params ) _name (sem_MethodFlags _flags ) (sem_Optionals _options ) (sem_ParamNames _names ) )+-- semantic domain+type T_MethodInfo  = ( MethodInfo )+sem_MethodInfo_Info :: Word32 ->+                       T_ParamTypes  ->+                       Word32 ->+                       T_MethodFlags  ->+                       T_Optionals  ->+                       T_ParamNames  ->+                       T_MethodInfo +sem_MethodInfo_Info return_ params_ name_ flags_ options_ names_  =+    (case (names_ ) of+     { ( _namesIself) | True ->+         (case (options_ ) of+          { ( _optionsIself) | True ->+              (case (flags_ ) of+               { ( _flagsIself) | True ->+                   (case (params_ ) of+                    { ( _paramsIself) | True ->+                        (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                                MethodInfo_Info return_ _paramsIself name_ _flagsIself _optionsIself _namesIself+                                {-# LINE 3649 "src/ExtractAbc.hs" #-}+                                )) of+                         { _self | _self `seq` (True) ->+                         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                                 _self+                                 {-# LINE 3654 "src/ExtractAbc.hs" #-}+                                 )) of+                          { _lhsOself | _lhsOself `seq` (True) ->+                          ( _lhsOself) }) }) }) }) }) })+-- MethodInfos -------------------------------------------------+-- cata+sem_MethodInfos :: MethodInfos  ->+                   T_MethodInfos +sem_MethodInfos list  =+    (Prelude.foldr sem_MethodInfos_Cons sem_MethodInfos_Nil (Prelude.map sem_MethodInfo list) )+-- semantic domain+type T_MethodInfos  = ( MethodInfos )+sem_MethodInfos_Cons :: T_MethodInfo  ->+                        T_MethodInfos  ->+                        T_MethodInfos +sem_MethodInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 3676 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 3681 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_MethodInfos_Nil :: T_MethodInfos +sem_MethodInfos_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 3689 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3694 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- MultinameInfo -----------------------------------------------+-- cata+sem_MultinameInfo :: MultinameInfo  ->+                     T_MultinameInfo +sem_MultinameInfo (MultinameInfo_Generic _name _params )  =+    (sem_MultinameInfo_Generic _name (sem_ParamNames _params ) )+sem_MultinameInfo (MultinameInfo_Multiname _name _set )  =+    (sem_MultinameInfo_Multiname _name _set )+sem_MultinameInfo (MultinameInfo_MultinameA _name _set )  =+    (sem_MultinameInfo_MultinameA _name _set )+sem_MultinameInfo (MultinameInfo_MultinameL _set )  =+    (sem_MultinameInfo_MultinameL _set )+sem_MultinameInfo (MultinameInfo_MultinameLA _set )  =+    (sem_MultinameInfo_MultinameLA _set )+sem_MultinameInfo (MultinameInfo_QName _namespace _name )  =+    (sem_MultinameInfo_QName _namespace _name )+sem_MultinameInfo (MultinameInfo_QNameA _namespace _name )  =+    (sem_MultinameInfo_QNameA _namespace _name )+sem_MultinameInfo (MultinameInfo_RTQName _name )  =+    (sem_MultinameInfo_RTQName _name )+sem_MultinameInfo (MultinameInfo_RTQNameA _name )  =+    (sem_MultinameInfo_RTQNameA _name )+sem_MultinameInfo (MultinameInfo_RTQNameL )  =+    (sem_MultinameInfo_RTQNameL )+sem_MultinameInfo (MultinameInfo_RTQNameLA )  =+    (sem_MultinameInfo_RTQNameLA )+-- semantic domain+type T_MultinameInfo  = ( MultinameInfo )+sem_MultinameInfo_Generic :: Word32 ->+                             T_ParamNames  ->+                             T_MultinameInfo +sem_MultinameInfo_Generic name_ params_  =+    (case (params_ ) of+     { ( _paramsIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 MultinameInfo_Generic name_ _paramsIself+                 {-# LINE 3734 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 3739 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_MultinameInfo_Multiname :: Word32 ->+                               Word32 ->+                               T_MultinameInfo +sem_MultinameInfo_Multiname name_ set_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameInfo_Multiname name_ set_+            {-# LINE 3749 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3754 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameInfo_MultinameA :: Word32 ->+                                Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameA name_ set_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameInfo_MultinameA name_ set_+            {-# LINE 3764 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3769 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameInfo_MultinameL :: Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameL set_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameInfo_MultinameL set_+            {-# LINE 3778 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3783 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameInfo_MultinameLA :: Word32 ->+                                 T_MultinameInfo +sem_MultinameInfo_MultinameLA set_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameInfo_MultinameLA set_+            {-# LINE 3792 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3797 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameInfo_QName :: Word32 ->+                           Word32 ->+                           T_MultinameInfo +sem_MultinameInfo_QName namespace_ name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameInfo_QName namespace_ name_+            {-# LINE 3807 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3812 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameInfo_QNameA :: Word32 ->+                            Word32 ->+                            T_MultinameInfo +sem_MultinameInfo_QNameA namespace_ name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameInfo_QNameA namespace_ name_+            {-# LINE 3822 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3827 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameInfo_RTQName :: Word32 ->+                             T_MultinameInfo +sem_MultinameInfo_RTQName name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameInfo_RTQName name_+            {-# LINE 3836 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3841 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameInfo_RTQNameA :: Word32 ->+                              T_MultinameInfo +sem_MultinameInfo_RTQNameA name_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameInfo_RTQNameA name_+            {-# LINE 3850 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3855 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameInfo_RTQNameL :: T_MultinameInfo +sem_MultinameInfo_RTQNameL  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameInfo_RTQNameL+            {-# LINE 3863 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3868 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameInfo_RTQNameLA :: T_MultinameInfo +sem_MultinameInfo_RTQNameLA  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameInfo_RTQNameLA+            {-# LINE 3876 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3881 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- MultinameInfos ----------------------------------------------+-- cata+sem_MultinameInfos :: MultinameInfos  ->+                      T_MultinameInfos +sem_MultinameInfos list  =+    (Prelude.foldr sem_MultinameInfos_Cons sem_MultinameInfos_Nil (Prelude.map sem_MultinameInfo list) )+-- semantic domain+type T_MultinameInfos  = ( MultinameInfos )+sem_MultinameInfos_Cons :: T_MultinameInfo  ->+                           T_MultinameInfos  ->+                           T_MultinameInfos +sem_MultinameInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 3903 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 3908 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_MultinameInfos_Nil :: T_MultinameInfos +sem_MultinameInfos_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 3916 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3921 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- MultinameKind -----------------------------------------------+-- cata+sem_MultinameKind :: MultinameKind  ->+                     T_MultinameKind +sem_MultinameKind (MultinameKind_Generic )  =+    (sem_MultinameKind_Generic )+sem_MultinameKind (MultinameKind_Multiname )  =+    (sem_MultinameKind_Multiname )+sem_MultinameKind (MultinameKind_MultinameA )  =+    (sem_MultinameKind_MultinameA )+sem_MultinameKind (MultinameKind_MultinameL )  =+    (sem_MultinameKind_MultinameL )+sem_MultinameKind (MultinameKind_MultinameLA )  =+    (sem_MultinameKind_MultinameLA )+sem_MultinameKind (MultinameKind_QName )  =+    (sem_MultinameKind_QName )+sem_MultinameKind (MultinameKind_QNameA )  =+    (sem_MultinameKind_QNameA )+sem_MultinameKind (MultinameKind_RTQName )  =+    (sem_MultinameKind_RTQName )+sem_MultinameKind (MultinameKind_RTQNameA )  =+    (sem_MultinameKind_RTQNameA )+sem_MultinameKind (MultinameKind_RTQNameL )  =+    (sem_MultinameKind_RTQNameL )+sem_MultinameKind (MultinameKind_RTQNameLA )  =+    (sem_MultinameKind_RTQNameLA )+-- semantic domain+type T_MultinameKind  = ( MultinameKind )+sem_MultinameKind_Generic :: T_MultinameKind +sem_MultinameKind_Generic  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameKind_Generic+            {-# LINE 3957 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3962 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameKind_Multiname :: T_MultinameKind +sem_MultinameKind_Multiname  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameKind_Multiname+            {-# LINE 3970 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3975 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameKind_MultinameA :: T_MultinameKind +sem_MultinameKind_MultinameA  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameKind_MultinameA+            {-# LINE 3983 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 3988 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameKind_MultinameL :: T_MultinameKind +sem_MultinameKind_MultinameL  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameKind_MultinameL+            {-# LINE 3996 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4001 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameKind_MultinameLA :: T_MultinameKind +sem_MultinameKind_MultinameLA  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameKind_MultinameLA+            {-# LINE 4009 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4014 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameKind_QName :: T_MultinameKind +sem_MultinameKind_QName  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameKind_QName+            {-# LINE 4022 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4027 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameKind_QNameA :: T_MultinameKind +sem_MultinameKind_QNameA  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameKind_QNameA+            {-# LINE 4035 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4040 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameKind_RTQName :: T_MultinameKind +sem_MultinameKind_RTQName  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameKind_RTQName+            {-# LINE 4048 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4053 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameKind_RTQNameA :: T_MultinameKind +sem_MultinameKind_RTQNameA  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameKind_RTQNameA+            {-# LINE 4061 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4066 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameKind_RTQNameL :: T_MultinameKind +sem_MultinameKind_RTQNameL  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameKind_RTQNameL+            {-# LINE 4074 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4079 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_MultinameKind_RTQNameLA :: T_MultinameKind +sem_MultinameKind_RTQNameLA  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            MultinameKind_RTQNameLA+            {-# LINE 4087 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4092 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- NamespaceInfo -----------------------------------------------+-- cata+sem_NamespaceInfo :: NamespaceInfo  ->+                     T_NamespaceInfo +sem_NamespaceInfo (NamespaceInfo_Info _kind _name )  =+    (sem_NamespaceInfo_Info (sem_NamespaceKind _kind ) _name )+-- semantic domain+type T_NamespaceInfo  = ( NamespaceInfo )+sem_NamespaceInfo_Info :: T_NamespaceKind  ->+                          Word32 ->+                          T_NamespaceInfo +sem_NamespaceInfo_Info kind_ name_  =+    (case (kind_ ) of+     { ( _kindIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 NamespaceInfo_Info _kindIself name_+                 {-# LINE 4112 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 4117 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+-- NamespaceInfos ----------------------------------------------+-- cata+sem_NamespaceInfos :: NamespaceInfos  ->+                      T_NamespaceInfos +sem_NamespaceInfos list  =+    (Prelude.foldr sem_NamespaceInfos_Cons sem_NamespaceInfos_Nil (Prelude.map sem_NamespaceInfo list) )+-- semantic domain+type T_NamespaceInfos  = ( NamespaceInfos )+sem_NamespaceInfos_Cons :: T_NamespaceInfo  ->+                           T_NamespaceInfos  ->+                           T_NamespaceInfos +sem_NamespaceInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 4139 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 4144 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_NamespaceInfos_Nil :: T_NamespaceInfos +sem_NamespaceInfos_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4152 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4157 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- NamespaceKind -----------------------------------------------+-- cata+sem_NamespaceKind :: NamespaceKind  ->+                     T_NamespaceKind +sem_NamespaceKind (NamespaceKind_Explicit )  =+    (sem_NamespaceKind_Explicit )+sem_NamespaceKind (NamespaceKind_General )  =+    (sem_NamespaceKind_General )+sem_NamespaceKind (NamespaceKind_Internal )  =+    (sem_NamespaceKind_Internal )+sem_NamespaceKind (NamespaceKind_Package )  =+    (sem_NamespaceKind_Package )+sem_NamespaceKind (NamespaceKind_Private )  =+    (sem_NamespaceKind_Private )+sem_NamespaceKind (NamespaceKind_Protected )  =+    (sem_NamespaceKind_Protected )+sem_NamespaceKind (NamespaceKind_Static )  =+    (sem_NamespaceKind_Static )+-- semantic domain+type T_NamespaceKind  = ( NamespaceKind )+sem_NamespaceKind_Explicit :: T_NamespaceKind +sem_NamespaceKind_Explicit  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            NamespaceKind_Explicit+            {-# LINE 4185 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4190 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_NamespaceKind_General :: T_NamespaceKind +sem_NamespaceKind_General  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            NamespaceKind_General+            {-# LINE 4198 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4203 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_NamespaceKind_Internal :: T_NamespaceKind +sem_NamespaceKind_Internal  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            NamespaceKind_Internal+            {-# LINE 4211 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4216 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_NamespaceKind_Package :: T_NamespaceKind +sem_NamespaceKind_Package  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            NamespaceKind_Package+            {-# LINE 4224 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4229 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_NamespaceKind_Private :: T_NamespaceKind +sem_NamespaceKind_Private  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            NamespaceKind_Private+            {-# LINE 4237 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4242 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_NamespaceKind_Protected :: T_NamespaceKind +sem_NamespaceKind_Protected  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            NamespaceKind_Protected+            {-# LINE 4250 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4255 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_NamespaceKind_Static :: T_NamespaceKind +sem_NamespaceKind_Static  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            NamespaceKind_Static+            {-# LINE 4263 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4268 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- NamespaceNames ----------------------------------------------+-- cata+sem_NamespaceNames :: NamespaceNames  ->+                      T_NamespaceNames +sem_NamespaceNames list  =+    (Prelude.foldr sem_NamespaceNames_Cons sem_NamespaceNames_Nil list )+-- semantic domain+type T_NamespaceNames  = ( NamespaceNames )+sem_NamespaceNames_Cons :: Word32 ->+                           T_NamespaceNames  ->+                           T_NamespaceNames +sem_NamespaceNames_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 (:) hd_ _tlIself+                 {-# LINE 4288 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 4293 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_NamespaceNames_Nil :: T_NamespaceNames +sem_NamespaceNames_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4301 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4306 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- Optional ----------------------------------------------------+-- cata+sem_Optional :: Optional  ->+                T_Optional +sem_Optional (Optional_Detail _val _kind )  =+    (sem_Optional_Detail _val (sem_ValueKind _kind ) )+-- semantic domain+type T_Optional  = ( Optional )+sem_Optional_Detail :: Word32 ->+                       T_ValueKind  ->+                       T_Optional +sem_Optional_Detail val_ kind_  =+    (case (kind_ ) of+     { ( _kindIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 Optional_Detail val_ _kindIself+                 {-# LINE 4326 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 4331 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+-- Optionals ---------------------------------------------------+-- cata+sem_Optionals :: Optionals  ->+                 T_Optionals +sem_Optionals list  =+    (Prelude.foldr sem_Optionals_Cons sem_Optionals_Nil (Prelude.map sem_Optional list) )+-- semantic domain+type T_Optionals  = ( Optionals )+sem_Optionals_Cons :: T_Optional  ->+                      T_Optionals  ->+                      T_Optionals +sem_Optionals_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 4353 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 4358 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_Optionals_Nil :: T_Optionals +sem_Optionals_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4366 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4371 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- ParamNames --------------------------------------------------+-- cata+sem_ParamNames :: ParamNames  ->+                  T_ParamNames +sem_ParamNames list  =+    (Prelude.foldr sem_ParamNames_Cons sem_ParamNames_Nil list )+-- semantic domain+type T_ParamNames  = ( ParamNames )+sem_ParamNames_Cons :: Word32 ->+                       T_ParamNames  ->+                       T_ParamNames +sem_ParamNames_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 (:) hd_ _tlIself+                 {-# LINE 4391 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 4396 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_ParamNames_Nil :: T_ParamNames +sem_ParamNames_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4404 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4409 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- ParamTypes --------------------------------------------------+-- cata+sem_ParamTypes :: ParamTypes  ->+                  T_ParamTypes +sem_ParamTypes list  =+    (Prelude.foldr sem_ParamTypes_Cons sem_ParamTypes_Nil list )+-- semantic domain+type T_ParamTypes  = ( ParamTypes )+sem_ParamTypes_Cons :: Word32 ->+                       T_ParamTypes  ->+                       T_ParamTypes +sem_ParamTypes_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 (:) hd_ _tlIself+                 {-# LINE 4429 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 4434 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_ParamTypes_Nil :: T_ParamTypes +sem_ParamTypes_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4442 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4447 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- PoolDoubles -------------------------------------------------+-- cata+sem_PoolDoubles :: PoolDoubles  ->+                   T_PoolDoubles +sem_PoolDoubles list  =+    (Prelude.foldr sem_PoolDoubles_Cons sem_PoolDoubles_Nil list )+-- semantic domain+type T_PoolDoubles  = ( PoolDoubles )+sem_PoolDoubles_Cons :: Double ->+                        T_PoolDoubles  ->+                        T_PoolDoubles +sem_PoolDoubles_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 (:) hd_ _tlIself+                 {-# LINE 4467 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 4472 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_PoolDoubles_Nil :: T_PoolDoubles +sem_PoolDoubles_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4480 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4485 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- PoolInfo ----------------------------------------------------+-- cata+sem_PoolInfo :: PoolInfo  ->+                T_PoolInfo +sem_PoolInfo (PoolInfo_Info _integers _uintegers _doubles _strings _namespaces _namesets _multinames )  =+    (sem_PoolInfo_Info (sem_PoolInts _integers ) (sem_PoolUInts _uintegers ) (sem_PoolDoubles _doubles ) (sem_PoolStrings _strings ) (sem_NamespaceInfos _namespaces ) (sem_SetInfos _namesets ) (sem_MultinameInfos _multinames ) )+-- semantic domain+type T_PoolInfo  = ( PoolInfo )+sem_PoolInfo_Info :: T_PoolInts  ->+                     T_PoolUInts  ->+                     T_PoolDoubles  ->+                     T_PoolStrings  ->+                     T_NamespaceInfos  ->+                     T_SetInfos  ->+                     T_MultinameInfos  ->+                     T_PoolInfo +sem_PoolInfo_Info integers_ uintegers_ doubles_ strings_ namespaces_ namesets_ multinames_  =+    (case (multinames_ ) of+     { ( _multinamesIself) | True ->+         (case (namesets_ ) of+          { ( _namesetsIself) | True ->+              (case (namespaces_ ) of+               { ( _namespacesIself) | True ->+                   (case (strings_ ) of+                    { ( _stringsIself) | True ->+                        (case (doubles_ ) of+                         { ( _doublesIself) | True ->+                             (case (uintegers_ ) of+                              { ( _uintegersIself) | True ->+                                  (case (integers_ ) of+                                   { ( _integersIself) | True ->+                                       (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                                               PoolInfo_Info _integersIself _uintegersIself _doublesIself _stringsIself _namespacesIself _namesetsIself _multinamesIself+                                               {-# LINE 4522 "src/ExtractAbc.hs" #-}+                                               )) of+                                        { _self | _self `seq` (True) ->+                                        (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                                                _self+                                                {-# LINE 4527 "src/ExtractAbc.hs" #-}+                                                )) of+                                         { _lhsOself | _lhsOself `seq` (True) ->+                                         ( _lhsOself) }) }) }) }) }) }) }) }) })+-- PoolInts ----------------------------------------------------+-- cata+sem_PoolInts :: PoolInts  ->+                T_PoolInts +sem_PoolInts list  =+    (Prelude.foldr sem_PoolInts_Cons sem_PoolInts_Nil list )+-- semantic domain+type T_PoolInts  = ( PoolInts )+sem_PoolInts_Cons :: Word32 ->+                     T_PoolInts  ->+                     T_PoolInts +sem_PoolInts_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 (:) hd_ _tlIself+                 {-# LINE 4547 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 4552 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_PoolInts_Nil :: T_PoolInts +sem_PoolInts_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4560 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4565 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- PoolStrings -------------------------------------------------+-- cata+sem_PoolStrings :: PoolStrings  ->+                   T_PoolStrings +sem_PoolStrings list  =+    (Prelude.foldr sem_PoolStrings_Cons sem_PoolStrings_Nil list )+-- semantic domain+type T_PoolStrings  = ( PoolStrings )+sem_PoolStrings_Cons :: ByteString ->+                        T_PoolStrings  ->+                        T_PoolStrings +sem_PoolStrings_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 (:) hd_ _tlIself+                 {-# LINE 4585 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 4590 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_PoolStrings_Nil :: T_PoolStrings +sem_PoolStrings_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4598 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4603 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- PoolUInts ---------------------------------------------------+-- cata+sem_PoolUInts :: PoolUInts  ->+                 T_PoolUInts +sem_PoolUInts list  =+    (Prelude.foldr sem_PoolUInts_Cons sem_PoolUInts_Nil list )+-- semantic domain+type T_PoolUInts  = ( PoolUInts )+sem_PoolUInts_Cons :: Word32 ->+                      T_PoolUInts  ->+                      T_PoolUInts +sem_PoolUInts_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 (:) hd_ _tlIself+                 {-# LINE 4623 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 4628 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_PoolUInts_Nil :: T_PoolUInts +sem_PoolUInts_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4636 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4641 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- Rect --------------------------------------------------------+-- cata+sem_Rect :: Rect  ->+            T_Rect +sem_Rect (Rect_Rect _bits _xMin _xMax _yMin _yMax )  =+    (sem_Rect_Rect _bits _xMin _xMax _yMin _yMax )+-- semantic domain+type T_Rect  = ( )+sem_Rect_Rect :: Int ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 T_Rect +sem_Rect_Rect bits_ xMin_ xMax_ yMin_ yMax_  =+    ( )+-- ScriptInfo --------------------------------------------------+-- cata+sem_ScriptInfo :: ScriptInfo  ->+                  T_ScriptInfo +sem_ScriptInfo (ScriptInfo_Info _method _traits )  =+    (sem_ScriptInfo_Info _method (sem_Traits _traits ) )+-- semantic domain+type T_ScriptInfo  = ( ScriptInfo )+sem_ScriptInfo_Info :: Word32 ->+                       T_Traits  ->+                       T_ScriptInfo +sem_ScriptInfo_Info method_ traits_  =+    (case (traits_ ) of+     { ( _traitsIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 ScriptInfo_Info method_ _traitsIself+                 {-# LINE 4677 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 4682 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+-- ScriptInfos -------------------------------------------------+-- cata+sem_ScriptInfos :: ScriptInfos  ->+                   T_ScriptInfos +sem_ScriptInfos list  =+    (Prelude.foldr sem_ScriptInfos_Cons sem_ScriptInfos_Nil (Prelude.map sem_ScriptInfo list) )+-- semantic domain+type T_ScriptInfos  = ( ScriptInfos )+sem_ScriptInfos_Cons :: T_ScriptInfo  ->+                        T_ScriptInfos  ->+                        T_ScriptInfos +sem_ScriptInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 4704 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 4709 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_ScriptInfos_Nil :: T_ScriptInfos +sem_ScriptInfos_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4717 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4722 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- SetInfo -----------------------------------------------------+-- cata+sem_SetInfo :: SetInfo  ->+               T_SetInfo +sem_SetInfo (SetInfo_Info _names )  =+    (sem_SetInfo_Info (sem_NamespaceNames _names ) )+-- semantic domain+type T_SetInfo  = ( SetInfo )+sem_SetInfo_Info :: T_NamespaceNames  ->+                    T_SetInfo +sem_SetInfo_Info names_  =+    (case (names_ ) of+     { ( _namesIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 SetInfo_Info _namesIself+                 {-# LINE 4741 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 4746 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+-- SetInfos ----------------------------------------------------+-- cata+sem_SetInfos :: SetInfos  ->+                T_SetInfos +sem_SetInfos list  =+    (Prelude.foldr sem_SetInfos_Cons sem_SetInfos_Nil (Prelude.map sem_SetInfo list) )+-- semantic domain+type T_SetInfos  = ( SetInfos )+sem_SetInfos_Cons :: T_SetInfo  ->+                     T_SetInfos  ->+                     T_SetInfos +sem_SetInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 4768 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 4773 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_SetInfos_Nil :: T_SetInfos +sem_SetInfos_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4781 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 4786 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- SwfFile -----------------------------------------------------+-- cata+sem_SwfFile :: SwfFile  ->+               T_SwfFile +sem_SwfFile (SwfFile_File _compressed _version _length _size _rate _count _tags )  =+    (sem_SwfFile_File _compressed _version _length (sem_Rect _size ) _rate _count (sem_Tags _tags ) )+-- semantic domain+type T_SwfFile  = ( AbcFiles)+data Inh_SwfFile  = Inh_SwfFile {}+data Syn_SwfFile  = Syn_SwfFile {output_Syn_SwfFile :: !(AbcFiles)}+wrap_SwfFile :: T_SwfFile  ->+                Inh_SwfFile  ->+                Syn_SwfFile +wrap_SwfFile sem (Inh_SwfFile )  =+    (let ( _lhsOoutput) | True = sem +     in  (Syn_SwfFile _lhsOoutput ))+sem_SwfFile_File :: Bool ->+                    Word8 ->+                    Word32 ->+                    T_Rect  ->+                    Word16 ->+                    Word16 ->+                    T_Tags  ->+                    T_SwfFile +sem_SwfFile_File compressed_ version_ length_ size_ rate_ count_ tags_  =+    (case (tags_ ) of+     { ( _tagsIoutput) | True ->+         (case (({-# LINE 26 "src/ExtractAbc.ag" #-}+                 _tagsIoutput+                 {-# LINE 4819 "src/ExtractAbc.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }) })+-- Tag ---------------------------------------------------------+-- cata+sem_Tag :: Tag  ->+           T_Tag +sem_Tag (Tag_Abc _flags _name _file )  =+    (sem_Tag_Abc (sem_AbcFlags _flags ) _name (sem_AbcFile _file ) )+sem_Tag (Tag_End )  =+    (sem_Tag_End )+sem_Tag (Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )  =+    (sem_Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )+sem_Tag (Tag_Opaque _kind _length _body )  =+    (sem_Tag_Opaque (sem_TagKind _kind ) _length _body )+-- semantic domain+type T_Tag  = ( AbcFiles)+sem_Tag_Abc :: T_AbcFlags  ->+               ByteString ->+               T_AbcFile  ->+               T_Tag +sem_Tag_Abc flags_ name_ file_  =+    (case (({-# LINE 30 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4844 "src/ExtractAbc.hs" #-}+            )) of+     { _output_augmented_syn | _output_augmented_syn `seq` (True) ->+     (case (file_ ) of+      { ( _fileIself) | True ->+          (case (({-# LINE 30 "src/ExtractAbc.ag" #-}+                  (_fileIself:)+                  {-# LINE 4851 "src/ExtractAbc.hs" #-}+                  )) of+           { _output_augmented_f1 | _output_augmented_f1 `seq` (True) ->+           (case (({-# LINE 30 "src/ExtractAbc.ag" #-}+                   foldr ($) _output_augmented_syn [_output_augmented_f1]+                   {-# LINE 4856 "src/ExtractAbc.hs" #-}+                   )) of+            { _lhsOoutput | _lhsOoutput `seq` (True) ->+            ( _lhsOoutput) }) }) }) })+sem_Tag_End :: T_Tag +sem_Tag_End  =+    (case (({-# LINE 26 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4864 "src/ExtractAbc.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Tag_FileAttributes :: Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          T_Tag +sem_Tag_FileAttributes useDirectBlit_ useGPU_ hasMetaData_ hasAS3_ useNetwork_  =+    (case (({-# LINE 26 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4877 "src/ExtractAbc.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Tag_Opaque :: T_TagKind  ->+                  Word32 ->+                  ByteString ->+                  T_Tag +sem_Tag_Opaque kind_ length_ body_  =+    (case (({-# LINE 26 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 4888 "src/ExtractAbc.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- TagKind -----------------------------------------------------+-- cata+sem_TagKind :: TagKind  ->+               T_TagKind +sem_TagKind (TagKind_CSMTextSettings )  =+    (sem_TagKind_CSMTextSettings )+sem_TagKind (TagKind_DefineBinaryData )  =+    (sem_TagKind_DefineBinaryData )+sem_TagKind (TagKind_DefineBits )  =+    (sem_TagKind_DefineBits )+sem_TagKind (TagKind_DefineBitsJPEG2 )  =+    (sem_TagKind_DefineBitsJPEG2 )+sem_TagKind (TagKind_DefineBitsJPEG3 )  =+    (sem_TagKind_DefineBitsJPEG3 )+sem_TagKind (TagKind_DefineBitsJPEG4 )  =+    (sem_TagKind_DefineBitsJPEG4 )+sem_TagKind (TagKind_DefineBitsLossless )  =+    (sem_TagKind_DefineBitsLossless )+sem_TagKind (TagKind_DefineBitsLossless2 )  =+    (sem_TagKind_DefineBitsLossless2 )+sem_TagKind (TagKind_DefineButton )  =+    (sem_TagKind_DefineButton )+sem_TagKind (TagKind_DefineButton2 )  =+    (sem_TagKind_DefineButton2 )+sem_TagKind (TagKind_DefineButtonCxform )  =+    (sem_TagKind_DefineButtonCxform )+sem_TagKind (TagKind_DefineButtonSound )  =+    (sem_TagKind_DefineButtonSound )+sem_TagKind (TagKind_DefineEditText )  =+    (sem_TagKind_DefineEditText )+sem_TagKind (TagKind_DefineFont )  =+    (sem_TagKind_DefineFont )+sem_TagKind (TagKind_DefineFont2 )  =+    (sem_TagKind_DefineFont2 )+sem_TagKind (TagKind_DefineFont3 )  =+    (sem_TagKind_DefineFont3 )+sem_TagKind (TagKind_DefineFont4 )  =+    (sem_TagKind_DefineFont4 )+sem_TagKind (TagKind_DefineFontAlignZones )  =+    (sem_TagKind_DefineFontAlignZones )+sem_TagKind (TagKind_DefineFontInfo )  =+    (sem_TagKind_DefineFontInfo )+sem_TagKind (TagKind_DefineFontInfo2 )  =+    (sem_TagKind_DefineFontInfo2 )+sem_TagKind (TagKind_DefineFontName )  =+    (sem_TagKind_DefineFontName )+sem_TagKind (TagKind_DefineMorphShape )  =+    (sem_TagKind_DefineMorphShape )+sem_TagKind (TagKind_DefineMorphShape2 )  =+    (sem_TagKind_DefineMorphShape2 )+sem_TagKind (TagKind_DefineScalingGrid )  =+    (sem_TagKind_DefineScalingGrid )+sem_TagKind (TagKind_DefineSceneAndFrameLabelData )  =+    (sem_TagKind_DefineSceneAndFrameLabelData )+sem_TagKind (TagKind_DefineShape )  =+    (sem_TagKind_DefineShape )+sem_TagKind (TagKind_DefineShape2 )  =+    (sem_TagKind_DefineShape2 )+sem_TagKind (TagKind_DefineShape3 )  =+    (sem_TagKind_DefineShape3 )+sem_TagKind (TagKind_DefineShape4 )  =+    (sem_TagKind_DefineShape4 )+sem_TagKind (TagKind_DefineSound )  =+    (sem_TagKind_DefineSound )+sem_TagKind (TagKind_DefineSprite )  =+    (sem_TagKind_DefineSprite )+sem_TagKind (TagKind_DefineText )  =+    (sem_TagKind_DefineText )+sem_TagKind (TagKind_DefineText2 )  =+    (sem_TagKind_DefineText2 )+sem_TagKind (TagKind_DefineVideoStream )  =+    (sem_TagKind_DefineVideoStream )+sem_TagKind (TagKind_DoABC )  =+    (sem_TagKind_DoABC )+sem_TagKind (TagKind_DoAction )  =+    (sem_TagKind_DoAction )+sem_TagKind (TagKind_DoInitAction )  =+    (sem_TagKind_DoInitAction )+sem_TagKind (TagKind_EnableDebugger )  =+    (sem_TagKind_EnableDebugger )+sem_TagKind (TagKind_EnableDebugger2 )  =+    (sem_TagKind_EnableDebugger2 )+sem_TagKind (TagKind_End )  =+    (sem_TagKind_End )+sem_TagKind (TagKind_ExportAssets )  =+    (sem_TagKind_ExportAssets )+sem_TagKind (TagKind_FileAttributes )  =+    (sem_TagKind_FileAttributes )+sem_TagKind (TagKind_FrameLabel )  =+    (sem_TagKind_FrameLabel )+sem_TagKind (TagKind_ImportAssets )  =+    (sem_TagKind_ImportAssets )+sem_TagKind (TagKind_ImportAssets2 )  =+    (sem_TagKind_ImportAssets2 )+sem_TagKind (TagKind_JPEGTables )  =+    (sem_TagKind_JPEGTables )+sem_TagKind (TagKind_Metadata )  =+    (sem_TagKind_Metadata )+sem_TagKind (TagKind_Other _code )  =+    (sem_TagKind_Other _code )+sem_TagKind (TagKind_PlaceObject )  =+    (sem_TagKind_PlaceObject )+sem_TagKind (TagKind_PlaceObject2 )  =+    (sem_TagKind_PlaceObject2 )+sem_TagKind (TagKind_PlaceObject3 )  =+    (sem_TagKind_PlaceObject3 )+sem_TagKind (TagKind_Protect )  =+    (sem_TagKind_Protect )+sem_TagKind (TagKind_RemoveObject )  =+    (sem_TagKind_RemoveObject )+sem_TagKind (TagKind_RemoveObject2 )  =+    (sem_TagKind_RemoveObject2 )+sem_TagKind (TagKind_ScriptLimits )  =+    (sem_TagKind_ScriptLimits )+sem_TagKind (TagKind_SetBackgroundColor )  =+    (sem_TagKind_SetBackgroundColor )+sem_TagKind (TagKind_SetTabIndex )  =+    (sem_TagKind_SetTabIndex )+sem_TagKind (TagKind_ShowFrame )  =+    (sem_TagKind_ShowFrame )+sem_TagKind (TagKind_SoundStreamBlock )  =+    (sem_TagKind_SoundStreamBlock )+sem_TagKind (TagKind_SoundStreamHead )  =+    (sem_TagKind_SoundStreamHead )+sem_TagKind (TagKind_SoundStreamHead2 )  =+    (sem_TagKind_SoundStreamHead2 )+sem_TagKind (TagKind_StartSound )  =+    (sem_TagKind_StartSound )+sem_TagKind (TagKind_StartSound2 )  =+    (sem_TagKind_StartSound2 )+sem_TagKind (TagKind_SymbolClass )  =+    (sem_TagKind_SymbolClass )+sem_TagKind (TagKind_VideoFrame )  =+    (sem_TagKind_VideoFrame )+-- semantic domain+type T_TagKind  = ( )+sem_TagKind_CSMTextSettings :: T_TagKind +sem_TagKind_CSMTextSettings  =+    ( )+sem_TagKind_DefineBinaryData :: T_TagKind +sem_TagKind_DefineBinaryData  =+    ( )+sem_TagKind_DefineBits :: T_TagKind +sem_TagKind_DefineBits  =+    ( )+sem_TagKind_DefineBitsJPEG2 :: T_TagKind +sem_TagKind_DefineBitsJPEG2  =+    ( )+sem_TagKind_DefineBitsJPEG3 :: T_TagKind +sem_TagKind_DefineBitsJPEG3  =+    ( )+sem_TagKind_DefineBitsJPEG4 :: T_TagKind +sem_TagKind_DefineBitsJPEG4  =+    ( )+sem_TagKind_DefineBitsLossless :: T_TagKind +sem_TagKind_DefineBitsLossless  =+    ( )+sem_TagKind_DefineBitsLossless2 :: T_TagKind +sem_TagKind_DefineBitsLossless2  =+    ( )+sem_TagKind_DefineButton :: T_TagKind +sem_TagKind_DefineButton  =+    ( )+sem_TagKind_DefineButton2 :: T_TagKind +sem_TagKind_DefineButton2  =+    ( )+sem_TagKind_DefineButtonCxform :: T_TagKind +sem_TagKind_DefineButtonCxform  =+    ( )+sem_TagKind_DefineButtonSound :: T_TagKind +sem_TagKind_DefineButtonSound  =+    ( )+sem_TagKind_DefineEditText :: T_TagKind +sem_TagKind_DefineEditText  =+    ( )+sem_TagKind_DefineFont :: T_TagKind +sem_TagKind_DefineFont  =+    ( )+sem_TagKind_DefineFont2 :: T_TagKind +sem_TagKind_DefineFont2  =+    ( )+sem_TagKind_DefineFont3 :: T_TagKind +sem_TagKind_DefineFont3  =+    ( )+sem_TagKind_DefineFont4 :: T_TagKind +sem_TagKind_DefineFont4  =+    ( )+sem_TagKind_DefineFontAlignZones :: T_TagKind +sem_TagKind_DefineFontAlignZones  =+    ( )+sem_TagKind_DefineFontInfo :: T_TagKind +sem_TagKind_DefineFontInfo  =+    ( )+sem_TagKind_DefineFontInfo2 :: T_TagKind +sem_TagKind_DefineFontInfo2  =+    ( )+sem_TagKind_DefineFontName :: T_TagKind +sem_TagKind_DefineFontName  =+    ( )+sem_TagKind_DefineMorphShape :: T_TagKind +sem_TagKind_DefineMorphShape  =+    ( )+sem_TagKind_DefineMorphShape2 :: T_TagKind +sem_TagKind_DefineMorphShape2  =+    ( )+sem_TagKind_DefineScalingGrid :: T_TagKind +sem_TagKind_DefineScalingGrid  =+    ( )+sem_TagKind_DefineSceneAndFrameLabelData :: T_TagKind +sem_TagKind_DefineSceneAndFrameLabelData  =+    ( )+sem_TagKind_DefineShape :: T_TagKind +sem_TagKind_DefineShape  =+    ( )+sem_TagKind_DefineShape2 :: T_TagKind +sem_TagKind_DefineShape2  =+    ( )+sem_TagKind_DefineShape3 :: T_TagKind +sem_TagKind_DefineShape3  =+    ( )+sem_TagKind_DefineShape4 :: T_TagKind +sem_TagKind_DefineShape4  =+    ( )+sem_TagKind_DefineSound :: T_TagKind +sem_TagKind_DefineSound  =+    ( )+sem_TagKind_DefineSprite :: T_TagKind +sem_TagKind_DefineSprite  =+    ( )+sem_TagKind_DefineText :: T_TagKind +sem_TagKind_DefineText  =+    ( )+sem_TagKind_DefineText2 :: T_TagKind +sem_TagKind_DefineText2  =+    ( )+sem_TagKind_DefineVideoStream :: T_TagKind +sem_TagKind_DefineVideoStream  =+    ( )+sem_TagKind_DoABC :: T_TagKind +sem_TagKind_DoABC  =+    ( )+sem_TagKind_DoAction :: T_TagKind +sem_TagKind_DoAction  =+    ( )+sem_TagKind_DoInitAction :: T_TagKind +sem_TagKind_DoInitAction  =+    ( )+sem_TagKind_EnableDebugger :: T_TagKind +sem_TagKind_EnableDebugger  =+    ( )+sem_TagKind_EnableDebugger2 :: T_TagKind +sem_TagKind_EnableDebugger2  =+    ( )+sem_TagKind_End :: T_TagKind +sem_TagKind_End  =+    ( )+sem_TagKind_ExportAssets :: T_TagKind +sem_TagKind_ExportAssets  =+    ( )+sem_TagKind_FileAttributes :: T_TagKind +sem_TagKind_FileAttributes  =+    ( )+sem_TagKind_FrameLabel :: T_TagKind +sem_TagKind_FrameLabel  =+    ( )+sem_TagKind_ImportAssets :: T_TagKind +sem_TagKind_ImportAssets  =+    ( )+sem_TagKind_ImportAssets2 :: T_TagKind +sem_TagKind_ImportAssets2  =+    ( )+sem_TagKind_JPEGTables :: T_TagKind +sem_TagKind_JPEGTables  =+    ( )+sem_TagKind_Metadata :: T_TagKind +sem_TagKind_Metadata  =+    ( )+sem_TagKind_Other :: Word16 ->+                     T_TagKind +sem_TagKind_Other code_  =+    ( )+sem_TagKind_PlaceObject :: T_TagKind +sem_TagKind_PlaceObject  =+    ( )+sem_TagKind_PlaceObject2 :: T_TagKind +sem_TagKind_PlaceObject2  =+    ( )+sem_TagKind_PlaceObject3 :: T_TagKind +sem_TagKind_PlaceObject3  =+    ( )+sem_TagKind_Protect :: T_TagKind +sem_TagKind_Protect  =+    ( )+sem_TagKind_RemoveObject :: T_TagKind +sem_TagKind_RemoveObject  =+    ( )+sem_TagKind_RemoveObject2 :: T_TagKind +sem_TagKind_RemoveObject2  =+    ( )+sem_TagKind_ScriptLimits :: T_TagKind +sem_TagKind_ScriptLimits  =+    ( )+sem_TagKind_SetBackgroundColor :: T_TagKind +sem_TagKind_SetBackgroundColor  =+    ( )+sem_TagKind_SetTabIndex :: T_TagKind +sem_TagKind_SetTabIndex  =+    ( )+sem_TagKind_ShowFrame :: T_TagKind +sem_TagKind_ShowFrame  =+    ( )+sem_TagKind_SoundStreamBlock :: T_TagKind +sem_TagKind_SoundStreamBlock  =+    ( )+sem_TagKind_SoundStreamHead :: T_TagKind +sem_TagKind_SoundStreamHead  =+    ( )+sem_TagKind_SoundStreamHead2 :: T_TagKind +sem_TagKind_SoundStreamHead2  =+    ( )+sem_TagKind_StartSound :: T_TagKind +sem_TagKind_StartSound  =+    ( )+sem_TagKind_StartSound2 :: T_TagKind +sem_TagKind_StartSound2  =+    ( )+sem_TagKind_SymbolClass :: T_TagKind +sem_TagKind_SymbolClass  =+    ( )+sem_TagKind_VideoFrame :: T_TagKind +sem_TagKind_VideoFrame  =+    ( )+-- Tags --------------------------------------------------------+-- cata+sem_Tags :: Tags  ->+            T_Tags +sem_Tags list  =+    (Prelude.foldr sem_Tags_Cons sem_Tags_Nil (Prelude.map sem_Tag list) )+-- semantic domain+type T_Tags  = ( AbcFiles)+sem_Tags_Cons :: T_Tag  ->+                 T_Tags  ->+                 T_Tags +sem_Tags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 26 "src/ExtractAbc.ag" #-}+                      _hdIoutput ++ _tlIoutput+                      {-# LINE 5242 "src/ExtractAbc.hs" #-}+                      )) of+               { _lhsOoutput | _lhsOoutput `seq` (True) ->+               ( _lhsOoutput) }) }) })+sem_Tags_Nil :: T_Tags +sem_Tags_Nil  =+    (case (({-# LINE 26 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 5250 "src/ExtractAbc.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- Trait -------------------------------------------------------+-- cata+sem_Trait :: Trait  ->+             T_Trait +sem_Trait (Trait_Trait _name _data _attrs _meta )  =+    (sem_Trait_Trait _name (sem_TraitData _data ) (sem_TraitAttrs _attrs ) (sem_TraitMeta _meta ) )+-- semantic domain+type T_Trait  = ( Trait )+sem_Trait_Trait :: Word32 ->+                   T_TraitData  ->+                   T_TraitAttrs  ->+                   T_TraitMeta  ->+                   T_Trait +sem_Trait_Trait name_ data_ attrs_ meta_  =+    (case (meta_ ) of+     { ( _metaIself) | True ->+         (case (attrs_ ) of+          { ( _attrsIself) | True ->+              (case (data_ ) of+               { ( _dataIself) | True ->+                   (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                           Trait_Trait name_ _dataIself _attrsIself _metaIself+                           {-# LINE 5276 "src/ExtractAbc.hs" #-}+                           )) of+                    { _self | _self `seq` (True) ->+                    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                            _self+                            {-# LINE 5281 "src/ExtractAbc.hs" #-}+                            )) of+                     { _lhsOself | _lhsOself `seq` (True) ->+                     ( _lhsOself) }) }) }) }) })+-- TraitAttr ---------------------------------------------------+-- cata+sem_TraitAttr :: TraitAttr  ->+                 T_TraitAttr +sem_TraitAttr (TraitAttr_Final )  =+    (sem_TraitAttr_Final )+sem_TraitAttr (TraitAttr_Metadata )  =+    (sem_TraitAttr_Metadata )+sem_TraitAttr (TraitAttr_Override )  =+    (sem_TraitAttr_Override )+-- semantic domain+type T_TraitAttr  = ( TraitAttr )+sem_TraitAttr_Final :: T_TraitAttr +sem_TraitAttr_Final  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitAttr_Final+            {-# LINE 5301 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5306 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitAttr_Metadata :: T_TraitAttr +sem_TraitAttr_Metadata  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitAttr_Metadata+            {-# LINE 5314 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5319 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitAttr_Override :: T_TraitAttr +sem_TraitAttr_Override  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitAttr_Override+            {-# LINE 5327 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5332 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- TraitAttrs --------------------------------------------------+-- cata+sem_TraitAttrs :: TraitAttrs  ->+                  T_TraitAttrs +sem_TraitAttrs list  =+    (Prelude.foldr sem_TraitAttrs_Cons sem_TraitAttrs_Nil (Prelude.map sem_TraitAttr list) )+-- semantic domain+type T_TraitAttrs  = ( TraitAttrs )+sem_TraitAttrs_Cons :: T_TraitAttr  ->+                       T_TraitAttrs  ->+                       T_TraitAttrs +sem_TraitAttrs_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 5354 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 5359 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_TraitAttrs_Nil :: T_TraitAttrs +sem_TraitAttrs_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 5367 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5372 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- TraitData ---------------------------------------------------+-- cata+sem_TraitData :: TraitData  ->+                 T_TraitData +sem_TraitData (TraitData_Class _slotId _class )  =+    (sem_TraitData_Class _slotId _class )+sem_TraitData (TraitData_Const _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Const _slotId _tp _vindex (sem_ValueKind _vkind ) )+sem_TraitData (TraitData_Function _dispId _method )  =+    (sem_TraitData_Function _dispId _method )+sem_TraitData (TraitData_Getter _dispId _method )  =+    (sem_TraitData_Getter _dispId _method )+sem_TraitData (TraitData_Method _dispId _method )  =+    (sem_TraitData_Method _dispId _method )+sem_TraitData (TraitData_Setter _dispId _method )  =+    (sem_TraitData_Setter _dispId _method )+sem_TraitData (TraitData_Slot _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Slot _slotId _tp _vindex (sem_ValueKind _vkind ) )+-- semantic domain+type T_TraitData  = ( TraitData )+sem_TraitData_Class :: Word32 ->+                       Word32 ->+                       T_TraitData +sem_TraitData_Class slotId_ class_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitData_Class slotId_ class_+            {-# LINE 5402 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5407 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitData_Const :: Word32 ->+                       Word32 ->+                       Word32 ->+                       T_ValueKind  ->+                       T_TraitData +sem_TraitData_Const slotId_ tp_ vindex_ vkind_  =+    (case (vkind_ ) of+     { ( _vkindIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 TraitData_Const slotId_ tp_ vindex_ _vkindIself+                 {-# LINE 5421 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 5426 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_TraitData_Function :: Word32 ->+                          Word32 ->+                          T_TraitData +sem_TraitData_Function dispId_ method_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitData_Function dispId_ method_+            {-# LINE 5436 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5441 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitData_Getter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Getter dispId_ method_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitData_Getter dispId_ method_+            {-# LINE 5451 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5456 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitData_Method :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Method dispId_ method_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitData_Method dispId_ method_+            {-# LINE 5466 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5471 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitData_Setter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Setter dispId_ method_  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitData_Setter dispId_ method_+            {-# LINE 5481 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5486 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitData_Slot :: Word32 ->+                      Word32 ->+                      Word32 ->+                      T_ValueKind  ->+                      T_TraitData +sem_TraitData_Slot slotId_ tp_ vindex_ vkind_  =+    (case (vkind_ ) of+     { ( _vkindIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 TraitData_Slot slotId_ tp_ vindex_ _vkindIself+                 {-# LINE 5500 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 5505 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+-- TraitKind ---------------------------------------------------+-- cata+sem_TraitKind :: TraitKind  ->+                 T_TraitKind +sem_TraitKind (TraitKind_Class )  =+    (sem_TraitKind_Class )+sem_TraitKind (TraitKind_Const )  =+    (sem_TraitKind_Const )+sem_TraitKind (TraitKind_Function )  =+    (sem_TraitKind_Function )+sem_TraitKind (TraitKind_Getter )  =+    (sem_TraitKind_Getter )+sem_TraitKind (TraitKind_Method )  =+    (sem_TraitKind_Method )+sem_TraitKind (TraitKind_Setter )  =+    (sem_TraitKind_Setter )+sem_TraitKind (TraitKind_Slot )  =+    (sem_TraitKind_Slot )+-- semantic domain+type T_TraitKind  = ( TraitKind )+sem_TraitKind_Class :: T_TraitKind +sem_TraitKind_Class  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitKind_Class+            {-# LINE 5533 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5538 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitKind_Const :: T_TraitKind +sem_TraitKind_Const  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitKind_Const+            {-# LINE 5546 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5551 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitKind_Function :: T_TraitKind +sem_TraitKind_Function  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitKind_Function+            {-# LINE 5559 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5564 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitKind_Getter :: T_TraitKind +sem_TraitKind_Getter  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitKind_Getter+            {-# LINE 5572 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5577 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitKind_Method :: T_TraitKind +sem_TraitKind_Method  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitKind_Method+            {-# LINE 5585 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5590 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitKind_Setter :: T_TraitKind +sem_TraitKind_Setter  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitKind_Setter+            {-# LINE 5598 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5603 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TraitKind_Slot :: T_TraitKind +sem_TraitKind_Slot  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            TraitKind_Slot+            {-# LINE 5611 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5616 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- TraitMeta ---------------------------------------------------+-- cata+sem_TraitMeta :: TraitMeta  ->+                 T_TraitMeta +sem_TraitMeta list  =+    (Prelude.foldr sem_TraitMeta_Cons sem_TraitMeta_Nil list )+-- semantic domain+type T_TraitMeta  = ( TraitMeta )+sem_TraitMeta_Cons :: Word32 ->+                      T_TraitMeta  ->+                      T_TraitMeta +sem_TraitMeta_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                 (:) hd_ _tlIself+                 {-# LINE 5636 "src/ExtractAbc.hs" #-}+                 )) of+          { _self | _self `seq` (True) ->+          (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                  _self+                  {-# LINE 5641 "src/ExtractAbc.hs" #-}+                  )) of+           { _lhsOself | _lhsOself `seq` (True) ->+           ( _lhsOself) }) }) })+sem_TraitMeta_Nil :: T_TraitMeta +sem_TraitMeta_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 5649 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5654 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- Traits ------------------------------------------------------+-- cata+sem_Traits :: Traits  ->+              T_Traits +sem_Traits list  =+    (Prelude.foldr sem_Traits_Cons sem_Traits_Nil (Prelude.map sem_Trait list) )+-- semantic domain+type T_Traits  = ( Traits )+sem_Traits_Cons :: T_Trait  ->+                   T_Traits  ->+                   T_Traits +sem_Traits_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIself) | True ->+         (case (hd_ ) of+          { ( _hdIself) | True ->+              (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                      (:) _hdIself _tlIself+                      {-# LINE 5676 "src/ExtractAbc.hs" #-}+                      )) of+               { _self | _self `seq` (True) ->+               (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+                       _self+                       {-# LINE 5681 "src/ExtractAbc.hs" #-}+                       )) of+                { _lhsOself | _lhsOself `seq` (True) ->+                ( _lhsOself) }) }) }) })+sem_Traits_Nil :: T_Traits +sem_Traits_Nil  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            []+            {-# LINE 5689 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5694 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- ValueKind ---------------------------------------------------+-- cata+sem_ValueKind :: ValueKind  ->+                 T_ValueKind +sem_ValueKind (ValueKind_Double )  =+    (sem_ValueKind_Double )+sem_ValueKind (ValueKind_Explicit )  =+    (sem_ValueKind_Explicit )+sem_ValueKind (ValueKind_False )  =+    (sem_ValueKind_False )+sem_ValueKind (ValueKind_Int )  =+    (sem_ValueKind_Int )+sem_ValueKind (ValueKind_Internal )  =+    (sem_ValueKind_Internal )+sem_ValueKind (ValueKind_Namespace )  =+    (sem_ValueKind_Namespace )+sem_ValueKind (ValueKind_Null )  =+    (sem_ValueKind_Null )+sem_ValueKind (ValueKind_Package )  =+    (sem_ValueKind_Package )+sem_ValueKind (ValueKind_Private )  =+    (sem_ValueKind_Private )+sem_ValueKind (ValueKind_Protected )  =+    (sem_ValueKind_Protected )+sem_ValueKind (ValueKind_Static )  =+    (sem_ValueKind_Static )+sem_ValueKind (ValueKind_True )  =+    (sem_ValueKind_True )+sem_ValueKind (ValueKind_UInt )  =+    (sem_ValueKind_UInt )+sem_ValueKind (ValueKind_Undefined )  =+    (sem_ValueKind_Undefined )+sem_ValueKind (ValueKind_Utf8 )  =+    (sem_ValueKind_Utf8 )+-- semantic domain+type T_ValueKind  = ( ValueKind )+sem_ValueKind_Double :: T_ValueKind +sem_ValueKind_Double  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_Double+            {-# LINE 5738 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5743 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_Explicit :: T_ValueKind +sem_ValueKind_Explicit  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_Explicit+            {-# LINE 5751 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5756 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_False :: T_ValueKind +sem_ValueKind_False  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_False+            {-# LINE 5764 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5769 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_Int :: T_ValueKind +sem_ValueKind_Int  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_Int+            {-# LINE 5777 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5782 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_Internal :: T_ValueKind +sem_ValueKind_Internal  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_Internal+            {-# LINE 5790 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5795 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_Namespace :: T_ValueKind +sem_ValueKind_Namespace  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_Namespace+            {-# LINE 5803 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5808 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_Null :: T_ValueKind +sem_ValueKind_Null  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_Null+            {-# LINE 5816 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5821 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_Package :: T_ValueKind +sem_ValueKind_Package  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_Package+            {-# LINE 5829 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5834 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_Private :: T_ValueKind +sem_ValueKind_Private  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_Private+            {-# LINE 5842 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5847 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_Protected :: T_ValueKind +sem_ValueKind_Protected  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_Protected+            {-# LINE 5855 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5860 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_Static :: T_ValueKind +sem_ValueKind_Static  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_Static+            {-# LINE 5868 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5873 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_True :: T_ValueKind +sem_ValueKind_True  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_True+            {-# LINE 5881 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5886 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_UInt :: T_ValueKind +sem_ValueKind_UInt  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_UInt+            {-# LINE 5894 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5899 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_Undefined :: T_ValueKind +sem_ValueKind_Undefined  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_Undefined+            {-# LINE 5907 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5912 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_ValueKind_Utf8 :: T_ValueKind +sem_ValueKind_Utf8  =+    (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+            ValueKind_Utf8+            {-# LINE 5920 "src/ExtractAbc.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 27 "src/ExtractAbc.ag" #-}+             _self+             {-# LINE 5925 "src/ExtractAbc.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })
+ dist/build/GenInstrLib.hs view
@@ -0,0 +1,1764 @@+++-- UUAGC 0.9.36 (src/GenInstrLib.ag)+module GenInstrLib(genInstrLib) where++{-# LINE 10 "src/GenInstrLib.ag" #-}++import Data.Word+import qualified Data.Set as Set+import Data.Set(Set)+import qualified Data.Map as Map+import Data.Map(Map)+import ProgInfo+import PrettyUtil+import SymInfo+import SymView+import Data.Monoid+import Data.Maybe+{-# LINE 20 "dist/src/sdist.27680/asil-1.2/dist/build/GenInstrLib.hs" #-}+{-# LINE 27 "src/GenInstrLib.ag" #-}++genInstrLib :: String -> SymInfo -> [SymbolTables] -> Doc+genInstrLib nm gEnv tbls = res where+  res = output_Syn_FileV syn+  syn = wrap_FileV sem inh+  inh = Inh_FileV { gEnv_Inh_FileV = gEnv, modNm_Inh_FileV = nm }+  sem = sem_FileV fil+  fil = tablesView tbls+{-# LINE 30 "dist/src/sdist.27680/asil-1.2/dist/build/GenInstrLib.hs" #-}++{-# LINE 97 "src/GenInstrLib.ag" #-}++-- | Strips the qualifier from the qualified/encoded field name+unqualField :: String -> String+unqualField [] = error "unqualField: field name empty"+unqualField nm = case break (== '˳') nm of+  (rem, []) -> last $ words $ map repl rem  -- take the last of the normal dot chars+  (_, rem)  -> tail rem  -- has the special dot char+  where repl '.' = ' '+        repl c   = c++-- | Assumes that the name is already unqualified+genFieldClass :: String -> Doc+genFieldClass nm = vert+  [ text "class K'" <> text str <+> text "a b | a -> b where"+  , nest 2 $ text "k'" <> text str <+> text ":: Key a b"+  ]+  where str = encodeNmHaskell nm++encodeNmHaskell :: String -> String+encodeNmHaskell = map repl where+  repl '.' = '\''+  repl '˳' = '\''+  repl '-' = '_'+  repl ':' = '_'+  repl '/' = '_'+  repl c = c+{-# LINE 59 "dist/src/sdist.27680/asil-1.2/dist/build/GenInstrLib.hs" #-}++{-# LINE 133 "src/GenInstrLib.ag" #-}++genClassData :: String -> Doc+genClassData nm = vert+  [ text "data T'" <> text str+  , text "t'" <> text str <+> text ":: Type" <+> text "T'" <> text str+  , text "t'" <> text str <+> text "= TypeObject" <+> text (show nm)+  ] where str = encodeNmHaskell nm+{-# LINE 69 "dist/src/sdist.27680/asil-1.2/dist/build/GenInstrLib.hs" #-}++{-# LINE 163 "src/GenInstrLib.ag" #-}++genSuper :: String -> String -> Doc+genSuper super child = text "instance IsSuper" <+> text "T'" <> text superStr <+> text "T'" <> text childStr where+  superStr = encodeNmHaskell super+  childStr = encodeNmHaskell child+{-# LINE 77 "dist/src/sdist.27680/asil-1.2/dist/build/GenInstrLib.hs" #-}++{-# LINE 207 "src/GenInstrLib.ag" #-}++genTrait :: String -> String -> Doc -> Doc -> Doc+genTrait classNm fieldNm val tp = vert+  [ text "k'" <> text strClass <> text "'" <> text strField <+> text ":: Key T'" <> text strClass <+> parens tp+  , text "k'" <> text strClass <> text "'" <> text strField <+> text "=" <+> val+  , text "instance K'" <> text strField' <+> parens (text "T'" <> text strClass) <+> parens tp <+> text "where"+  , nest 2 (text "k'" <> text strField' <+> text "=" <+> text "k'" <> text strClass <> text "'" <> text strField)+  ] where strClass  = encodeNmHaskell classNm+          strField  = encodeNmHaskell fieldNm+          fieldNm'  = unqualField fieldNm+          strField' = encodeNmHaskell fieldNm'+{-# LINE 91 "dist/src/sdist.27680/asil-1.2/dist/build/GenInstrLib.hs" #-}++{-# LINE 227 "src/GenInstrLib.ag" #-}++genMethod :: String -> Doc -> Doc -> Doc+genMethod methodNm val tp = vert+  [ text "m'" <> text strMethod <+> text "::" <+> tp+  , text "m'" <> text strMethod <+> text "="  <+> val+  ] where strMethod = encodeNmHaskell methodNm+{-# LINE 100 "dist/src/sdist.27680/asil-1.2/dist/build/GenInstrLib.hs" #-}++{-# LINE 247 "src/GenInstrLib.ag" #-}++genSigVal :: [String] -> Doc+genSigVal = foldr (\l r -> parens (text "SpecsCons" <+> text "t'" <> text (encodeNmHaskell l) <+> r)) (text "SpecsEmpty")++genSigTp :: [String] -> Doc+genSigTp = foldr (\l r -> parens (text "T'" <> text (encodeNmHaskell l) <+> text "," <+> r)) (text "()")+{-# LINE 109 "dist/src/sdist.27680/asil-1.2/dist/build/GenInstrLib.hs" #-}+-- ClassV ------------------------------------------------------+-- cata+sem_ClassV :: ClassV  ->+              T_ClassV +sem_ClassV (ClassV_Class _ref _nm _mbSuper _itfs _dynTraits _staTraits )  =+    (sem_ClassV_Class _ref (sem_NmV _nm ) (sem_MbSuperV _mbSuper ) (sem_ItfsV _itfs ) (sem_TraitsV _dynTraits ) (sem_TraitsV _staTraits ) )+-- semantic domain+type T_ClassV  = ( (Set String),(Set String),T_ClassV_1 )+type T_ClassV_1  = (Set String) ->+                   (Set String) ->+                   SymInfo ->+                   (Set String) ->+                   (Set String) ->+                   ( (Set String),(Set String),Doc)+sem_ClassV_Class :: ClassRef ->+                    T_NmV  ->+                    T_MbSuperV  ->+                    T_ItfsV  ->+                    T_TraitsV  ->+                    T_TraitsV  ->+                    T_ClassV +sem_ClassV_Class ref_ nm_ mbSuper_ itfs_ dynTraits_ staTraits_  =+    (case (staTraits_ ) of+     { ( _staTraitsIgathFields,staTraits_1) | True ->+         (case (dynTraits_ ) of+          { ( _dynTraitsIgathFields,dynTraits_1) | True ->+              (case (({-# LINE 52 "src/GenInstrLib.ag" #-}+                      _dynTraitsIgathFields `mappend` _staTraitsIgathFields+                      {-# LINE 138 "src/GenInstrLib.hs" #-}+                      )) of+               { _lhsOgathFields | _lhsOgathFields `seq` (True) ->+               (case (({-# LINE 54 "src/GenInstrLib.ag" #-}+                       mempty+                       {-# LINE 143 "src/GenInstrLib.hs" #-}+                       )) of+                { _gathTypes_augmented_syn | _gathTypes_augmented_syn `seq` (True) ->+                (case (nm_ ) of+                 { ( _nmImbStrUni) | True ->+                     (case (({-# LINE 54 "src/GenInstrLib.ag" #-}+                             maybe id Set.insert _nmImbStrUni+                             {-# LINE 150 "src/GenInstrLib.hs" #-}+                             )) of+                      { _gathTypes_augmented_f1 | _gathTypes_augmented_f1 `seq` (True) ->+                      (case (({-# LINE 54 "src/GenInstrLib.ag" #-}+                              foldr ($) _gathTypes_augmented_syn [_gathTypes_augmented_f1]+                              {-# LINE 155 "src/GenInstrLib.hs" #-}+                              )) of+                       { _lhsOgathTypes | _lhsOgathTypes `seq` (True) ->+                       (case ((let sem_ClassV_Class_1 :: T_ClassV_1 +                                   sem_ClassV_Class_1  =+                                       (\ _lhsIallFields+                                          _lhsIallTypes+                                          _lhsIgEnv+                                          _lhsInewFields+                                          _lhsInewMethods ->+                                            (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                                    _lhsInewFields+                                                    {-# LINE 167 "src/GenInstrLib.hs" #-}+                                                    )) of+                                             { _dynTraitsOnewFields | _dynTraitsOnewFields `seq` (True) ->+                                             (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                                     _lhsIgEnv+                                                     {-# LINE 172 "src/GenInstrLib.hs" #-}+                                                     )) of+                                              { _dynTraitsOgEnv | _dynTraitsOgEnv `seq` (True) ->+                                              (case (({-# LINE 149 "src/GenInstrLib.ag" #-}+                                                      maybe "{-# ClassV_Class: improper name #-}" id _nmImbStrUni+                                                      {-# LINE 177 "src/GenInstrLib.hs" #-}+                                                      )) of+                                               { _classNm | _classNm `seq` (True) ->+                                               (case (({-# LINE 147 "src/GenInstrLib.ag" #-}+                                                       _classNm+                                                       {-# LINE 182 "src/GenInstrLib.hs" #-}+                                                       )) of+                                                { _dynTraitsOclassNm | _dynTraitsOclassNm `seq` (True) ->+                                                (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                                        _lhsIallTypes+                                                        {-# LINE 187 "src/GenInstrLib.hs" #-}+                                                        )) of+                                                 { _dynTraitsOallTypes | _dynTraitsOallTypes `seq` (True) ->+                                                 (case (({-# LINE 60 "src/GenInstrLib.ag" #-}+                                                         _lhsIallFields+                                                         {-# LINE 192 "src/GenInstrLib.hs" #-}+                                                         )) of+                                                  { _dynTraitsOallFields | _dynTraitsOallFields `seq` (True) ->+                                                  (case (dynTraits_1 _dynTraitsOallFields _dynTraitsOallTypes _dynTraitsOclassNm _dynTraitsOgEnv _dynTraitsOnewFields ) of+                                                   { ( _dynTraitsInewFields,_dynTraitsIoutput) | True ->+                                                       (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                                               _dynTraitsInewFields+                                                               {-# LINE 199 "src/GenInstrLib.hs" #-}+                                                               )) of+                                                        { _staTraitsOnewFields | _staTraitsOnewFields `seq` (True) ->+                                                        (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                                                _lhsIgEnv+                                                                {-# LINE 204 "src/GenInstrLib.hs" #-}+                                                                )) of+                                                         { _staTraitsOgEnv | _staTraitsOgEnv `seq` (True) ->+                                                         (case (({-# LINE 147 "src/GenInstrLib.ag" #-}+                                                                 _classNm+                                                                 {-# LINE 209 "src/GenInstrLib.hs" #-}+                                                                 )) of+                                                          { _staTraitsOclassNm | _staTraitsOclassNm `seq` (True) ->+                                                          (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                                                  _lhsIallTypes+                                                                  {-# LINE 214 "src/GenInstrLib.hs" #-}+                                                                  )) of+                                                           { _staTraitsOallTypes | _staTraitsOallTypes `seq` (True) ->+                                                           (case (({-# LINE 60 "src/GenInstrLib.ag" #-}+                                                                   _lhsIallFields+                                                                   {-# LINE 219 "src/GenInstrLib.hs" #-}+                                                                   )) of+                                                            { _staTraitsOallFields | _staTraitsOallFields `seq` (True) ->+                                                            (case (staTraits_1 _staTraitsOallFields _staTraitsOallTypes _staTraitsOclassNm _staTraitsOgEnv _staTraitsOnewFields ) of+                                                             { ( _staTraitsInewFields,_staTraitsIoutput) | True ->+                                                                 (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                                                         _staTraitsInewFields+                                                                         {-# LINE 226 "src/GenInstrLib.hs" #-}+                                                                         )) of+                                                                  { _lhsOnewFields | _lhsOnewFields `seq` (True) ->+                                                                  (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                                                          _lhsInewMethods+                                                                          {-# LINE 231 "src/GenInstrLib.hs" #-}+                                                                          )) of+                                                                   { _lhsOnewMethods | _lhsOnewMethods `seq` (True) ->+                                                                   (case (({-# LINE 147 "src/GenInstrLib.ag" #-}+                                                                           _classNm+                                                                           {-# LINE 236 "src/GenInstrLib.hs" #-}+                                                                           )) of+                                                                    { _itfsOclassNm | _itfsOclassNm `seq` (True) ->+                                                                    (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                                                            _lhsIallTypes+                                                                            {-# LINE 241 "src/GenInstrLib.hs" #-}+                                                                            )) of+                                                                     { _itfsOallTypes | _itfsOallTypes `seq` (True) ->+                                                                     (case (({-# LINE 147 "src/GenInstrLib.ag" #-}+                                                                             _classNm+                                                                             {-# LINE 246 "src/GenInstrLib.hs" #-}+                                                                             )) of+                                                                      { _mbSuperOclassNm | _mbSuperOclassNm `seq` (True) ->+                                                                      (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                                                              _lhsIallTypes+                                                                              {-# LINE 251 "src/GenInstrLib.hs" #-}+                                                                              )) of+                                                                       { _mbSuperOallTypes | _mbSuperOallTypes `seq` (True) ->+                                                                       (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                                                               _lhsIgEnv+                                                                               {-# LINE 256 "src/GenInstrLib.hs" #-}+                                                                               )) of+                                                                        { _itfsOgEnv | _itfsOgEnv `seq` (True) ->+                                                                        (case (itfs_ _itfsOallTypes _itfsOclassNm _itfsOgEnv ) of+                                                                         { ( _itfsIoutput) | True ->+                                                                             (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                                                                     _lhsIgEnv+                                                                                     {-# LINE 263 "src/GenInstrLib.hs" #-}+                                                                                     )) of+                                                                              { _mbSuperOgEnv | _mbSuperOgEnv `seq` (True) ->+                                                                              (case (mbSuper_ _mbSuperOallTypes _mbSuperOclassNm _mbSuperOgEnv ) of+                                                                               { ( _mbSuperIoutput) | True ->+                                                                                   (case (({-# LINE 131 "src/GenInstrLib.ag" #-}+                                                                                           _mbSuperIoutput $+$ _itfsIoutput $+$ _dynTraitsIoutput $+$ _staTraitsIoutput+                                                                                           {-# LINE 270 "src/GenInstrLib.hs" #-}+                                                                                           )) of+                                                                                    { _output_augmented_syn | _output_augmented_syn `seq` (True) ->+                                                                                    (case (({-# LINE 131 "src/GenInstrLib.ag" #-}+                                                                                            maybe id (\str -> (genClassData str $+$)) _nmImbStrUni+                                                                                            {-# LINE 275 "src/GenInstrLib.hs" #-}+                                                                                            )) of+                                                                                     { _output_augmented_f1 | _output_augmented_f1 `seq` (True) ->+                                                                                     (case (({-# LINE 131 "src/GenInstrLib.ag" #-}+                                                                                             foldr ($) _output_augmented_syn [_output_augmented_f1]+                                                                                             {-# LINE 280 "src/GenInstrLib.hs" #-}+                                                                                             )) of+                                                                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                                                      ( _lhsOnewFields,_lhsOnewMethods,_lhsOoutput) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+                               in  sem_ClassV_Class_1)) of+                        { ( sem_ClassV_1) | True ->+                        ( _lhsOgathFields,_lhsOgathTypes,sem_ClassV_1) }) }) }) }) }) }) }) })+-- ClassesV ----------------------------------------------------+-- cata+sem_ClassesV :: ClassesV  ->+                T_ClassesV +sem_ClassesV list  =+    (Prelude.foldr sem_ClassesV_Cons sem_ClassesV_Nil (Prelude.map sem_ClassV list) )+-- semantic domain+type T_ClassesV  = ( (Set String),(Set String),T_ClassesV_1 )+type T_ClassesV_1  = (Set String) ->+                     (Set String) ->+                     SymInfo ->+                     (Set String) ->+                     (Set String) ->+                     ( (Set String),(Set String),Doc)+sem_ClassesV_Cons :: T_ClassV  ->+                     T_ClassesV  ->+                     T_ClassesV +sem_ClassesV_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIgathFields,_tlIgathTypes,tl_1) | True ->+         (case (hd_ ) of+          { ( _hdIgathFields,_hdIgathTypes,hd_1) | True ->+              (case (({-# LINE 52 "src/GenInstrLib.ag" #-}+                      _hdIgathFields `mappend` _tlIgathFields+                      {-# LINE 311 "src/GenInstrLib.hs" #-}+                      )) of+               { _lhsOgathFields | _lhsOgathFields `seq` (True) ->+               (case (({-# LINE 51 "src/GenInstrLib.ag" #-}+                       _hdIgathTypes `mappend` _tlIgathTypes+                       {-# LINE 316 "src/GenInstrLib.hs" #-}+                       )) of+                { _lhsOgathTypes | _lhsOgathTypes `seq` (True) ->+                (case ((let sem_ClassesV_Cons_1 :: T_ClassesV_1 +                            sem_ClassesV_Cons_1  =+                                (\ _lhsIallFields+                                   _lhsIallTypes+                                   _lhsIgEnv+                                   _lhsInewFields+                                   _lhsInewMethods ->+                                     (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                             _lhsInewFields+                                             {-# LINE 328 "src/GenInstrLib.hs" #-}+                                             )) of+                                      { _hdOnewFields | _hdOnewFields `seq` (True) ->+                                      (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                              _lhsInewMethods+                                              {-# LINE 333 "src/GenInstrLib.hs" #-}+                                              )) of+                                       { _hdOnewMethods | _hdOnewMethods `seq` (True) ->+                                       (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                               _lhsIgEnv+                                               {-# LINE 338 "src/GenInstrLib.hs" #-}+                                               )) of+                                        { _hdOgEnv | _hdOgEnv `seq` (True) ->+                                        (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                                _lhsIallTypes+                                                {-# LINE 343 "src/GenInstrLib.hs" #-}+                                                )) of+                                         { _hdOallTypes | _hdOallTypes `seq` (True) ->+                                         (case (({-# LINE 60 "src/GenInstrLib.ag" #-}+                                                 _lhsIallFields+                                                 {-# LINE 348 "src/GenInstrLib.hs" #-}+                                                 )) of+                                          { _hdOallFields | _hdOallFields `seq` (True) ->+                                          (case (hd_1 _hdOallFields _hdOallTypes _hdOgEnv _hdOnewFields _hdOnewMethods ) of+                                           { ( _hdInewFields,_hdInewMethods,_hdIoutput) | True ->+                                               (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                                       _hdInewFields+                                                       {-# LINE 355 "src/GenInstrLib.hs" #-}+                                                       )) of+                                                { _tlOnewFields | _tlOnewFields `seq` (True) ->+                                                (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                                        _hdInewMethods+                                                        {-# LINE 360 "src/GenInstrLib.hs" #-}+                                                        )) of+                                                 { _tlOnewMethods | _tlOnewMethods `seq` (True) ->+                                                 (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                                         _lhsIgEnv+                                                         {-# LINE 365 "src/GenInstrLib.hs" #-}+                                                         )) of+                                                  { _tlOgEnv | _tlOgEnv `seq` (True) ->+                                                  (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                                          _lhsIallTypes+                                                          {-# LINE 370 "src/GenInstrLib.hs" #-}+                                                          )) of+                                                   { _tlOallTypes | _tlOallTypes `seq` (True) ->+                                                   (case (({-# LINE 60 "src/GenInstrLib.ag" #-}+                                                           _lhsIallFields+                                                           {-# LINE 375 "src/GenInstrLib.hs" #-}+                                                           )) of+                                                    { _tlOallFields | _tlOallFields `seq` (True) ->+                                                    (case (tl_1 _tlOallFields _tlOallTypes _tlOgEnv _tlOnewFields _tlOnewMethods ) of+                                                     { ( _tlInewFields,_tlInewMethods,_tlIoutput) | True ->+                                                         (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                                                 _tlInewFields+                                                                 {-# LINE 382 "src/GenInstrLib.hs" #-}+                                                                 )) of+                                                          { _lhsOnewFields | _lhsOnewFields `seq` (True) ->+                                                          (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                                                  _tlInewMethods+                                                                  {-# LINE 387 "src/GenInstrLib.hs" #-}+                                                                  )) of+                                                           { _lhsOnewMethods | _lhsOnewMethods `seq` (True) ->+                                                           (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                                                   _hdIoutput $+$ _tlIoutput+                                                                   {-# LINE 392 "src/GenInstrLib.hs" #-}+                                                                   )) of+                                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                            ( _lhsOnewFields,_lhsOnewMethods,_lhsOoutput) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+                        in  sem_ClassesV_Cons_1)) of+                 { ( sem_ClassesV_1) | True ->+                 ( _lhsOgathFields,_lhsOgathTypes,sem_ClassesV_1) }) }) }) }) })+sem_ClassesV_Nil :: T_ClassesV +sem_ClassesV_Nil  =+    (case (({-# LINE 52 "src/GenInstrLib.ag" #-}+            mempty+            {-# LINE 403 "src/GenInstrLib.hs" #-}+            )) of+     { _lhsOgathFields | _lhsOgathFields `seq` (True) ->+     (case (({-# LINE 51 "src/GenInstrLib.ag" #-}+             mempty+             {-# LINE 408 "src/GenInstrLib.hs" #-}+             )) of+      { _lhsOgathTypes | _lhsOgathTypes `seq` (True) ->+      (case ((let sem_ClassesV_Nil_1 :: T_ClassesV_1 +                  sem_ClassesV_Nil_1  =+                      (\ _lhsIallFields+                         _lhsIallTypes+                         _lhsIgEnv+                         _lhsInewFields+                         _lhsInewMethods ->+                           (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                   _lhsInewFields+                                   {-# LINE 420 "src/GenInstrLib.hs" #-}+                                   )) of+                            { _lhsOnewFields | _lhsOnewFields `seq` (True) ->+                            (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                    _lhsInewMethods+                                    {-# LINE 425 "src/GenInstrLib.hs" #-}+                                    )) of+                             { _lhsOnewMethods | _lhsOnewMethods `seq` (True) ->+                             (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                     empty+                                     {-# LINE 430 "src/GenInstrLib.hs" #-}+                                     )) of+                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                              ( _lhsOnewFields,_lhsOnewMethods,_lhsOoutput) }) }) }))+              in  sem_ClassesV_Nil_1)) of+       { ( sem_ClassesV_1) | True ->+       ( _lhsOgathFields,_lhsOgathTypes,sem_ClassesV_1) }) }) })+-- FileV -------------------------------------------------------+-- cata+sem_FileV :: FileV  ->+             T_FileV +sem_FileV (FileV_File _tables )  =+    (sem_FileV_File (sem_TablesV _tables ) )+-- semantic domain+type T_FileV  = SymInfo ->+                String ->+                ( Doc)+data Inh_FileV  = Inh_FileV {gEnv_Inh_FileV :: !(SymInfo),modNm_Inh_FileV :: !(String)}+data Syn_FileV  = Syn_FileV {output_Syn_FileV :: !(Doc)}+wrap_FileV :: T_FileV  ->+              Inh_FileV  ->+              Syn_FileV +wrap_FileV sem (Inh_FileV _lhsIgEnv _lhsImodNm )  =+    (let ( _lhsOoutput) | True = sem _lhsIgEnv _lhsImodNm +     in  (Syn_FileV _lhsOoutput ))+sem_FileV_File :: T_TablesV  ->+                  T_FileV +sem_FileV_File tables_  =+    (\ _lhsIgEnv+       _lhsImodNm ->+         (case (({-# LINE 266 "src/GenInstrLib.ag" #-}+                 Set.empty+                 {-# LINE 462 "src/GenInstrLib.hs" #-}+                 )) of+          { _tablesOnewMethods | _tablesOnewMethods `seq` (True) ->+          (case (({-# LINE 265 "src/GenInstrLib.ag" #-}+                  Set.empty+                  {-# LINE 467 "src/GenInstrLib.hs" #-}+                  )) of+           { _tablesOnewFields | _tablesOnewFields `seq` (True) ->+           (case (tables_ ) of+            { ( _tablesIgathFields,_tablesIgathTypes,tables_1) | True ->+                (case (({-# LINE 94 "src/GenInstrLib.ag" #-}+                        Set.toList $ Set.difference (Set.map unqualField _tablesIgathFields) (Set.map unqualField $ allFields _lhsIgEnv)+                        {-# LINE 474 "src/GenInstrLib.hs" #-}+                        )) of+                 { _newFields | _newFields `seq` (True) ->+                 (case (({-# LINE 95 "src/GenInstrLib.ag" #-}+                         vert $ map genFieldClass _newFields+                         {-# LINE 479 "src/GenInstrLib.hs" #-}+                         )) of+                  { _fieldsOutput | _fieldsOutput `seq` (True) ->+                  (case (({-# LINE 63 "src/GenInstrLib.ag" #-}+                          _tablesIgathTypes `mappend` (allTypes _lhsIgEnv)+                          {-# LINE 484 "src/GenInstrLib.hs" #-}+                          )) of+                   { _tablesOallTypes | _tablesOallTypes `seq` (True) ->+                   (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                           _lhsIgEnv+                           {-# LINE 489 "src/GenInstrLib.hs" #-}+                           )) of+                    { _tablesOgEnv | _tablesOgEnv `seq` (True) ->+                    (case (({-# LINE 64 "src/GenInstrLib.ag" #-}+                            _tablesIgathFields `mappend` (allFields _lhsIgEnv)+                            {-# LINE 494 "src/GenInstrLib.hs" #-}+                            )) of+                     { _tablesOallFields | _tablesOallFields `seq` (True) ->+                     (case (tables_1 _tablesOallFields _tablesOallTypes _tablesOgEnv _tablesOnewFields _tablesOnewMethods ) of+                      { ( _tablesInewFields,_tablesInewMethods,_tablesIoutput) | True ->+                          (case (({-# LINE 42 "src/GenInstrLib.ag" #-}+                                  vert [ text "{-# LANGUAGE EmptyDataDecls, MultiParamTypeClasses, FunctionalDependencies, TypeSynonymInstances, OverlappingInstances, FlexibleInstances #-}"+                                       , text "module" <+> text _lhsImodNm <+> text "where"+                                       , text "import Instr"+                                       , text "import InstrBaseLib"+                                       , (vert $ map (\m -> text "import" <+> text m) $ Set.toList $ allModules _lhsIgEnv)+                                       , _fieldsOutput+                                       , _tablesIoutput ]+                                  {-# LINE 507 "src/GenInstrLib.hs" #-}+                                  )) of+                           { _lhsOoutput | _lhsOoutput `seq` (True) ->+                           ( _lhsOoutput) }) }) }) }) }) }) }) }) }) }))+-- ItfV --------------------------------------------------------+-- cata+sem_ItfV :: ItfV  ->+            T_ItfV +sem_ItfV (ItfV_Itf _tp )  =+    (sem_ItfV_Itf (sem_TypeV _tp ) )+-- semantic domain+type T_ItfV  = (Set String) ->+               String ->+               SymInfo ->+               ( Doc)+sem_ItfV_Itf :: T_TypeV  ->+                T_ItfV +sem_ItfV_Itf tp_  =+    (\ _lhsIallTypes+       _lhsIclassNm+       _lhsIgEnv ->+         (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                 _lhsIallTypes+                 {-# LINE 530 "src/GenInstrLib.hs" #-}+                 )) of+          { _tpOallTypes | _tpOallTypes `seq` (True) ->+          (case (({-# LINE 159 "src/GenInstrLib.ag" #-}+                  empty+                  {-# LINE 535 "src/GenInstrLib.hs" #-}+                  )) of+           { _output_augmented_syn | _output_augmented_syn `seq` (True) ->+           (case (tp_ _tpOallTypes ) of+            { ( _tpImbStrUni,_tpIstrAnnot,_tpIstrUni,_tpItpKnown) | True ->+                (case (({-# LINE 158 "src/GenInstrLib.ag" #-}+                        maybe "{-# ItfV_Itf: improper name #-}" id _tpImbStrUni+                        {-# LINE 542 "src/GenInstrLib.hs" #-}+                        )) of+                 { _super | _super `seq` (True) ->+                 (case (({-# LINE 159 "src/GenInstrLib.ag" #-}+                         if _tpItpKnown+                         then (genSuper _super     _lhsIclassNm $+$)+                         else id+                         {-# LINE 549 "src/GenInstrLib.hs" #-}+                         )) of+                  { _output_augmented_f1 | _output_augmented_f1 `seq` (True) ->+                  (case (({-# LINE 159 "src/GenInstrLib.ag" #-}+                          foldr ($) _output_augmented_syn [_output_augmented_f1]+                          {-# LINE 554 "src/GenInstrLib.hs" #-}+                          )) of+                   { _lhsOoutput | _lhsOoutput `seq` (True) ->+                   ( _lhsOoutput) }) }) }) }) }) }))+-- ItfsV -------------------------------------------------------+-- cata+sem_ItfsV :: ItfsV  ->+             T_ItfsV +sem_ItfsV list  =+    (Prelude.foldr sem_ItfsV_Cons sem_ItfsV_Nil (Prelude.map sem_ItfV list) )+-- semantic domain+type T_ItfsV  = (Set String) ->+                String ->+                SymInfo ->+                ( Doc)+sem_ItfsV_Cons :: T_ItfV  ->+                  T_ItfsV  ->+                  T_ItfsV +sem_ItfsV_Cons hd_ tl_  =+    (\ _lhsIallTypes+       _lhsIclassNm+       _lhsIgEnv ->+         (case (({-# LINE 147 "src/GenInstrLib.ag" #-}+                 _lhsIclassNm+                 {-# LINE 578 "src/GenInstrLib.hs" #-}+                 )) of+          { _tlOclassNm | _tlOclassNm `seq` (True) ->+          (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                  _lhsIallTypes+                  {-# LINE 583 "src/GenInstrLib.hs" #-}+                  )) of+           { _tlOallTypes | _tlOallTypes `seq` (True) ->+           (case (({-# LINE 147 "src/GenInstrLib.ag" #-}+                   _lhsIclassNm+                   {-# LINE 588 "src/GenInstrLib.hs" #-}+                   )) of+            { _hdOclassNm | _hdOclassNm `seq` (True) ->+            (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                    _lhsIallTypes+                    {-# LINE 593 "src/GenInstrLib.hs" #-}+                    )) of+             { _hdOallTypes | _hdOallTypes `seq` (True) ->+             (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                     _lhsIgEnv+                     {-# LINE 598 "src/GenInstrLib.hs" #-}+                     )) of+              { _tlOgEnv | _tlOgEnv `seq` (True) ->+              (case (tl_ _tlOallTypes _tlOclassNm _tlOgEnv ) of+               { ( _tlIoutput) | True ->+                   (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                           _lhsIgEnv+                           {-# LINE 605 "src/GenInstrLib.hs" #-}+                           )) of+                    { _hdOgEnv | _hdOgEnv `seq` (True) ->+                    (case (hd_ _hdOallTypes _hdOclassNm _hdOgEnv ) of+                     { ( _hdIoutput) | True ->+                         (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                 _hdIoutput $+$ _tlIoutput+                                 {-# LINE 612 "src/GenInstrLib.hs" #-}+                                 )) of+                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                          ( _lhsOoutput) }) }) }) }) }) }) }) }) }))+sem_ItfsV_Nil :: T_ItfsV +sem_ItfsV_Nil  =+    (\ _lhsIallTypes+       _lhsIclassNm+       _lhsIgEnv ->+         (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                 empty+                 {-# LINE 623 "src/GenInstrLib.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- MbNmV -------------------------------------------------------+-- cata+sem_MbNmV :: MbNmV  ->+             T_MbNmV +sem_MbNmV (Prelude.Just x )  =+    (sem_MbNmV_Just (sem_NmV x ) )+sem_MbNmV Prelude.Nothing  =+    sem_MbNmV_Nothing+-- semantic domain+type T_MbNmV  = ( )+sem_MbNmV_Just :: T_NmV  ->+                  T_MbNmV +sem_MbNmV_Just just_  =+    ( )+sem_MbNmV_Nothing :: T_MbNmV +sem_MbNmV_Nothing  =+    ( )+-- MbStrV ------------------------------------------------------+-- cata+sem_MbStrV :: MbStrV  ->+              T_MbStrV +sem_MbStrV (Prelude.Just x )  =+    (sem_MbStrV_Just (sem_StrV x ) )+sem_MbStrV Prelude.Nothing  =+    sem_MbStrV_Nothing+-- semantic domain+type T_MbStrV  = ( (Maybe String))+sem_MbStrV_Just :: T_StrV  ->+                   T_MbStrV +sem_MbStrV_Just just_  =+    (case (just_ ) of+     { ( _justIstr) | True ->+         (case (({-# LINE 86 "src/GenInstrLib.ag" #-}+                 Just _justIstr+                 {-# LINE 661 "src/GenInstrLib.hs" #-}+                 )) of+          { _lhsOmbStrUni | _lhsOmbStrUni `seq` (True) ->+          ( _lhsOmbStrUni) }) })+sem_MbStrV_Nothing :: T_MbStrV +sem_MbStrV_Nothing  =+    (case (({-# LINE 85 "src/GenInstrLib.ag" #-}+            Nothing+            {-# LINE 669 "src/GenInstrLib.hs" #-}+            )) of+     { _lhsOmbStrUni | _lhsOmbStrUni `seq` (True) ->+     ( _lhsOmbStrUni) })+-- MbSuperV ----------------------------------------------------+-- cata+sem_MbSuperV :: MbSuperV  ->+                T_MbSuperV +sem_MbSuperV (Prelude.Just x )  =+    (sem_MbSuperV_Just (sem_SuperV x ) )+sem_MbSuperV Prelude.Nothing  =+    sem_MbSuperV_Nothing+-- semantic domain+type T_MbSuperV  = (Set String) ->+                   String ->+                   SymInfo ->+                   ( Doc)+sem_MbSuperV_Just :: T_SuperV  ->+                     T_MbSuperV +sem_MbSuperV_Just just_  =+    (\ _lhsIallTypes+       _lhsIclassNm+       _lhsIgEnv ->+         (case (({-# LINE 147 "src/GenInstrLib.ag" #-}+                 _lhsIclassNm+                 {-# LINE 694 "src/GenInstrLib.hs" #-}+                 )) of+          { _justOclassNm | _justOclassNm `seq` (True) ->+          (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                  _lhsIallTypes+                  {-# LINE 699 "src/GenInstrLib.hs" #-}+                  )) of+           { _justOallTypes | _justOallTypes `seq` (True) ->+           (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                   _lhsIgEnv+                   {-# LINE 704 "src/GenInstrLib.hs" #-}+                   )) of+            { _justOgEnv | _justOgEnv `seq` (True) ->+            (case (just_ _justOallTypes _justOclassNm _justOgEnv ) of+             { ( _justIoutput) | True ->+                 (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                         _justIoutput+                         {-# LINE 711 "src/GenInstrLib.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOoutput) }) }) }) }) }))+sem_MbSuperV_Nothing :: T_MbSuperV +sem_MbSuperV_Nothing  =+    (\ _lhsIallTypes+       _lhsIclassNm+       _lhsIgEnv ->+         (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                 empty+                 {-# LINE 722 "src/GenInstrLib.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- MethodV -----------------------------------------------------+-- cata+sem_MethodV :: MethodV  ->+               T_MethodV +sem_MethodV (MethodV_Method _mbNm _sig )  =+    (sem_MethodV_Method (sem_MbStrV _mbNm ) (sem_SigV _sig ) )+-- semantic domain+type T_MethodV  = (Set String) ->+                  SymInfo ->+                  (Set String) ->+                  ( (Set String),Doc)+sem_MethodV_Method :: T_MbStrV  ->+                      T_SigV  ->+                      T_MethodV +sem_MethodV_Method mbNm_ sig_  =+    (\ _lhsIallTypes+       _lhsIgEnv+       _lhsInewMethods ->+         (case (({-# LINE 272 "src/GenInstrLib.ag" #-}+                 _lhsInewMethods+                 {-# LINE 746 "src/GenInstrLib.hs" #-}+                 )) of+          { _newMethods_augmented_syn | _newMethods_augmented_syn `seq` (True) ->+          (case (mbNm_ ) of+           { ( _mbNmImbStrUni) | True ->+               (case (({-# LINE 272 "src/GenInstrLib.ag" #-}+                       maybe id Set.insert _mbNmImbStrUni+                       {-# LINE 753 "src/GenInstrLib.hs" #-}+                       )) of+                { _newMethods_augmented_f1 | _newMethods_augmented_f1 `seq` (True) ->+                (case (({-# LINE 272 "src/GenInstrLib.ag" #-}+                        foldr ($) _newMethods_augmented_syn [_newMethods_augmented_f1]+                        {-# LINE 758 "src/GenInstrLib.hs" #-}+                        )) of+                 { _lhsOnewMethods | _lhsOnewMethods `seq` (True) ->+                 (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                         _lhsIallTypes+                         {-# LINE 763 "src/GenInstrLib.hs" #-}+                         )) of+                  { _sigOallTypes | _sigOallTypes `seq` (True) ->+                  (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                          _lhsIgEnv+                          {-# LINE 768 "src/GenInstrLib.hs" #-}+                          )) of+                   { _sigOgEnv | _sigOgEnv `seq` (True) ->+                   (case (sig_ _sigOallTypes _sigOgEnv ) of+                    { ( _sigIoutput,_sigItpSig) | True ->+                        (case (({-# LINE 221 "src/GenInstrLib.ag" #-}+                                maybe empty (\nm -> vert [ text "-- method" <+> text (show nm)+                                                         , if nm `Set.member` _lhsInewMethods+                                                           then text "-- DUPLICATED method declaration"+                                                           else genMethod nm _sigIoutput _sigItpSig+                                                         ]) _mbNmImbStrUni+                                {-# LINE 779 "src/GenInstrLib.hs" #-}+                                )) of+                         { _lhsOoutput | _lhsOoutput `seq` (True) ->+                         ( _lhsOnewMethods,_lhsOoutput) }) }) }) }) }) }) }) }))+-- MethodsV ----------------------------------------------------+-- cata+sem_MethodsV :: MethodsV  ->+                T_MethodsV +sem_MethodsV list  =+    (Prelude.foldr sem_MethodsV_Cons sem_MethodsV_Nil (Prelude.map sem_MethodV list) )+-- semantic domain+type T_MethodsV  = (Set String) ->+                   SymInfo ->+                   (Set String) ->+                   ( (Set String),Doc)+sem_MethodsV_Cons :: T_MethodV  ->+                     T_MethodsV  ->+                     T_MethodsV +sem_MethodsV_Cons hd_ tl_  =+    (\ _lhsIallTypes+       _lhsIgEnv+       _lhsInewMethods ->+         (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                 _lhsInewMethods+                 {-# LINE 803 "src/GenInstrLib.hs" #-}+                 )) of+          { _hdOnewMethods | _hdOnewMethods `seq` (True) ->+          (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                  _lhsIgEnv+                  {-# LINE 808 "src/GenInstrLib.hs" #-}+                  )) of+           { _hdOgEnv | _hdOgEnv `seq` (True) ->+           (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                   _lhsIallTypes+                   {-# LINE 813 "src/GenInstrLib.hs" #-}+                   )) of+            { _hdOallTypes | _hdOallTypes `seq` (True) ->+            (case (hd_ _hdOallTypes _hdOgEnv _hdOnewMethods ) of+             { ( _hdInewMethods,_hdIoutput) | True ->+                 (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                         _hdInewMethods+                         {-# LINE 820 "src/GenInstrLib.hs" #-}+                         )) of+                  { _tlOnewMethods | _tlOnewMethods `seq` (True) ->+                  (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                          _lhsIgEnv+                          {-# LINE 825 "src/GenInstrLib.hs" #-}+                          )) of+                   { _tlOgEnv | _tlOgEnv `seq` (True) ->+                   (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                           _lhsIallTypes+                           {-# LINE 830 "src/GenInstrLib.hs" #-}+                           )) of+                    { _tlOallTypes | _tlOallTypes `seq` (True) ->+                    (case (tl_ _tlOallTypes _tlOgEnv _tlOnewMethods ) of+                     { ( _tlInewMethods,_tlIoutput) | True ->+                         (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                 _tlInewMethods+                                 {-# LINE 837 "src/GenInstrLib.hs" #-}+                                 )) of+                          { _lhsOnewMethods | _lhsOnewMethods `seq` (True) ->+                          (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                  _hdIoutput $+$ _tlIoutput+                                  {-# LINE 842 "src/GenInstrLib.hs" #-}+                                  )) of+                           { _lhsOoutput | _lhsOoutput `seq` (True) ->+                           ( _lhsOnewMethods,_lhsOoutput) }) }) }) }) }) }) }) }) }) }))+sem_MethodsV_Nil :: T_MethodsV +sem_MethodsV_Nil  =+    (\ _lhsIallTypes+       _lhsIgEnv+       _lhsInewMethods ->+         (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                 _lhsInewMethods+                 {-# LINE 853 "src/GenInstrLib.hs" #-}+                 )) of+          { _lhsOnewMethods | _lhsOnewMethods `seq` (True) ->+          (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                  empty+                  {-# LINE 858 "src/GenInstrLib.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOnewMethods,_lhsOoutput) }) }))+-- NmV ---------------------------------------------------------+-- cata+sem_NmV :: NmV  ->+           T_NmV +sem_NmV (NmV_Other _id )  =+    (sem_NmV_Other _id )+sem_NmV (NmV_Qual _id _ns _nm )  =+    (sem_NmV_Qual _id (sem_NsV _ns ) (sem_StrV _nm ) )+sem_NmV (NmV_Quals _id _set _nm )  =+    (sem_NmV_Quals _id (sem_NsSetV _set ) (sem_StrV _nm ) )+-- semantic domain+type T_NmV  = ( (Maybe String))+sem_NmV_Other :: NameRef ->+                 T_NmV +sem_NmV_Other id_  =+    (case (({-# LINE 78 "src/GenInstrLib.ag" #-}+            Nothing+            {-# LINE 879 "src/GenInstrLib.hs" #-}+            )) of+     { _lhsOmbStrUni | _lhsOmbStrUni `seq` (True) ->+     ( _lhsOmbStrUni) })+sem_NmV_Qual :: NameRef ->+                T_NsV  ->+                T_StrV  ->+                T_NmV +sem_NmV_Qual id_ ns_ nm_  =+    (case (ns_ ) of+     { ( _nsIstr) | True ->+         (case (({-# LINE 74 "src/GenInstrLib.ag" #-}+                 null _nsIstr+                 {-# LINE 892 "src/GenInstrLib.hs" #-}+                 )) of+          { _noPrefix | _noPrefix `seq` (True) ->+          (case (nm_ ) of+           { ( _nmIstr) | True ->+               (case (({-# LINE 75 "src/GenInstrLib.ag" #-}+                       if _noPrefix     then _nmIstr else _nsIstr ++ "˳" ++ _nmIstr+                       {-# LINE 899 "src/GenInstrLib.hs" #-}+                       )) of+                { _strUni | _strUni `seq` (True) ->+                (case (({-# LINE 76 "src/GenInstrLib.ag" #-}+                        Just _strUni+                        {-# LINE 904 "src/GenInstrLib.hs" #-}+                        )) of+                 { _lhsOmbStrUni | _lhsOmbStrUni `seq` (True) ->+                 ( _lhsOmbStrUni) }) }) }) }) })+sem_NmV_Quals :: NameRef ->+                 T_NsSetV  ->+                 T_StrV  ->+                 T_NmV +sem_NmV_Quals id_ set_ nm_  =+    (case (({-# LINE 77 "src/GenInstrLib.ag" #-}+            Nothing+            {-# LINE 915 "src/GenInstrLib.hs" #-}+            )) of+     { _lhsOmbStrUni | _lhsOmbStrUni `seq` (True) ->+     ( _lhsOmbStrUni) })+-- NmsV --------------------------------------------------------+-- cata+sem_NmsV :: NmsV  ->+            T_NmsV +sem_NmsV list  =+    (Prelude.foldr sem_NmsV_Cons sem_NmsV_Nil (Prelude.map sem_NmV list) )+-- semantic domain+type T_NmsV  = ( )+sem_NmsV_Cons :: T_NmV  ->+                 T_NmsV  ->+                 T_NmsV +sem_NmsV_Cons hd_ tl_  =+    ( )+sem_NmsV_Nil :: T_NmsV +sem_NmsV_Nil  =+    ( )+-- NsSetV ------------------------------------------------------+-- cata+sem_NsSetV :: NsSetV  ->+              T_NsSetV +sem_NsSetV (NsSetV_Set _id _spaces )  =+    (sem_NsSetV_Set _id (sem_NssV _spaces ) )+-- semantic domain+type T_NsSetV  = ( )+sem_NsSetV_Set :: NamesetRef ->+                  T_NssV  ->+                  T_NsSetV +sem_NsSetV_Set id_ spaces_  =+    ( )+-- NsV ---------------------------------------------------------+-- cata+sem_NsV :: NsV  ->+           T_NsV +sem_NsV (NsV_Ns _id _nm )  =+    (sem_NsV_Ns _id (sem_StrV _nm ) )+-- semantic domain+type T_NsV  = ( String)+sem_NsV_Ns :: NamespaceRef ->+              T_StrV  ->+              T_NsV +sem_NsV_Ns id_ nm_  =+    (case (nm_ ) of+     { ( _nmIstr) | True ->+         (case (({-# LINE 80 "src/GenInstrLib.ag" #-}+                 _nmIstr+                 {-# LINE 964 "src/GenInstrLib.hs" #-}+                 )) of+          { _lhsOstr | _lhsOstr `seq` (True) ->+          ( _lhsOstr) }) })+-- NssV --------------------------------------------------------+-- cata+sem_NssV :: NssV  ->+            T_NssV +sem_NssV list  =+    (Prelude.foldr sem_NssV_Cons sem_NssV_Nil (Prelude.map sem_NsV list) )+-- semantic domain+type T_NssV  = ( )+sem_NssV_Cons :: T_NsV  ->+                 T_NssV  ->+                 T_NssV +sem_NssV_Cons hd_ tl_  =+    ( )+sem_NssV_Nil :: T_NssV +sem_NssV_Nil  =+    ( )+-- ParamV ------------------------------------------------------+-- cata+sem_ParamV :: ParamV  ->+              T_ParamV +sem_ParamV (ParamV_Param _mbNm _tp )  =+    (sem_ParamV_Param (sem_MbStrV _mbNm ) (sem_TypeV _tp ) )+-- semantic domain+type T_ParamV  = (Set String) ->+                 ( ([String]))+sem_ParamV_Param :: T_MbStrV  ->+                    T_TypeV  ->+                    T_ParamV +sem_ParamV_Param mbNm_ tp_  =+    (\ _lhsIallTypes ->+         (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                 _lhsIallTypes+                 {-# LINE 1000 "src/GenInstrLib.hs" #-}+                 )) of+          { _tpOallTypes | _tpOallTypes `seq` (True) ->+          (case (tp_ _tpOallTypes ) of+           { ( _tpImbStrUni,_tpIstrAnnot,_tpIstrUni,_tpItpKnown) | True ->+               (case (({-# LINE 245 "src/GenInstrLib.ag" #-}+                       [_tpIstrUni]+                       {-# LINE 1007 "src/GenInstrLib.hs" #-}+                       )) of+                { _lhsOstrsUni | _lhsOstrsUni `seq` (True) ->+                ( _lhsOstrsUni) }) }) }))+-- ParamsV -----------------------------------------------------+-- cata+sem_ParamsV :: ParamsV  ->+               T_ParamsV +sem_ParamsV list  =+    (Prelude.foldr sem_ParamsV_Cons sem_ParamsV_Nil (Prelude.map sem_ParamV list) )+-- semantic domain+type T_ParamsV  = (Set String) ->+                  ( ([String]))+sem_ParamsV_Cons :: T_ParamV  ->+                    T_ParamsV  ->+                    T_ParamsV +sem_ParamsV_Cons hd_ tl_  =+    (\ _lhsIallTypes ->+         (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                 _lhsIallTypes+                 {-# LINE 1027 "src/GenInstrLib.hs" #-}+                 )) of+          { _tlOallTypes | _tlOallTypes `seq` (True) ->+          (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                  _lhsIallTypes+                  {-# LINE 1032 "src/GenInstrLib.hs" #-}+                  )) of+           { _hdOallTypes | _hdOallTypes `seq` (True) ->+           (case (tl_ _tlOallTypes ) of+            { ( _tlIstrsUni) | True ->+                (case (hd_ _hdOallTypes ) of+                 { ( _hdIstrsUni) | True ->+                     (case (({-# LINE 242 "src/GenInstrLib.ag" #-}+                             _hdIstrsUni ++ _tlIstrsUni+                             {-# LINE 1041 "src/GenInstrLib.hs" #-}+                             )) of+                      { _lhsOstrsUni | _lhsOstrsUni `seq` (True) ->+                      ( _lhsOstrsUni) }) }) }) }) }))+sem_ParamsV_Nil :: T_ParamsV +sem_ParamsV_Nil  =+    (\ _lhsIallTypes ->+         (case (({-# LINE 242 "src/GenInstrLib.ag" #-}+                 []+                 {-# LINE 1050 "src/GenInstrLib.hs" #-}+                 )) of+          { _lhsOstrsUni | _lhsOstrsUni `seq` (True) ->+          ( _lhsOstrsUni) }))+-- SigV --------------------------------------------------------+-- cata+sem_SigV :: SigV  ->+            T_SigV +sem_SigV (SigV_Sig _id _ret _params )  =+    (sem_SigV_Sig _id (sem_TypeV _ret ) (sem_ParamsV _params ) )+-- semantic domain+type T_SigV  = (Set String) ->+               SymInfo ->+               ( Doc,Doc)+sem_SigV_Sig :: MethodRef ->+                T_TypeV  ->+                T_ParamsV  ->+                T_SigV +sem_SigV_Sig id_ ret_ params_  =+    (\ _lhsIallTypes+       _lhsIgEnv ->+         (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                 _lhsIallTypes+                 {-# LINE 1073 "src/GenInstrLib.hs" #-}+                 )) of+          { _paramsOallTypes | _paramsOallTypes `seq` (True) ->+          (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                  _lhsIallTypes+                  {-# LINE 1078 "src/GenInstrLib.hs" #-}+                  )) of+           { _retOallTypes | _retOallTypes `seq` (True) ->+           (case (params_ _paramsOallTypes ) of+            { ( _paramsIstrsUni) | True ->+                (case (ret_ _retOallTypes ) of+                 { ( _retImbStrUni,_retIstrAnnot,_retIstrUni,_retItpKnown) | True ->+                     (case (({-# LINE 239 "src/GenInstrLib.ag" #-}+                             text "FunSig"  <+> parens (genSigVal _paramsIstrsUni)  <+> parens (genSigVal [_retIstrUni])+                             {-# LINE 1087 "src/GenInstrLib.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      (case (({-# LINE 240 "src/GenInstrLib.ag" #-}+                              text "FunSpec" <+> parens (genSigTp _paramsIstrsUni)   <+> parens (genSigTp [_retIstrUni])+                              {-# LINE 1092 "src/GenInstrLib.hs" #-}+                              )) of+                       { _lhsOtpSig | _lhsOtpSig `seq` (True) ->+                       ( _lhsOoutput,_lhsOtpSig) }) }) }) }) }) }))+-- StrV --------------------------------------------------------+-- cata+sem_StrV :: StrV  ->+            T_StrV +sem_StrV (StrV_Str _id _val )  =+    (sem_StrV_Str _id _val )+-- semantic domain+type T_StrV  = ( String)+sem_StrV_Str :: StringRef ->+                String ->+                T_StrV +sem_StrV_Str id_ val_  =+    (case (({-# LINE 81 "src/GenInstrLib.ag" #-}+            val_+            {-# LINE 1110 "src/GenInstrLib.hs" #-}+            )) of+     { _lhsOstr | _lhsOstr `seq` (True) ->+     ( _lhsOstr) })+-- SuperV ------------------------------------------------------+-- cata+sem_SuperV :: SuperV  ->+              T_SuperV +sem_SuperV (SuperV_Super _tp )  =+    (sem_SuperV_Super (sem_TypeV _tp ) )+-- semantic domain+type T_SuperV  = (Set String) ->+                 String ->+                 SymInfo ->+                 ( Doc)+sem_SuperV_Super :: T_TypeV  ->+                    T_SuperV +sem_SuperV_Super tp_  =+    (\ _lhsIallTypes+       _lhsIclassNm+       _lhsIgEnv ->+         (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                 _lhsIallTypes+                 {-# LINE 1133 "src/GenInstrLib.hs" #-}+                 )) of+          { _tpOallTypes | _tpOallTypes `seq` (True) ->+          (case (({-# LINE 153 "src/GenInstrLib.ag" #-}+                  empty+                  {-# LINE 1138 "src/GenInstrLib.hs" #-}+                  )) of+           { _output_augmented_syn | _output_augmented_syn `seq` (True) ->+           (case (tp_ _tpOallTypes ) of+            { ( _tpImbStrUni,_tpIstrAnnot,_tpIstrUni,_tpItpKnown) | True ->+                (case (({-# LINE 152 "src/GenInstrLib.ag" #-}+                        maybe "{-# SuperV_Super: improper name #-}" id _tpImbStrUni+                        {-# LINE 1145 "src/GenInstrLib.hs" #-}+                        )) of+                 { _super | _super `seq` (True) ->+                 (case (({-# LINE 153 "src/GenInstrLib.ag" #-}+                         if _tpItpKnown+                         then (genSuper _super     _lhsIclassNm $+$)+                         else id+                         {-# LINE 1152 "src/GenInstrLib.hs" #-}+                         )) of+                  { _output_augmented_f1 | _output_augmented_f1 `seq` (True) ->+                  (case (({-# LINE 153 "src/GenInstrLib.ag" #-}+                          foldr ($) _output_augmented_syn [_output_augmented_f1]+                          {-# LINE 1157 "src/GenInstrLib.hs" #-}+                          )) of+                   { _lhsOoutput | _lhsOoutput `seq` (True) ->+                   ( _lhsOoutput) }) }) }) }) }) }))+-- TableV ------------------------------------------------------+-- cata+sem_TableV :: TableV  ->+              T_TableV +sem_TableV (TableV_Table _classes _methods )  =+    (sem_TableV_Table (sem_ClassesV _classes ) (sem_MethodsV _methods ) )+-- semantic domain+type T_TableV  = ( (Set String),(Set String),T_TableV_1 )+type T_TableV_1  = (Set String) ->+                   (Set String) ->+                   SymInfo ->+                   (Set String) ->+                   (Set String) ->+                   ( (Set String),(Set String),Doc)+sem_TableV_Table :: T_ClassesV  ->+                    T_MethodsV  ->+                    T_TableV +sem_TableV_Table classes_ methods_  =+    (case (classes_ ) of+     { ( _classesIgathFields,_classesIgathTypes,classes_1) | True ->+         (case (({-# LINE 52 "src/GenInstrLib.ag" #-}+                 _classesIgathFields+                 {-# LINE 1183 "src/GenInstrLib.hs" #-}+                 )) of+          { _lhsOgathFields | _lhsOgathFields `seq` (True) ->+          (case (({-# LINE 51 "src/GenInstrLib.ag" #-}+                  _classesIgathTypes+                  {-# LINE 1188 "src/GenInstrLib.hs" #-}+                  )) of+           { _lhsOgathTypes | _lhsOgathTypes `seq` (True) ->+           (case ((let sem_TableV_Table_1 :: T_TableV_1 +                       sem_TableV_Table_1  =+                           (\ _lhsIallFields+                              _lhsIallTypes+                              _lhsIgEnv+                              _lhsInewFields+                              _lhsInewMethods ->+                                (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                        _lhsInewFields+                                        {-# LINE 1200 "src/GenInstrLib.hs" #-}+                                        )) of+                                 { _classesOnewFields | _classesOnewFields `seq` (True) ->+                                 (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                         _lhsInewMethods+                                         {-# LINE 1205 "src/GenInstrLib.hs" #-}+                                         )) of+                                  { _classesOnewMethods | _classesOnewMethods `seq` (True) ->+                                  (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                          _lhsIgEnv+                                          {-# LINE 1210 "src/GenInstrLib.hs" #-}+                                          )) of+                                   { _classesOgEnv | _classesOgEnv `seq` (True) ->+                                   (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                           _lhsIallTypes+                                           {-# LINE 1215 "src/GenInstrLib.hs" #-}+                                           )) of+                                    { _classesOallTypes | _classesOallTypes `seq` (True) ->+                                    (case (({-# LINE 60 "src/GenInstrLib.ag" #-}+                                            _lhsIallFields+                                            {-# LINE 1220 "src/GenInstrLib.hs" #-}+                                            )) of+                                     { _classesOallFields | _classesOallFields `seq` (True) ->+                                     (case (classes_1 _classesOallFields _classesOallTypes _classesOgEnv _classesOnewFields _classesOnewMethods ) of+                                      { ( _classesInewFields,_classesInewMethods,_classesIoutput) | True ->+                                          (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                                  _classesInewFields+                                                  {-# LINE 1227 "src/GenInstrLib.hs" #-}+                                                  )) of+                                           { _lhsOnewFields | _lhsOnewFields `seq` (True) ->+                                           (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                                   _classesInewMethods+                                                   {-# LINE 1232 "src/GenInstrLib.hs" #-}+                                                   )) of+                                            { _methodsOnewMethods | _methodsOnewMethods `seq` (True) ->+                                            (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                                    _lhsIgEnv+                                                    {-# LINE 1237 "src/GenInstrLib.hs" #-}+                                                    )) of+                                             { _methodsOgEnv | _methodsOgEnv `seq` (True) ->+                                             (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                                     _lhsIallTypes+                                                     {-# LINE 1242 "src/GenInstrLib.hs" #-}+                                                     )) of+                                              { _methodsOallTypes | _methodsOallTypes `seq` (True) ->+                                              (case (methods_ _methodsOallTypes _methodsOgEnv _methodsOnewMethods ) of+                                               { ( _methodsInewMethods,_methodsIoutput) | True ->+                                                   (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                                           _methodsInewMethods+                                                           {-# LINE 1249 "src/GenInstrLib.hs" #-}+                                                           )) of+                                                    { _lhsOnewMethods | _lhsOnewMethods `seq` (True) ->+                                                    (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                                            _classesIoutput $+$ _methodsIoutput+                                                            {-# LINE 1254 "src/GenInstrLib.hs" #-}+                                                            )) of+                                                     { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                     ( _lhsOnewFields,_lhsOnewMethods,_lhsOoutput) }) }) }) }) }) }) }) }) }) }) }) }) }))+                   in  sem_TableV_Table_1)) of+            { ( sem_TableV_1) | True ->+            ( _lhsOgathFields,_lhsOgathTypes,sem_TableV_1) }) }) }) })+-- TablesV -----------------------------------------------------+-- cata+sem_TablesV :: TablesV  ->+               T_TablesV +sem_TablesV list  =+    (Prelude.foldr sem_TablesV_Cons sem_TablesV_Nil (Prelude.map sem_TableV list) )+-- semantic domain+type T_TablesV  = ( (Set String),(Set String),T_TablesV_1 )+type T_TablesV_1  = (Set String) ->+                    (Set String) ->+                    SymInfo ->+                    (Set String) ->+                    (Set String) ->+                    ( (Set String),(Set String),Doc)+sem_TablesV_Cons :: T_TableV  ->+                    T_TablesV  ->+                    T_TablesV +sem_TablesV_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIgathFields,_tlIgathTypes,tl_1) | True ->+         (case (hd_ ) of+          { ( _hdIgathFields,_hdIgathTypes,hd_1) | True ->+              (case (({-# LINE 52 "src/GenInstrLib.ag" #-}+                      _hdIgathFields `mappend` _tlIgathFields+                      {-# LINE 1285 "src/GenInstrLib.hs" #-}+                      )) of+               { _lhsOgathFields | _lhsOgathFields `seq` (True) ->+               (case (({-# LINE 51 "src/GenInstrLib.ag" #-}+                       _hdIgathTypes `mappend` _tlIgathTypes+                       {-# LINE 1290 "src/GenInstrLib.hs" #-}+                       )) of+                { _lhsOgathTypes | _lhsOgathTypes `seq` (True) ->+                (case ((let sem_TablesV_Cons_1 :: T_TablesV_1 +                            sem_TablesV_Cons_1  =+                                (\ _lhsIallFields+                                   _lhsIallTypes+                                   _lhsIgEnv+                                   _lhsInewFields+                                   _lhsInewMethods ->+                                     (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                             _lhsInewFields+                                             {-# LINE 1302 "src/GenInstrLib.hs" #-}+                                             )) of+                                      { _hdOnewFields | _hdOnewFields `seq` (True) ->+                                      (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                              _lhsInewMethods+                                              {-# LINE 1307 "src/GenInstrLib.hs" #-}+                                              )) of+                                       { _hdOnewMethods | _hdOnewMethods `seq` (True) ->+                                       (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                               _lhsIgEnv+                                               {-# LINE 1312 "src/GenInstrLib.hs" #-}+                                               )) of+                                        { _hdOgEnv | _hdOgEnv `seq` (True) ->+                                        (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                                _lhsIallTypes+                                                {-# LINE 1317 "src/GenInstrLib.hs" #-}+                                                )) of+                                         { _hdOallTypes | _hdOallTypes `seq` (True) ->+                                         (case (({-# LINE 60 "src/GenInstrLib.ag" #-}+                                                 _lhsIallFields+                                                 {-# LINE 1322 "src/GenInstrLib.hs" #-}+                                                 )) of+                                          { _hdOallFields | _hdOallFields `seq` (True) ->+                                          (case (hd_1 _hdOallFields _hdOallTypes _hdOgEnv _hdOnewFields _hdOnewMethods ) of+                                           { ( _hdInewFields,_hdInewMethods,_hdIoutput) | True ->+                                               (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                                       _hdInewFields+                                                       {-# LINE 1329 "src/GenInstrLib.hs" #-}+                                                       )) of+                                                { _tlOnewFields | _tlOnewFields `seq` (True) ->+                                                (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                                        _hdInewMethods+                                                        {-# LINE 1334 "src/GenInstrLib.hs" #-}+                                                        )) of+                                                 { _tlOnewMethods | _tlOnewMethods `seq` (True) ->+                                                 (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                                         _lhsIgEnv+                                                         {-# LINE 1339 "src/GenInstrLib.hs" #-}+                                                         )) of+                                                  { _tlOgEnv | _tlOgEnv `seq` (True) ->+                                                  (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                                          _lhsIallTypes+                                                          {-# LINE 1344 "src/GenInstrLib.hs" #-}+                                                          )) of+                                                   { _tlOallTypes | _tlOallTypes `seq` (True) ->+                                                   (case (({-# LINE 60 "src/GenInstrLib.ag" #-}+                                                           _lhsIallFields+                                                           {-# LINE 1349 "src/GenInstrLib.hs" #-}+                                                           )) of+                                                    { _tlOallFields | _tlOallFields `seq` (True) ->+                                                    (case (tl_1 _tlOallFields _tlOallTypes _tlOgEnv _tlOnewFields _tlOnewMethods ) of+                                                     { ( _tlInewFields,_tlInewMethods,_tlIoutput) | True ->+                                                         (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                                                 _tlInewFields+                                                                 {-# LINE 1356 "src/GenInstrLib.hs" #-}+                                                                 )) of+                                                          { _lhsOnewFields | _lhsOnewFields `seq` (True) ->+                                                          (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                                                  _tlInewMethods+                                                                  {-# LINE 1361 "src/GenInstrLib.hs" #-}+                                                                  )) of+                                                           { _lhsOnewMethods | _lhsOnewMethods `seq` (True) ->+                                                           (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                                                   _hdIoutput $+$ _tlIoutput+                                                                   {-# LINE 1366 "src/GenInstrLib.hs" #-}+                                                                   )) of+                                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                            ( _lhsOnewFields,_lhsOnewMethods,_lhsOoutput) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+                        in  sem_TablesV_Cons_1)) of+                 { ( sem_TablesV_1) | True ->+                 ( _lhsOgathFields,_lhsOgathTypes,sem_TablesV_1) }) }) }) }) })+sem_TablesV_Nil :: T_TablesV +sem_TablesV_Nil  =+    (case (({-# LINE 52 "src/GenInstrLib.ag" #-}+            mempty+            {-# LINE 1377 "src/GenInstrLib.hs" #-}+            )) of+     { _lhsOgathFields | _lhsOgathFields `seq` (True) ->+     (case (({-# LINE 51 "src/GenInstrLib.ag" #-}+             mempty+             {-# LINE 1382 "src/GenInstrLib.hs" #-}+             )) of+      { _lhsOgathTypes | _lhsOgathTypes `seq` (True) ->+      (case ((let sem_TablesV_Nil_1 :: T_TablesV_1 +                  sem_TablesV_Nil_1  =+                      (\ _lhsIallFields+                         _lhsIallTypes+                         _lhsIgEnv+                         _lhsInewFields+                         _lhsInewMethods ->+                           (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                   _lhsInewFields+                                   {-# LINE 1394 "src/GenInstrLib.hs" #-}+                                   )) of+                            { _lhsOnewFields | _lhsOnewFields `seq` (True) ->+                            (case (({-# LINE 262 "src/GenInstrLib.ag" #-}+                                    _lhsInewMethods+                                    {-# LINE 1399 "src/GenInstrLib.hs" #-}+                                    )) of+                             { _lhsOnewMethods | _lhsOnewMethods `seq` (True) ->+                             (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                     empty+                                     {-# LINE 1404 "src/GenInstrLib.hs" #-}+                                     )) of+                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                              ( _lhsOnewFields,_lhsOnewMethods,_lhsOoutput) }) }) }))+              in  sem_TablesV_Nil_1)) of+       { ( sem_TablesV_1) | True ->+       ( _lhsOgathFields,_lhsOgathTypes,sem_TablesV_1) }) }) })+-- TraitV ------------------------------------------------------+-- cata+sem_TraitV :: TraitV  ->+              T_TraitV +sem_TraitV (TraitV_Field _nm _tp )  =+    (sem_TraitV_Field (sem_NmV _nm ) (sem_TypeV _tp ) )+sem_TraitV (TraitV_Method _nm _sig )  =+    (sem_TraitV_Method (sem_NmV _nm ) (sem_SigV _sig ) )+sem_TraitV (TraitV_Other _nm )  =+    (sem_TraitV_Other (sem_NmV _nm ) )+-- semantic domain+type T_TraitV  = ( (Set String),T_TraitV_1 )+type T_TraitV_1  = (Set String) ->+                   (Set String) ->+                   String ->+                   SymInfo ->+                   (Set String) ->+                   ( (Set String),Doc)+sem_TraitV_Field :: T_NmV  ->+                    T_TypeV  ->+                    T_TraitV +sem_TraitV_Field nm_ tp_  =+    (case (({-# LINE 56 "src/GenInstrLib.ag" #-}+            mempty+            {-# LINE 1435 "src/GenInstrLib.hs" #-}+            )) of+     { _gathFields_augmented_syn | _gathFields_augmented_syn `seq` (True) ->+     (case (nm_ ) of+      { ( _nmImbStrUni) | True ->+          (case (({-# LINE 56 "src/GenInstrLib.ag" #-}+                  maybe id Set.insert _nmImbStrUni+                  {-# LINE 1442 "src/GenInstrLib.hs" #-}+                  )) of+           { _gathFields_augmented_f1 | _gathFields_augmented_f1 `seq` (True) ->+           (case (({-# LINE 56 "src/GenInstrLib.ag" #-}+                   foldr ($) _gathFields_augmented_syn [_gathFields_augmented_f1]+                   {-# LINE 1447 "src/GenInstrLib.hs" #-}+                   )) of+            { _lhsOgathFields | _lhsOgathFields `seq` (True) ->+            (case ((let sem_TraitV_Field_1 :: T_TraitV_1 +                        sem_TraitV_Field_1  =+                            (\ _lhsIallFields+                               _lhsIallTypes+                               _lhsIclassNm+                               _lhsIgEnv+                               _lhsInewFields ->+                                 (case (({-# LINE 269 "src/GenInstrLib.ag" #-}+                                         _lhsInewFields+                                         {-# LINE 1459 "src/GenInstrLib.hs" #-}+                                         )) of+                                  { _newFields_augmented_syn | _newFields_augmented_syn `seq` (True) ->+                                  (case (({-# LINE 269 "src/GenInstrLib.ag" #-}+                                          maybe id Set.insert _nmImbStrUni+                                          {-# LINE 1464 "src/GenInstrLib.hs" #-}+                                          )) of+                                   { _newFields_augmented_f1 | _newFields_augmented_f1 `seq` (True) ->+                                   (case (({-# LINE 269 "src/GenInstrLib.ag" #-}+                                           foldr ($) _newFields_augmented_syn [_newFields_augmented_f1]+                                           {-# LINE 1469 "src/GenInstrLib.hs" #-}+                                           )) of+                                    { _lhsOnewFields | _lhsOnewFields `seq` (True) ->+                                    (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                            _lhsIallTypes+                                            {-# LINE 1474 "src/GenInstrLib.hs" #-}+                                            )) of+                                     { _tpOallTypes | _tpOallTypes `seq` (True) ->+                                     (case (tp_ _tpOallTypes ) of+                                      { ( _tpImbStrUni,_tpIstrAnnot,_tpIstrUni,_tpItpKnown) | True ->+                                          (case (({-# LINE 186 "src/GenInstrLib.ag" #-}+                                                  maybe empty (\nm -> let strType = encodeNmHaskell _tpIstrUni+                                                                          tp  = text "T'" <> text strType+                                                                          val = text "Key" <+> text (show nm)+                                                                      in vert [ text "-- object field" <+> text (show nm) <+> text "::" <+> text (show _tpIstrAnnot)+                                                                              , if nm `Set.member` _lhsInewFields+                                                                                then text "-- DUPLICATED value field!"+                                                                                else genTrait _lhsIclassNm nm val tp+                                                                              ]) _nmImbStrUni+                                                  {-# LINE 1488 "src/GenInstrLib.hs" #-}+                                                  )) of+                                           { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                           ( _lhsOnewFields,_lhsOoutput) }) }) }) }) }) }))+                    in  sem_TraitV_Field_1)) of+             { ( sem_TraitV_1) | True ->+             ( _lhsOgathFields,sem_TraitV_1) }) }) }) }) })+sem_TraitV_Method :: T_NmV  ->+                     T_SigV  ->+                     T_TraitV +sem_TraitV_Method nm_ sig_  =+    (case (({-# LINE 57 "src/GenInstrLib.ag" #-}+            mempty+            {-# LINE 1501 "src/GenInstrLib.hs" #-}+            )) of+     { _gathFields_augmented_syn | _gathFields_augmented_syn `seq` (True) ->+     (case (nm_ ) of+      { ( _nmImbStrUni) | True ->+          (case (({-# LINE 57 "src/GenInstrLib.ag" #-}+                  maybe id Set.insert _nmImbStrUni+                  {-# LINE 1508 "src/GenInstrLib.hs" #-}+                  )) of+           { _gathFields_augmented_f1 | _gathFields_augmented_f1 `seq` (True) ->+           (case (({-# LINE 57 "src/GenInstrLib.ag" #-}+                   foldr ($) _gathFields_augmented_syn [_gathFields_augmented_f1]+                   {-# LINE 1513 "src/GenInstrLib.hs" #-}+                   )) of+            { _lhsOgathFields | _lhsOgathFields `seq` (True) ->+            (case ((let sem_TraitV_Method_1 :: T_TraitV_1 +                        sem_TraitV_Method_1  =+                            (\ _lhsIallFields+                               _lhsIallTypes+                               _lhsIclassNm+                               _lhsIgEnv+                               _lhsInewFields ->+                                 (case (({-# LINE 269 "src/GenInstrLib.ag" #-}+                                         _lhsInewFields+                                         {-# LINE 1525 "src/GenInstrLib.hs" #-}+                                         )) of+                                  { _newFields_augmented_syn | _newFields_augmented_syn `seq` (True) ->+                                  (case (({-# LINE 269 "src/GenInstrLib.ag" #-}+                                          maybe id Set.insert _nmImbStrUni+                                          {-# LINE 1530 "src/GenInstrLib.hs" #-}+                                          )) of+                                   { _newFields_augmented_f1 | _newFields_augmented_f1 `seq` (True) ->+                                   (case (({-# LINE 269 "src/GenInstrLib.ag" #-}+                                           foldr ($) _newFields_augmented_syn [_newFields_augmented_f1]+                                           {-# LINE 1535 "src/GenInstrLib.hs" #-}+                                           )) of+                                    { _lhsOnewFields | _lhsOnewFields `seq` (True) ->+                                    (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                            _lhsIallTypes+                                            {-# LINE 1540 "src/GenInstrLib.hs" #-}+                                            )) of+                                     { _sigOallTypes | _sigOallTypes `seq` (True) ->+                                     (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                             _lhsIgEnv+                                             {-# LINE 1545 "src/GenInstrLib.hs" #-}+                                             )) of+                                      { _sigOgEnv | _sigOgEnv `seq` (True) ->+                                      (case (sig_ _sigOallTypes _sigOgEnv ) of+                                       { ( _sigIoutput,_sigItpSig) | True ->+                                           (case (({-# LINE 201 "src/GenInstrLib.ag" #-}+                                                   maybe empty (\nm -> vert [ text "-- object method" <+> text (show nm)+                                                                            , if nm `Set.member` _lhsInewFields+                                                                              then text "-- DUPLICATED method field!"+                                                                              else genTrait _lhsIclassNm nm (text "Key" <+> text (show nm)) _sigItpSig+                                                                            ]) _nmImbStrUni+                                                   {-# LINE 1556 "src/GenInstrLib.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            ( _lhsOnewFields,_lhsOoutput) }) }) }) }) }) }) }))+                    in  sem_TraitV_Method_1)) of+             { ( sem_TraitV_1) | True ->+             ( _lhsOgathFields,sem_TraitV_1) }) }) }) }) })+sem_TraitV_Other :: T_NmV  ->+                    T_TraitV +sem_TraitV_Other nm_  =+    (case (({-# LINE 52 "src/GenInstrLib.ag" #-}+            mempty+            {-# LINE 1568 "src/GenInstrLib.hs" #-}+            )) of+     { _lhsOgathFields | _lhsOgathFields `seq` (True) ->+     (case ((let sem_TraitV_Other_1 :: T_TraitV_1 +                 sem_TraitV_Other_1  =+                     (\ _lhsIallFields+                        _lhsIallTypes+                        _lhsIclassNm+                        _lhsIgEnv+                        _lhsInewFields ->+                          (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                  _lhsInewFields+                                  {-# LINE 1580 "src/GenInstrLib.hs" #-}+                                  )) of+                           { _lhsOnewFields | _lhsOnewFields `seq` (True) ->+                           (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                   empty+                                   {-# LINE 1585 "src/GenInstrLib.hs" #-}+                                   )) of+                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                            ( _lhsOnewFields,_lhsOoutput) }) }))+             in  sem_TraitV_Other_1)) of+      { ( sem_TraitV_1) | True ->+      ( _lhsOgathFields,sem_TraitV_1) }) })+-- TraitsV -----------------------------------------------------+-- cata+sem_TraitsV :: TraitsV  ->+               T_TraitsV +sem_TraitsV list  =+    (Prelude.foldr sem_TraitsV_Cons sem_TraitsV_Nil (Prelude.map sem_TraitV list) )+-- semantic domain+type T_TraitsV  = ( (Set String),T_TraitsV_1 )+type T_TraitsV_1  = (Set String) ->+                    (Set String) ->+                    String ->+                    SymInfo ->+                    (Set String) ->+                    ( (Set String),Doc)+sem_TraitsV_Cons :: T_TraitV  ->+                    T_TraitsV  ->+                    T_TraitsV +sem_TraitsV_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIgathFields,tl_1) | True ->+         (case (hd_ ) of+          { ( _hdIgathFields,hd_1) | True ->+              (case (({-# LINE 52 "src/GenInstrLib.ag" #-}+                      _hdIgathFields `mappend` _tlIgathFields+                      {-# LINE 1616 "src/GenInstrLib.hs" #-}+                      )) of+               { _lhsOgathFields | _lhsOgathFields `seq` (True) ->+               (case ((let sem_TraitsV_Cons_1 :: T_TraitsV_1 +                           sem_TraitsV_Cons_1  =+                               (\ _lhsIallFields+                                  _lhsIallTypes+                                  _lhsIclassNm+                                  _lhsIgEnv+                                  _lhsInewFields ->+                                    (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                            _lhsInewFields+                                            {-# LINE 1628 "src/GenInstrLib.hs" #-}+                                            )) of+                                     { _hdOnewFields | _hdOnewFields `seq` (True) ->+                                     (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                             _lhsIgEnv+                                             {-# LINE 1633 "src/GenInstrLib.hs" #-}+                                             )) of+                                      { _hdOgEnv | _hdOgEnv `seq` (True) ->+                                      (case (({-# LINE 147 "src/GenInstrLib.ag" #-}+                                              _lhsIclassNm+                                              {-# LINE 1638 "src/GenInstrLib.hs" #-}+                                              )) of+                                       { _hdOclassNm | _hdOclassNm `seq` (True) ->+                                       (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                               _lhsIallTypes+                                               {-# LINE 1643 "src/GenInstrLib.hs" #-}+                                               )) of+                                        { _hdOallTypes | _hdOallTypes `seq` (True) ->+                                        (case (({-# LINE 60 "src/GenInstrLib.ag" #-}+                                                _lhsIallFields+                                                {-# LINE 1648 "src/GenInstrLib.hs" #-}+                                                )) of+                                         { _hdOallFields | _hdOallFields `seq` (True) ->+                                         (case (hd_1 _hdOallFields _hdOallTypes _hdOclassNm _hdOgEnv _hdOnewFields ) of+                                          { ( _hdInewFields,_hdIoutput) | True ->+                                              (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                                      _hdInewFields+                                                      {-# LINE 1655 "src/GenInstrLib.hs" #-}+                                                      )) of+                                               { _tlOnewFields | _tlOnewFields `seq` (True) ->+                                               (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                                       _lhsIgEnv+                                                       {-# LINE 1660 "src/GenInstrLib.hs" #-}+                                                       )) of+                                                { _tlOgEnv | _tlOgEnv `seq` (True) ->+                                                (case (({-# LINE 147 "src/GenInstrLib.ag" #-}+                                                        _lhsIclassNm+                                                        {-# LINE 1665 "src/GenInstrLib.hs" #-}+                                                        )) of+                                                 { _tlOclassNm | _tlOclassNm `seq` (True) ->+                                                 (case (({-# LINE 59 "src/GenInstrLib.ag" #-}+                                                         _lhsIallTypes+                                                         {-# LINE 1670 "src/GenInstrLib.hs" #-}+                                                         )) of+                                                  { _tlOallTypes | _tlOallTypes `seq` (True) ->+                                                  (case (({-# LINE 60 "src/GenInstrLib.ag" #-}+                                                          _lhsIallFields+                                                          {-# LINE 1675 "src/GenInstrLib.hs" #-}+                                                          )) of+                                                   { _tlOallFields | _tlOallFields `seq` (True) ->+                                                   (case (tl_1 _tlOallFields _tlOallTypes _tlOclassNm _tlOgEnv _tlOnewFields ) of+                                                    { ( _tlInewFields,_tlIoutput) | True ->+                                                        (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                                                _tlInewFields+                                                                {-# LINE 1682 "src/GenInstrLib.hs" #-}+                                                                )) of+                                                         { _lhsOnewFields | _lhsOnewFields `seq` (True) ->+                                                         (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                                                 _hdIoutput $+$ _tlIoutput+                                                                 {-# LINE 1687 "src/GenInstrLib.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          ( _lhsOnewFields,_lhsOoutput) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+                       in  sem_TraitsV_Cons_1)) of+                { ( sem_TraitsV_1) | True ->+                ( _lhsOgathFields,sem_TraitsV_1) }) }) }) })+sem_TraitsV_Nil :: T_TraitsV +sem_TraitsV_Nil  =+    (case (({-# LINE 52 "src/GenInstrLib.ag" #-}+            mempty+            {-# LINE 1698 "src/GenInstrLib.hs" #-}+            )) of+     { _lhsOgathFields | _lhsOgathFields `seq` (True) ->+     (case ((let sem_TraitsV_Nil_1 :: T_TraitsV_1 +                 sem_TraitsV_Nil_1  =+                     (\ _lhsIallFields+                        _lhsIallTypes+                        _lhsIclassNm+                        _lhsIgEnv+                        _lhsInewFields ->+                          (case (({-# LINE 261 "src/GenInstrLib.ag" #-}+                                  _lhsInewFields+                                  {-# LINE 1710 "src/GenInstrLib.hs" #-}+                                  )) of+                           { _lhsOnewFields | _lhsOnewFields `seq` (True) ->+                           (case (({-# LINE 39 "src/GenInstrLib.ag" #-}+                                   empty+                                   {-# LINE 1715 "src/GenInstrLib.hs" #-}+                                   )) of+                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                            ( _lhsOnewFields,_lhsOoutput) }) }))+             in  sem_TraitsV_Nil_1)) of+      { ( sem_TraitsV_1) | True ->+      ( _lhsOgathFields,sem_TraitsV_1) }) })+-- TypeV -------------------------------------------------------+-- cata+sem_TypeV :: TypeV  ->+             T_TypeV +sem_TypeV (TypeV_Type _isNull _nm )  =+    (sem_TypeV_Type _isNull (sem_NmV _nm ) )+-- semantic domain+type T_TypeV  = (Set String) ->+                ( (Maybe String),String,String,Bool)+sem_TypeV_Type :: Bool ->+                  T_NmV  ->+                  T_TypeV +sem_TypeV_Type isNull_ nm_  =+    (\ _lhsIallTypes ->+         (case (nm_ ) of+          { ( _nmImbStrUni) | True ->+              (case (({-# LINE 72 "src/GenInstrLib.ag" #-}+                      _nmImbStrUni+                      {-# LINE 1740 "src/GenInstrLib.hs" #-}+                      )) of+               { _lhsOmbStrUni | _lhsOmbStrUni `seq` (True) ->+               (case (({-# LINE 183 "src/GenInstrLib.ag" #-}+                       maybe "" id _nmImbStrUni+                       {-# LINE 1745 "src/GenInstrLib.hs" #-}+                       )) of+                { _lhsOstrAnnot | _lhsOstrAnnot `seq` (True) ->+                (case (({-# LINE 69 "src/GenInstrLib.ag" #-}+                        not isNull_ && maybe False (`Set.member` _lhsIallTypes) _nmImbStrUni+                        {-# LINE 1750 "src/GenInstrLib.hs" #-}+                        )) of+                 { _tpKnown | _tpKnown `seq` (True) ->+                 (case (({-# LINE 177 "src/GenInstrLib.ag" #-}+                         if _tpKnown+                         then maybe "{-# TypeV_Type: expecting a type name #}" id _nmImbStrUni+                         else "any"+                         {-# LINE 1757 "src/GenInstrLib.hs" #-}+                         )) of+                  { _lhsOstrUni | _lhsOstrUni `seq` (True) ->+                  (case (({-# LINE 66 "src/GenInstrLib.ag" #-}+                          _tpKnown+                          {-# LINE 1762 "src/GenInstrLib.hs" #-}+                          )) of+                   { _lhsOtpKnown | _lhsOtpKnown `seq` (True) ->+                   ( _lhsOmbStrUni,_lhsOstrAnnot,_lhsOstrUni,_lhsOtpKnown) }) }) }) }) }) }))
+ dist/build/InstrLocFilter.hs view
@@ -0,0 +1,13366 @@+++-- UUAGC 0.9.36 (src/InstrLocFilter.ag)+module InstrLocFilter(instrLocFilter) where++{-# LINE 11 "src/InstrLocFilter.ag" #-}++import Data.ByteString.Lazy(ByteString,pack)+import ByteCode+import Data.Word+import Data.Bits+import qualified Data.IntSet as IntSet+import Data.IntSet(IntSet)+import Data.Monoid+{-# LINE 16 "dist/src/sdist.27680/asil-1.2/dist/build/InstrLocFilter.hs" #-}++{-# LINE 23 "src/InstrLocFilter.ag" #-}++-- | Computes the minimum length of an instruction (in bytes)+instrLocFilter :: BodyInfo -> BodyInfo+instrLocFilter body = body' where+  inh   = Inh_BodyInfo {}+  sem   = sem_BodyInfo body+  syn   = wrap_BodyInfo sem inh+  body' = output_Syn_BodyInfo syn+{-# LINE 27 "dist/src/sdist.27680/asil-1.2/dist/build/InstrLocFilter.hs" #-}+-- AbcFile -----------------------------------------------------+-- cata+sem_AbcFile :: AbcFile  ->+               T_AbcFile +sem_AbcFile (AbcFile_File _minorVersion _majorVersion _constantPool _methods _metadatas _instances _classes _scripts _bodies )  =+    (sem_AbcFile_File _minorVersion _majorVersion (sem_PoolInfo _constantPool ) (sem_MethodInfos _methods ) (sem_MetaInfos _metadatas ) (sem_InstanceInfos _instances ) (sem_ClassInfos _classes ) (sem_ScriptInfos _scripts ) (sem_BodyInfos _bodies ) )+-- semantic domain+type T_AbcFile  = ( )+sem_AbcFile_File :: Word16 ->+                    Word16 ->+                    T_PoolInfo  ->+                    T_MethodInfos  ->+                    T_MetaInfos  ->+                    T_InstanceInfos  ->+                    T_ClassInfos  ->+                    T_ScriptInfos  ->+                    T_BodyInfos  ->+                    T_AbcFile +sem_AbcFile_File minorVersion_ majorVersion_ constantPool_ methods_ metadatas_ instances_ classes_ scripts_ bodies_  =+    ( )+-- AbcFlag -----------------------------------------------------+-- cata+sem_AbcFlag :: AbcFlag  ->+               T_AbcFlag +sem_AbcFlag (AbcFlag_LazyInit )  =+    (sem_AbcFlag_LazyInit )+-- semantic domain+type T_AbcFlag  = ( )+sem_AbcFlag_LazyInit :: T_AbcFlag +sem_AbcFlag_LazyInit  =+    ( )+-- AbcFlags ----------------------------------------------------+-- cata+sem_AbcFlags :: AbcFlags  ->+                T_AbcFlags +sem_AbcFlags list  =+    (Prelude.foldr sem_AbcFlags_Cons sem_AbcFlags_Nil (Prelude.map sem_AbcFlag list) )+-- semantic domain+type T_AbcFlags  = ( )+sem_AbcFlags_Cons :: T_AbcFlag  ->+                     T_AbcFlags  ->+                     T_AbcFlags +sem_AbcFlags_Cons hd_ tl_  =+    ( )+sem_AbcFlags_Nil :: T_AbcFlags +sem_AbcFlags_Nil  =+    ( )+-- BodyInfo ----------------------------------------------------+-- cata+sem_BodyInfo :: BodyInfo  ->+                T_BodyInfo +sem_BodyInfo (BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth _instructions _exceptions _traits )  =+    (sem_BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth (sem_Instructions _instructions ) (sem_Exceptions _exceptions ) (sem_Traits _traits ) )+-- semantic domain+type T_BodyInfo  = ( BodyInfo )+data Inh_BodyInfo  = Inh_BodyInfo {}+data Syn_BodyInfo  = Syn_BodyInfo {output_Syn_BodyInfo :: !(BodyInfo )}+wrap_BodyInfo :: T_BodyInfo  ->+                 Inh_BodyInfo  ->+                 Syn_BodyInfo +wrap_BodyInfo sem (Inh_BodyInfo )  =+    (let ( _lhsOoutput) | True = sem +     in  (Syn_BodyInfo _lhsOoutput ))+sem_BodyInfo_Info :: Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     T_Instructions  ->+                     T_Exceptions  ->+                     T_Traits  ->+                     T_BodyInfo +sem_BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ instructions_ exceptions_ traits_  =+    (case (({-# LINE 2 "src/ByteCodeLocationInfo.ag" #-}+            0+            {-# LINE 103 "src/InstrLocFilter.hs" #-}+            )) of+     { _instructionsOlocation | _instructionsOlocation `seq` (True) ->+     (case (({-# LINE 38 "src/InstrLocFilter.ag" #-}+             True+             {-# LINE 108 "src/InstrLocFilter.hs" #-}+             )) of+      { _instructionsOisBranch | _instructionsOisBranch `seq` (True) ->+      (case (instructions_ _instructionsOisBranch _instructionsOlocation ) of+       { ( _instructionsIisBranch,_instructionsIlocation,instructions_1) | True ->+           (case (({-# LINE 3 "src/ByteCodeLocationInfo.ag" #-}+                   0+                   {-# LINE 115 "src/InstrLocFilter.hs" #-}+                   )) of+            { _instructionsOrevLocation | _instructionsOrevLocation `seq` (True) ->+            (case (({-# LINE 39 "src/InstrLocFilter.ag" #-}+                    False+                    {-# LINE 120 "src/InstrLocFilter.hs" #-}+                    )) of+             { _instructionsOrevIsBranch | _instructionsOrevIsBranch `seq` (True) ->+             (case (exceptions_ ) of+              { ( _exceptionsIlocs,_exceptionsIoutput) | True ->+                  (case (instructions_1 _instructionsOrevIsBranch _instructionsOrevLocation ) of+                   { ( _instructionsIlocs,_instructionsIrevIsBranch,_instructionsIrevLocation,instructions_2) | True ->+                       (case (({-# LINE 47 "src/InstrLocFilter.ag" #-}+                               _instructionsIlocs `mappend` _exceptionsIlocs+                               {-# LINE 129 "src/InstrLocFilter.hs" #-}+                               )) of+                        { _instructionsOretain | _instructionsOretain `seq` (True) ->+                        (case (traits_ ) of+                         { ( _traitsIoutput) | True ->+                             (case (instructions_2 _instructionsOretain ) of+                              { ( _instructionsIoutput) | True ->+                                  (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                          BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ _instructionsIoutput _exceptionsIoutput _traitsIoutput+                                          {-# LINE 138 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _output | _output `seq` (True) ->+                                   (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                           _output+                                           {-# LINE 143 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    ( _lhsOoutput) }) }) }) }) }) }) }) }) }) }) }) })+-- BodyInfos ---------------------------------------------------+-- cata+sem_BodyInfos :: BodyInfos  ->+                 T_BodyInfos +sem_BodyInfos list  =+    (Prelude.foldr sem_BodyInfos_Cons sem_BodyInfos_Nil (Prelude.map sem_BodyInfo list) )+-- semantic domain+type T_BodyInfos  = ( )+sem_BodyInfos_Cons :: T_BodyInfo  ->+                      T_BodyInfos  ->+                      T_BodyInfos +sem_BodyInfos_Cons hd_ tl_  =+    ( )+sem_BodyInfos_Nil :: T_BodyInfos +sem_BodyInfos_Nil  =+    ( )+-- CaseOffsets -------------------------------------------------+-- cata+sem_CaseOffsets :: CaseOffsets  ->+                   T_CaseOffsets +sem_CaseOffsets list  =+    (Prelude.foldr sem_CaseOffsets_Cons sem_CaseOffsets_Nil list )+-- semantic domain+type T_CaseOffsets  = Int ->+                      ( Int,T_CaseOffsets_1 )+type T_CaseOffsets_1  = Int ->+                        ( IntSet,CaseOffsets ,Int)+sem_CaseOffsets_Cons :: Word32 ->+                        T_CaseOffsets  ->+                        T_CaseOffsets +sem_CaseOffsets_Cons hd_ tl_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 181 "src/InstrLocFilter.hs" #-}+                 )) of+          { _tlOlocation | _tlOlocation `seq` (True) ->+          (case (tl_ _tlOlocation ) of+           { ( _tlIlocation,tl_1) | True ->+               (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                       _tlIlocation+                       {-# LINE 188 "src/InstrLocFilter.hs" #-}+                       )) of+                { _lhsOlocation | _lhsOlocation `seq` (True) ->+                (case ((let sem_CaseOffsets_Cons_1 :: T_CaseOffsets_1 +                            sem_CaseOffsets_Cons_1  =+                                (\ _lhsIrevLocation ->+                                     (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                             _lhsIrevLocation+                                             {-# LINE 196 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _tlOrevLocation | _tlOrevLocation `seq` (True) ->+                                      (case (tl_1 _tlOrevLocation ) of+                                       { ( _tlIlocs,_tlIoutput,_tlIrevLocation) | True ->+                                           (case (({-# LINE 88 "src/InstrLocFilter.ag" #-}+                                                   _tlIlocs+                                                   {-# LINE 203 "src/InstrLocFilter.hs" #-}+                                                   )) of+                                            { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                            (case (({-# LINE 30 "src/ByteCodeLocationInfo.ag" #-}+                                                    fromS24 hd_+                                                    {-# LINE 208 "src/InstrLocFilter.hs" #-}+                                                    )) of+                                             { _relative | _relative `seq` (True) ->+                                             (case (({-# LINE 31 "src/ByteCodeLocationInfo.ag" #-}+                                                     _lhsIlocation + _relative+                                                     {-# LINE 213 "src/InstrLocFilter.hs" #-}+                                                     )) of+                                              { _target | _target `seq` (True) ->+                                              (case (({-# LINE 88 "src/InstrLocFilter.ag" #-}+                                                      IntSet.insert _target+                                                      {-# LINE 218 "src/InstrLocFilter.hs" #-}+                                                      )) of+                                               { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                               (case (({-# LINE 88 "src/InstrLocFilter.ag" #-}+                                                       foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                                       {-# LINE 223 "src/InstrLocFilter.hs" #-}+                                                       )) of+                                                { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                                (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                        (:) hd_ _tlIoutput+                                                        {-# LINE 228 "src/InstrLocFilter.hs" #-}+                                                        )) of+                                                 { _output | _output `seq` (True) ->+                                                 (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                         _output+                                                         {-# LINE 233 "src/InstrLocFilter.hs" #-}+                                                         )) of+                                                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                          _tlIrevLocation+                                                          {-# LINE 238 "src/InstrLocFilter.hs" #-}+                                                          )) of+                                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                                   ( _lhsOlocs,_lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }) }))+                        in  sem_CaseOffsets_Cons_1)) of+                 { ( sem_CaseOffsets_1) | True ->+                 ( _lhsOlocation,sem_CaseOffsets_1) }) }) }) }))+sem_CaseOffsets_Nil :: T_CaseOffsets +sem_CaseOffsets_Nil  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 250 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case ((let sem_CaseOffsets_Nil_1 :: T_CaseOffsets_1 +                      sem_CaseOffsets_Nil_1  =+                          (\ _lhsIrevLocation ->+                               (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                       mempty+                                       {-# LINE 258 "src/InstrLocFilter.hs" #-}+                                       )) of+                                { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                        []+                                        {-# LINE 263 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _output | _output `seq` (True) ->+                                 (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                         _output+                                         {-# LINE 268 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 273 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   ( _lhsOlocs,_lhsOoutput,_lhsOrevLocation) }) }) }) }))+                  in  sem_CaseOffsets_Nil_1)) of+           { ( sem_CaseOffsets_1) | True ->+           ( _lhsOlocation,sem_CaseOffsets_1) }) }))+-- ClassInfo ---------------------------------------------------+-- cata+sem_ClassInfo :: ClassInfo  ->+                 T_ClassInfo +sem_ClassInfo (ClassInfo_Info _con _traits )  =+    (sem_ClassInfo_Info _con (sem_Traits _traits ) )+-- semantic domain+type T_ClassInfo  = ( )+sem_ClassInfo_Info :: Word32 ->+                      T_Traits  ->+                      T_ClassInfo +sem_ClassInfo_Info con_ traits_  =+    ( )+-- ClassInfos --------------------------------------------------+-- cata+sem_ClassInfos :: ClassInfos  ->+                  T_ClassInfos +sem_ClassInfos list  =+    (Prelude.foldr sem_ClassInfos_Cons sem_ClassInfos_Nil (Prelude.map sem_ClassInfo list) )+-- semantic domain+type T_ClassInfos  = ( )+sem_ClassInfos_Cons :: T_ClassInfo  ->+                       T_ClassInfos  ->+                       T_ClassInfos +sem_ClassInfos_Cons hd_ tl_  =+    ( )+sem_ClassInfos_Nil :: T_ClassInfos +sem_ClassInfos_Nil  =+    ( )+-- DebugType ---------------------------------------------------+-- cata+sem_DebugType :: DebugType  ->+                 T_DebugType +sem_DebugType (DebugType_Local )  =+    (sem_DebugType_Local )+-- semantic domain+type T_DebugType  = ( DebugType )+sem_DebugType_Local :: T_DebugType +sem_DebugType_Local  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            DebugType_Local+            {-# LINE 321 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 326 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- Exception ---------------------------------------------------+-- cata+sem_Exception :: Exception  ->+                 T_Exception +sem_Exception (Exception_Info _from _to _target _tp _name )  =+    (sem_Exception_Info _from _to _target _tp _name )+-- semantic domain+type T_Exception  = ( IntSet,Exception )+sem_Exception_Info :: Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      T_Exception +sem_Exception_Info from_ to_ target_ tp_ name_  =+    (case (({-# LINE 77 "src/InstrLocFilter.ag" #-}+            IntSet.fromList $ map fromIntegral $ [from_,to_,target_]+            {-# LINE 347 "src/InstrLocFilter.hs" #-}+            )) of+     { _lhsOlocs | _lhsOlocs `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             Exception_Info from_ to_ target_ tp_ name_+             {-# LINE 352 "src/InstrLocFilter.hs" #-}+             )) of+      { _output | _output `seq` (True) ->+      (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+              _output+              {-# LINE 357 "src/InstrLocFilter.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOlocs,_lhsOoutput) }) }) })+-- Exceptions --------------------------------------------------+-- cata+sem_Exceptions :: Exceptions  ->+                  T_Exceptions +sem_Exceptions list  =+    (Prelude.foldr sem_Exceptions_Cons sem_Exceptions_Nil (Prelude.map sem_Exception list) )+-- semantic domain+type T_Exceptions  = ( IntSet,Exceptions )+sem_Exceptions_Cons :: T_Exception  ->+                       T_Exceptions  ->+                       T_Exceptions +sem_Exceptions_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIlocs,_tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIlocs,_hdIoutput) | True ->+              (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                      _hdIlocs `mappend` _tlIlocs+                      {-# LINE 379 "src/InstrLocFilter.hs" #-}+                      )) of+               { _lhsOlocs | _lhsOlocs `seq` (True) ->+               (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                       (:) _hdIoutput _tlIoutput+                       {-# LINE 384 "src/InstrLocFilter.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                        _output+                        {-# LINE 389 "src/InstrLocFilter.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOlocs,_lhsOoutput) }) }) }) }) })+sem_Exceptions_Nil :: T_Exceptions +sem_Exceptions_Nil  =+    (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+            mempty+            {-# LINE 397 "src/InstrLocFilter.hs" #-}+            )) of+     { _lhsOlocs | _lhsOlocs `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             []+             {-# LINE 402 "src/InstrLocFilter.hs" #-}+             )) of+      { _output | _output `seq` (True) ->+      (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+              _output+              {-# LINE 407 "src/InstrLocFilter.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOlocs,_lhsOoutput) }) }) })+-- InstanceFlag ------------------------------------------------+-- cata+sem_InstanceFlag :: InstanceFlag  ->+                    T_InstanceFlag +sem_InstanceFlag (InstanceFlag_ClassFinal )  =+    (sem_InstanceFlag_ClassFinal )+sem_InstanceFlag (InstanceFlag_ClassInterface )  =+    (sem_InstanceFlag_ClassInterface )+sem_InstanceFlag (InstanceFlag_ClassProtected )  =+    (sem_InstanceFlag_ClassProtected )+sem_InstanceFlag (InstanceFlag_ClassSealed )  =+    (sem_InstanceFlag_ClassSealed )+-- semantic domain+type T_InstanceFlag  = ( )+sem_InstanceFlag_ClassFinal :: T_InstanceFlag +sem_InstanceFlag_ClassFinal  =+    ( )+sem_InstanceFlag_ClassInterface :: T_InstanceFlag +sem_InstanceFlag_ClassInterface  =+    ( )+sem_InstanceFlag_ClassProtected :: T_InstanceFlag +sem_InstanceFlag_ClassProtected  =+    ( )+sem_InstanceFlag_ClassSealed :: T_InstanceFlag +sem_InstanceFlag_ClassSealed  =+    ( )+-- InstanceFlags -----------------------------------------------+-- cata+sem_InstanceFlags :: InstanceFlags  ->+                     T_InstanceFlags +sem_InstanceFlags list  =+    (Prelude.foldr sem_InstanceFlags_Cons sem_InstanceFlags_Nil (Prelude.map sem_InstanceFlag list) )+-- semantic domain+type T_InstanceFlags  = ( )+sem_InstanceFlags_Cons :: T_InstanceFlag  ->+                          T_InstanceFlags  ->+                          T_InstanceFlags +sem_InstanceFlags_Cons hd_ tl_  =+    ( )+sem_InstanceFlags_Nil :: T_InstanceFlags +sem_InstanceFlags_Nil  =+    ( )+-- InstanceInfo ------------------------------------------------+-- cata+sem_InstanceInfo :: InstanceInfo  ->+                    T_InstanceInfo +sem_InstanceInfo (InstanceInfo_Info _name _super _flags _protectedNs _interfaces _constructor _traits )  =+    (sem_InstanceInfo_Info _name _super (sem_InstanceFlags _flags ) _protectedNs (sem_Interfaces _interfaces ) _constructor (sem_Traits _traits ) )+-- semantic domain+type T_InstanceInfo  = ( )+sem_InstanceInfo_Info :: Word32 ->+                         Word32 ->+                         T_InstanceFlags  ->+                         Word32 ->+                         T_Interfaces  ->+                         Word32 ->+                         T_Traits  ->+                         T_InstanceInfo +sem_InstanceInfo_Info name_ super_ flags_ protectedNs_ interfaces_ constructor_ traits_  =+    ( )+-- InstanceInfos -----------------------------------------------+-- cata+sem_InstanceInfos :: InstanceInfos  ->+                     T_InstanceInfos +sem_InstanceInfos list  =+    (Prelude.foldr sem_InstanceInfos_Cons sem_InstanceInfos_Nil (Prelude.map sem_InstanceInfo list) )+-- semantic domain+type T_InstanceInfos  = ( )+sem_InstanceInfos_Cons :: T_InstanceInfo  ->+                          T_InstanceInfos  ->+                          T_InstanceInfos +sem_InstanceInfos_Cons hd_ tl_  =+    ( )+sem_InstanceInfos_Nil :: T_InstanceInfos +sem_InstanceInfos_Nil  =+    ( )+-- Instruction -------------------------------------------------+-- cata+sem_Instruction :: Instruction  ->+                   T_Instruction +sem_Instruction (Instruction_Add )  =+    (sem_Instruction_Add )+sem_Instruction (Instruction_Add_d )  =+    (sem_Instruction_Add_d )+sem_Instruction (Instruction_Add_i )  =+    (sem_Instruction_Add_i )+sem_Instruction (Instruction_ApplyType _name )  =+    (sem_Instruction_ApplyType _name )+sem_Instruction (Instruction_AsType _name )  =+    (sem_Instruction_AsType _name )+sem_Instruction (Instruction_AsTypeLate )  =+    (sem_Instruction_AsTypeLate )+sem_Instruction (Instruction_BitAnd )  =+    (sem_Instruction_BitAnd )+sem_Instruction (Instruction_BitNot )  =+    (sem_Instruction_BitNot )+sem_Instruction (Instruction_BitOr )  =+    (sem_Instruction_BitOr )+sem_Instruction (Instruction_BitXor )  =+    (sem_Instruction_BitXor )+sem_Instruction (Instruction_BreakLine _line )  =+    (sem_Instruction_BreakLine _line )+sem_Instruction (Instruction_Breakpoint )  =+    (sem_Instruction_Breakpoint )+sem_Instruction (Instruction_Call _argCount )  =+    (sem_Instruction_Call _argCount )+sem_Instruction (Instruction_CallInterface _name _argCount )  =+    (sem_Instruction_CallInterface _name _argCount )+sem_Instruction (Instruction_CallMethod _index _argCount )  =+    (sem_Instruction_CallMethod _index _argCount )+sem_Instruction (Instruction_CallProp _name _argCount )  =+    (sem_Instruction_CallProp _name _argCount )+sem_Instruction (Instruction_CallPropLex _name _argCount )  =+    (sem_Instruction_CallPropLex _name _argCount )+sem_Instruction (Instruction_CallPropVoid _name _argCount )  =+    (sem_Instruction_CallPropVoid _name _argCount )+sem_Instruction (Instruction_CallStatic _method _argCount )  =+    (sem_Instruction_CallStatic _method _argCount )+sem_Instruction (Instruction_CallSuper _name _argCount )  =+    (sem_Instruction_CallSuper _name _argCount )+sem_Instruction (Instruction_CallSuperId )  =+    (sem_Instruction_CallSuperId )+sem_Instruction (Instruction_CallSuperVoid _name _argCount )  =+    (sem_Instruction_CallSuperVoid _name _argCount )+sem_Instruction (Instruction_CheckFilter )  =+    (sem_Instruction_CheckFilter )+sem_Instruction (Instruction_Coerce _name )  =+    (sem_Instruction_Coerce _name )+sem_Instruction (Instruction_Coerce_a )  =+    (sem_Instruction_Coerce_a )+sem_Instruction (Instruction_Coerce_b )  =+    (sem_Instruction_Coerce_b )+sem_Instruction (Instruction_Coerce_d )  =+    (sem_Instruction_Coerce_d )+sem_Instruction (Instruction_Coerce_i )  =+    (sem_Instruction_Coerce_i )+sem_Instruction (Instruction_Coerce_o )  =+    (sem_Instruction_Coerce_o )+sem_Instruction (Instruction_Coerce_s )  =+    (sem_Instruction_Coerce_s )+sem_Instruction (Instruction_Coerce_u )  =+    (sem_Instruction_Coerce_u )+sem_Instruction (Instruction_Concat )  =+    (sem_Instruction_Concat )+sem_Instruction (Instruction_Construct _argCount )  =+    (sem_Instruction_Construct _argCount )+sem_Instruction (Instruction_ConstructProp _name _argCount )  =+    (sem_Instruction_ConstructProp _name _argCount )+sem_Instruction (Instruction_ConstructSuper _argCount )  =+    (sem_Instruction_ConstructSuper _argCount )+sem_Instruction (Instruction_Convert_b )  =+    (sem_Instruction_Convert_b )+sem_Instruction (Instruction_Convert_d )  =+    (sem_Instruction_Convert_d )+sem_Instruction (Instruction_Convert_i )  =+    (sem_Instruction_Convert_i )+sem_Instruction (Instruction_Convert_o )  =+    (sem_Instruction_Convert_o )+sem_Instruction (Instruction_Convert_s )  =+    (sem_Instruction_Convert_s )+sem_Instruction (Instruction_Convert_u )  =+    (sem_Instruction_Convert_u )+sem_Instruction (Instruction_Debug _tp _name _reg _extra )  =+    (sem_Instruction_Debug (sem_DebugType _tp ) _name _reg _extra )+sem_Instruction (Instruction_DebugFile _name )  =+    (sem_Instruction_DebugFile _name )+sem_Instruction (Instruction_DebugLine _line )  =+    (sem_Instruction_DebugLine _line )+sem_Instruction (Instruction_DecLocal _reg )  =+    (sem_Instruction_DecLocal _reg )+sem_Instruction (Instruction_DecLocal_i _reg )  =+    (sem_Instruction_DecLocal_i _reg )+sem_Instruction (Instruction_Decrement )  =+    (sem_Instruction_Decrement )+sem_Instruction (Instruction_Decrement_i )  =+    (sem_Instruction_Decrement_i )+sem_Instruction (Instruction_DeleteProperty _name )  =+    (sem_Instruction_DeleteProperty _name )+sem_Instruction (Instruction_DeletePropertyLate )  =+    (sem_Instruction_DeletePropertyLate )+sem_Instruction (Instruction_Divide )  =+    (sem_Instruction_Divide )+sem_Instruction (Instruction_Dup )  =+    (sem_Instruction_Dup )+sem_Instruction (Instruction_Dxns _name )  =+    (sem_Instruction_Dxns _name )+sem_Instruction (Instruction_DxnsLate )  =+    (sem_Instruction_DxnsLate )+sem_Instruction (Instruction_Equals )  =+    (sem_Instruction_Equals )+sem_Instruction (Instruction_EscXAttr )  =+    (sem_Instruction_EscXAttr )+sem_Instruction (Instruction_EscXElem )  =+    (sem_Instruction_EscXElem )+sem_Instruction (Instruction_FindDef _name )  =+    (sem_Instruction_FindDef _name )+sem_Instruction (Instruction_FindPropStrict _name )  =+    (sem_Instruction_FindPropStrict _name )+sem_Instruction (Instruction_FindProperty _name )  =+    (sem_Instruction_FindProperty _name )+sem_Instruction (Instruction_FindPropertyGlobal _name )  =+    (sem_Instruction_FindPropertyGlobal _name )+sem_Instruction (Instruction_FindPropertyGlobalStrict _name )  =+    (sem_Instruction_FindPropertyGlobalStrict _name )+sem_Instruction (Instruction_GetDescendants _name )  =+    (sem_Instruction_GetDescendants _name )+sem_Instruction (Instruction_GetGlobalScope )  =+    (sem_Instruction_GetGlobalScope )+sem_Instruction (Instruction_GetGlobalSlot _slot )  =+    (sem_Instruction_GetGlobalSlot _slot )+sem_Instruction (Instruction_GetLex _name )  =+    (sem_Instruction_GetLex _name )+sem_Instruction (Instruction_GetLocal _reg )  =+    (sem_Instruction_GetLocal _reg )+sem_Instruction (Instruction_GetLocal0 )  =+    (sem_Instruction_GetLocal0 )+sem_Instruction (Instruction_GetLocal1 )  =+    (sem_Instruction_GetLocal1 )+sem_Instruction (Instruction_GetLocal2 )  =+    (sem_Instruction_GetLocal2 )+sem_Instruction (Instruction_GetLocal3 )  =+    (sem_Instruction_GetLocal3 )+sem_Instruction (Instruction_GetOuterScope _name )  =+    (sem_Instruction_GetOuterScope _name )+sem_Instruction (Instruction_GetProperty _name )  =+    (sem_Instruction_GetProperty _name )+sem_Instruction (Instruction_GetScopeObject _index )  =+    (sem_Instruction_GetScopeObject _index )+sem_Instruction (Instruction_GetSlot _slot )  =+    (sem_Instruction_GetSlot _slot )+sem_Instruction (Instruction_GetSuper _name )  =+    (sem_Instruction_GetSuper _name )+sem_Instruction (Instruction_GreaterEquals )  =+    (sem_Instruction_GreaterEquals )+sem_Instruction (Instruction_GreaterThan )  =+    (sem_Instruction_GreaterThan )+sem_Instruction (Instruction_HasNext )  =+    (sem_Instruction_HasNext )+sem_Instruction (Instruction_HasNext2 _objectReg _indexReg )  =+    (sem_Instruction_HasNext2 _objectReg _indexReg )+sem_Instruction (Instruction_IfEq _offset )  =+    (sem_Instruction_IfEq _offset )+sem_Instruction (Instruction_IfFalse _offset )  =+    (sem_Instruction_IfFalse _offset )+sem_Instruction (Instruction_IfGe _offset )  =+    (sem_Instruction_IfGe _offset )+sem_Instruction (Instruction_IfGt _offset )  =+    (sem_Instruction_IfGt _offset )+sem_Instruction (Instruction_IfLe _offset )  =+    (sem_Instruction_IfLe _offset )+sem_Instruction (Instruction_IfLt _offset )  =+    (sem_Instruction_IfLt _offset )+sem_Instruction (Instruction_IfNGe _offset )  =+    (sem_Instruction_IfNGe _offset )+sem_Instruction (Instruction_IfNGt _offset )  =+    (sem_Instruction_IfNGt _offset )+sem_Instruction (Instruction_IfNLe _offset )  =+    (sem_Instruction_IfNLe _offset )+sem_Instruction (Instruction_IfNLt _offset )  =+    (sem_Instruction_IfNLt _offset )+sem_Instruction (Instruction_IfNe _offset )  =+    (sem_Instruction_IfNe _offset )+sem_Instruction (Instruction_IfStrictEq _offset )  =+    (sem_Instruction_IfStrictEq _offset )+sem_Instruction (Instruction_IfStrictNe _offset )  =+    (sem_Instruction_IfStrictNe _offset )+sem_Instruction (Instruction_IfTrue _offset )  =+    (sem_Instruction_IfTrue _offset )+sem_Instruction (Instruction_In )  =+    (sem_Instruction_In )+sem_Instruction (Instruction_IncLocal _reg )  =+    (sem_Instruction_IncLocal _reg )+sem_Instruction (Instruction_IncLocal_i _reg )  =+    (sem_Instruction_IncLocal_i _reg )+sem_Instruction (Instruction_Increment )  =+    (sem_Instruction_Increment )+sem_Instruction (Instruction_Increment_i )  =+    (sem_Instruction_Increment_i )+sem_Instruction (Instruction_InitProperty _name )  =+    (sem_Instruction_InitProperty _name )+sem_Instruction (Instruction_InstanceOf )  =+    (sem_Instruction_InstanceOf )+sem_Instruction (Instruction_IsType _name )  =+    (sem_Instruction_IsType _name )+sem_Instruction (Instruction_IsTypeLate )  =+    (sem_Instruction_IsTypeLate )+sem_Instruction (Instruction_Jump _offset )  =+    (sem_Instruction_Jump _offset )+sem_Instruction (Instruction_Kill _reg )  =+    (sem_Instruction_Kill _reg )+sem_Instruction (Instruction_Label )  =+    (sem_Instruction_Label )+sem_Instruction (Instruction_LessEquals )  =+    (sem_Instruction_LessEquals )+sem_Instruction (Instruction_LessThan )  =+    (sem_Instruction_LessThan )+sem_Instruction (Instruction_LoadFloat32 )  =+    (sem_Instruction_LoadFloat32 )+sem_Instruction (Instruction_LoadFloat64 )  =+    (sem_Instruction_LoadFloat64 )+sem_Instruction (Instruction_LoadIndirect16 )  =+    (sem_Instruction_LoadIndirect16 )+sem_Instruction (Instruction_LoadIndirect32 )  =+    (sem_Instruction_LoadIndirect32 )+sem_Instruction (Instruction_LoadIndirect8 )  =+    (sem_Instruction_LoadIndirect8 )+sem_Instruction (Instruction_Location _index )  =+    (sem_Instruction_Location _index )+sem_Instruction (Instruction_LookupSwitch _defaultOffset _caseOffsets )  =+    (sem_Instruction_LookupSwitch _defaultOffset (sem_CaseOffsets _caseOffsets ) )+sem_Instruction (Instruction_Lshift )  =+    (sem_Instruction_Lshift )+sem_Instruction (Instruction_Modulo )  =+    (sem_Instruction_Modulo )+sem_Instruction (Instruction_Multiply )  =+    (sem_Instruction_Multiply )+sem_Instruction (Instruction_Multiply_i )  =+    (sem_Instruction_Multiply_i )+sem_Instruction (Instruction_Negate )  =+    (sem_Instruction_Negate )+sem_Instruction (Instruction_Negate_i )  =+    (sem_Instruction_Negate_i )+sem_Instruction (Instruction_NewActivation )  =+    (sem_Instruction_NewActivation )+sem_Instruction (Instruction_NewArray _argCount )  =+    (sem_Instruction_NewArray _argCount )+sem_Instruction (Instruction_NewCatch _exception )  =+    (sem_Instruction_NewCatch _exception )+sem_Instruction (Instruction_NewClass _class )  =+    (sem_Instruction_NewClass _class )+sem_Instruction (Instruction_NewFunction _method )  =+    (sem_Instruction_NewFunction _method )+sem_Instruction (Instruction_NewObject _argCount )  =+    (sem_Instruction_NewObject _argCount )+sem_Instruction (Instruction_NextName )  =+    (sem_Instruction_NextName )+sem_Instruction (Instruction_NextValue )  =+    (sem_Instruction_NextValue )+sem_Instruction (Instruction_Nop )  =+    (sem_Instruction_Nop )+sem_Instruction (Instruction_Not )  =+    (sem_Instruction_Not )+sem_Instruction (Instruction_Pop )  =+    (sem_Instruction_Pop )+sem_Instruction (Instruction_PopScope )  =+    (sem_Instruction_PopScope )+sem_Instruction (Instruction_PushByte _val )  =+    (sem_Instruction_PushByte _val )+sem_Instruction (Instruction_PushDouble _name )  =+    (sem_Instruction_PushDouble _name )+sem_Instruction (Instruction_PushFalse )  =+    (sem_Instruction_PushFalse )+sem_Instruction (Instruction_PushInt _name )  =+    (sem_Instruction_PushInt _name )+sem_Instruction (Instruction_PushNaN )  =+    (sem_Instruction_PushNaN )+sem_Instruction (Instruction_PushNamespace _name )  =+    (sem_Instruction_PushNamespace _name )+sem_Instruction (Instruction_PushNull )  =+    (sem_Instruction_PushNull )+sem_Instruction (Instruction_PushScope )  =+    (sem_Instruction_PushScope )+sem_Instruction (Instruction_PushShort _val )  =+    (sem_Instruction_PushShort _val )+sem_Instruction (Instruction_PushString _name )  =+    (sem_Instruction_PushString _name )+sem_Instruction (Instruction_PushTrue )  =+    (sem_Instruction_PushTrue )+sem_Instruction (Instruction_PushUInt _name )  =+    (sem_Instruction_PushUInt _name )+sem_Instruction (Instruction_PushUndefined )  =+    (sem_Instruction_PushUndefined )+sem_Instruction (Instruction_PushWith )  =+    (sem_Instruction_PushWith )+sem_Instruction (Instruction_ReturnValue )  =+    (sem_Instruction_ReturnValue )+sem_Instruction (Instruction_ReturnVoid )  =+    (sem_Instruction_ReturnVoid )+sem_Instruction (Instruction_Rshift )  =+    (sem_Instruction_Rshift )+sem_Instruction (Instruction_SetGlobalSlot _slot )  =+    (sem_Instruction_SetGlobalSlot _slot )+sem_Instruction (Instruction_SetLocal _reg )  =+    (sem_Instruction_SetLocal _reg )+sem_Instruction (Instruction_SetLocal0 )  =+    (sem_Instruction_SetLocal0 )+sem_Instruction (Instruction_SetLocal1 )  =+    (sem_Instruction_SetLocal1 )+sem_Instruction (Instruction_SetLocal2 )  =+    (sem_Instruction_SetLocal2 )+sem_Instruction (Instruction_SetLocal3 )  =+    (sem_Instruction_SetLocal3 )+sem_Instruction (Instruction_SetProperty _name )  =+    (sem_Instruction_SetProperty _name )+sem_Instruction (Instruction_SetPropertyLate )  =+    (sem_Instruction_SetPropertyLate )+sem_Instruction (Instruction_SetSlot _slot )  =+    (sem_Instruction_SetSlot _slot )+sem_Instruction (Instruction_SetSuper _name )  =+    (sem_Instruction_SetSuper _name )+sem_Instruction (Instruction_SignExtend1 )  =+    (sem_Instruction_SignExtend1 )+sem_Instruction (Instruction_SignExtend16 )  =+    (sem_Instruction_SignExtend16 )+sem_Instruction (Instruction_SignExtend8 )  =+    (sem_Instruction_SignExtend8 )+sem_Instruction (Instruction_StoreFloat32 )  =+    (sem_Instruction_StoreFloat32 )+sem_Instruction (Instruction_StoreFloat64 )  =+    (sem_Instruction_StoreFloat64 )+sem_Instruction (Instruction_StoreIndirect16 )  =+    (sem_Instruction_StoreIndirect16 )+sem_Instruction (Instruction_StoreIndirect32 )  =+    (sem_Instruction_StoreIndirect32 )+sem_Instruction (Instruction_StoreIndirect8 )  =+    (sem_Instruction_StoreIndirect8 )+sem_Instruction (Instruction_StrictEquals )  =+    (sem_Instruction_StrictEquals )+sem_Instruction (Instruction_Substract )  =+    (sem_Instruction_Substract )+sem_Instruction (Instruction_Substract_i )  =+    (sem_Instruction_Substract_i )+sem_Instruction (Instruction_Swap )  =+    (sem_Instruction_Swap )+sem_Instruction (Instruction_Throw )  =+    (sem_Instruction_Throw )+sem_Instruction (Instruction_Timestamp )  =+    (sem_Instruction_Timestamp )+sem_Instruction (Instruction_TypeOf )  =+    (sem_Instruction_TypeOf )+sem_Instruction (Instruction_Urshift )  =+    (sem_Instruction_Urshift )+-- semantic domain+type T_Instruction  = Int ->+                      ( Bool,Int,T_Instruction_1 )+type T_Instruction_1  = Bool ->+                        Bool ->+                        Int ->+                        ( IntSet,Bool,Int,T_Instruction_2 )+type T_Instruction_2  = IntSet ->+                        ( Instruction ,Bool)+sem_Instruction_Add :: T_Instruction +sem_Instruction_Add  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 857 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 862 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Add_1 :: T_Instruction_1 +                       sem_Instruction_Add_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 872 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 877 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 882 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Add_2 :: T_Instruction_2 +                                               sem_Instruction_Add_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Add+                                                                {-# LINE 890 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 895 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 900 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Add_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Add_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Add_d :: T_Instruction +sem_Instruction_Add_d  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 915 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 920 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Add_d_1 :: T_Instruction_1 +                       sem_Instruction_Add_d_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 930 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 935 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 940 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Add_d_2 :: T_Instruction_2 +                                               sem_Instruction_Add_d_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Add_d+                                                                {-# LINE 948 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 953 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 958 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Add_d_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Add_d_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Add_i :: T_Instruction +sem_Instruction_Add_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 973 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 978 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Add_i_1 :: T_Instruction_1 +                       sem_Instruction_Add_i_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 988 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 993 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 998 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Add_i_2 :: T_Instruction_2 +                                               sem_Instruction_Add_i_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Add_i+                                                                {-# LINE 1006 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1011 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1016 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Add_i_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Add_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_ApplyType :: Word32 ->+                             T_Instruction +sem_Instruction_ApplyType name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1032 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1037 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_ApplyType_1 :: T_Instruction_1 +                       sem_Instruction_ApplyType_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1047 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1052 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1057 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_ApplyType_2 :: T_Instruction_2 +                                               sem_Instruction_ApplyType_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_ApplyType name_+                                                                {-# LINE 1065 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1070 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1075 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_ApplyType_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_ApplyType_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_AsType :: Word32 ->+                          T_Instruction +sem_Instruction_AsType name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1091 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1096 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_AsType_1 :: T_Instruction_1 +                       sem_Instruction_AsType_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1106 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1111 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1116 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_AsType_2 :: T_Instruction_2 +                                               sem_Instruction_AsType_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_AsType name_+                                                                {-# LINE 1124 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1129 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1134 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_AsType_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_AsType_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_AsTypeLate :: T_Instruction +sem_Instruction_AsTypeLate  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1149 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1154 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_AsTypeLate_1 :: T_Instruction_1 +                       sem_Instruction_AsTypeLate_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1164 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1169 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1174 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_AsTypeLate_2 :: T_Instruction_2 +                                               sem_Instruction_AsTypeLate_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_AsTypeLate+                                                                {-# LINE 1182 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1187 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1192 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_AsTypeLate_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_AsTypeLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_BitAnd :: T_Instruction +sem_Instruction_BitAnd  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1207 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1212 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_BitAnd_1 :: T_Instruction_1 +                       sem_Instruction_BitAnd_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1222 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1227 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1232 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_BitAnd_2 :: T_Instruction_2 +                                               sem_Instruction_BitAnd_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_BitAnd+                                                                {-# LINE 1240 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1245 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1250 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_BitAnd_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_BitAnd_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_BitNot :: T_Instruction +sem_Instruction_BitNot  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1265 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1270 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_BitNot_1 :: T_Instruction_1 +                       sem_Instruction_BitNot_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1280 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1285 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1290 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_BitNot_2 :: T_Instruction_2 +                                               sem_Instruction_BitNot_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_BitNot+                                                                {-# LINE 1298 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1303 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1308 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_BitNot_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_BitNot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_BitOr :: T_Instruction +sem_Instruction_BitOr  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1323 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1328 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_BitOr_1 :: T_Instruction_1 +                       sem_Instruction_BitOr_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1338 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1343 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1348 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_BitOr_2 :: T_Instruction_2 +                                               sem_Instruction_BitOr_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_BitOr+                                                                {-# LINE 1356 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1361 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1366 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_BitOr_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_BitOr_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_BitXor :: T_Instruction +sem_Instruction_BitXor  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1381 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1386 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_BitXor_1 :: T_Instruction_1 +                       sem_Instruction_BitXor_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1396 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1401 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1406 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_BitXor_2 :: T_Instruction_2 +                                               sem_Instruction_BitXor_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_BitXor+                                                                {-# LINE 1414 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1419 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1424 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_BitXor_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_BitXor_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_BreakLine :: Word32 ->+                             T_Instruction +sem_Instruction_BreakLine line_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1440 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1445 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_BreakLine_1 :: T_Instruction_1 +                       sem_Instruction_BreakLine_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1455 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1460 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1465 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_BreakLine_2 :: T_Instruction_2 +                                               sem_Instruction_BreakLine_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_BreakLine line_+                                                                {-# LINE 1473 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1478 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1483 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_BreakLine_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_BreakLine_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Breakpoint :: T_Instruction +sem_Instruction_Breakpoint  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1498 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1503 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Breakpoint_1 :: T_Instruction_1 +                       sem_Instruction_Breakpoint_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1513 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1518 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1523 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Breakpoint_2 :: T_Instruction_2 +                                               sem_Instruction_Breakpoint_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Breakpoint+                                                                {-# LINE 1531 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1536 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1541 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Breakpoint_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Breakpoint_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Call :: Word32 ->+                        T_Instruction +sem_Instruction_Call argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1557 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1562 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Call_1 :: T_Instruction_1 +                       sem_Instruction_Call_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1572 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1577 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1582 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Call_2 :: T_Instruction_2 +                                               sem_Instruction_Call_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Call argCount_+                                                                {-# LINE 1590 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1595 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1600 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Call_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Call_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallInterface :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallInterface name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1617 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1622 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallInterface_1 :: T_Instruction_1 +                       sem_Instruction_CallInterface_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1632 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1637 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1642 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_CallInterface_2 :: T_Instruction_2 +                                               sem_Instruction_CallInterface_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_CallInterface name_ argCount_+                                                                {-# LINE 1650 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1655 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1660 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_CallInterface_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_CallInterface_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallMethod :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallMethod index_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1677 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1682 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallMethod_1 :: T_Instruction_1 +                       sem_Instruction_CallMethod_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1692 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1697 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1702 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_CallMethod_2 :: T_Instruction_2 +                                               sem_Instruction_CallMethod_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_CallMethod index_ argCount_+                                                                {-# LINE 1710 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1715 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1720 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_CallMethod_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_CallMethod_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallProp :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_CallProp name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1737 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1742 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallProp_1 :: T_Instruction_1 +                       sem_Instruction_CallProp_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1752 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1757 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1762 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_CallProp_2 :: T_Instruction_2 +                                               sem_Instruction_CallProp_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_CallProp name_ argCount_+                                                                {-# LINE 1770 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1775 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1780 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_CallProp_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_CallProp_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallPropLex :: Word32 ->+                               Word32 ->+                               T_Instruction +sem_Instruction_CallPropLex name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1797 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1802 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallPropLex_1 :: T_Instruction_1 +                       sem_Instruction_CallPropLex_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1812 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1817 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1822 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_CallPropLex_2 :: T_Instruction_2 +                                               sem_Instruction_CallPropLex_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_CallPropLex name_ argCount_+                                                                {-# LINE 1830 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1835 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1840 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_CallPropLex_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_CallPropLex_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallPropVoid :: Word32 ->+                                Word32 ->+                                T_Instruction +sem_Instruction_CallPropVoid name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1857 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1862 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallPropVoid_1 :: T_Instruction_1 +                       sem_Instruction_CallPropVoid_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1872 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1877 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1882 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_CallPropVoid_2 :: T_Instruction_2 +                                               sem_Instruction_CallPropVoid_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_CallPropVoid name_ argCount_+                                                                {-# LINE 1890 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1895 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1900 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_CallPropVoid_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_CallPropVoid_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallStatic :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallStatic method_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1917 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1922 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallStatic_1 :: T_Instruction_1 +                       sem_Instruction_CallStatic_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1932 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1937 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 1942 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_CallStatic_2 :: T_Instruction_2 +                                               sem_Instruction_CallStatic_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_CallStatic method_ argCount_+                                                                {-# LINE 1950 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 1955 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 1960 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_CallStatic_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_CallStatic_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallSuper :: Word32 ->+                             Word32 ->+                             T_Instruction +sem_Instruction_CallSuper name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 1977 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1982 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallSuper_1 :: T_Instruction_1 +                       sem_Instruction_CallSuper_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 1992 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 1997 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2002 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_CallSuper_2 :: T_Instruction_2 +                                               sem_Instruction_CallSuper_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_CallSuper name_ argCount_+                                                                {-# LINE 2010 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2015 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2020 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_CallSuper_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_CallSuper_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallSuperId :: T_Instruction +sem_Instruction_CallSuperId  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2035 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2040 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallSuperId_1 :: T_Instruction_1 +                       sem_Instruction_CallSuperId_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2050 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2055 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2060 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_CallSuperId_2 :: T_Instruction_2 +                                               sem_Instruction_CallSuperId_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_CallSuperId+                                                                {-# LINE 2068 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2073 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2078 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_CallSuperId_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_CallSuperId_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallSuperVoid :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallSuperVoid name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2095 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2100 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallSuperVoid_1 :: T_Instruction_1 +                       sem_Instruction_CallSuperVoid_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2110 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2115 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2120 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_CallSuperVoid_2 :: T_Instruction_2 +                                               sem_Instruction_CallSuperVoid_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_CallSuperVoid name_ argCount_+                                                                {-# LINE 2128 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2133 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2138 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_CallSuperVoid_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_CallSuperVoid_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CheckFilter :: T_Instruction +sem_Instruction_CheckFilter  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2153 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2158 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CheckFilter_1 :: T_Instruction_1 +                       sem_Instruction_CheckFilter_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2168 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2173 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2178 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_CheckFilter_2 :: T_Instruction_2 +                                               sem_Instruction_CheckFilter_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_CheckFilter+                                                                {-# LINE 2186 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2191 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2196 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_CheckFilter_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_CheckFilter_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce :: Word32 ->+                          T_Instruction +sem_Instruction_Coerce name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2212 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2217 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2227 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2232 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2237 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Coerce_2 :: T_Instruction_2 +                                               sem_Instruction_Coerce_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Coerce name_+                                                                {-# LINE 2245 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2250 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2255 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Coerce_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Coerce_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_a :: T_Instruction +sem_Instruction_Coerce_a  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2270 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2275 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_a_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_a_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2285 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2290 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2295 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Coerce_a_2 :: T_Instruction_2 +                                               sem_Instruction_Coerce_a_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Coerce_a+                                                                {-# LINE 2303 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2308 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2313 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Coerce_a_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Coerce_a_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_b :: T_Instruction +sem_Instruction_Coerce_b  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2328 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2333 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_b_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_b_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2343 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2348 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2353 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Coerce_b_2 :: T_Instruction_2 +                                               sem_Instruction_Coerce_b_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Coerce_b+                                                                {-# LINE 2361 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2366 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2371 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Coerce_b_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Coerce_b_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_d :: T_Instruction +sem_Instruction_Coerce_d  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2386 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2391 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_d_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_d_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2401 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2406 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2411 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Coerce_d_2 :: T_Instruction_2 +                                               sem_Instruction_Coerce_d_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Coerce_d+                                                                {-# LINE 2419 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2424 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2429 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Coerce_d_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Coerce_d_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_i :: T_Instruction +sem_Instruction_Coerce_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2444 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2449 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_i_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_i_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2459 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2464 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2469 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Coerce_i_2 :: T_Instruction_2 +                                               sem_Instruction_Coerce_i_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Coerce_i+                                                                {-# LINE 2477 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2482 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2487 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Coerce_i_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Coerce_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_o :: T_Instruction +sem_Instruction_Coerce_o  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2502 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2507 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_o_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_o_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2517 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2522 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2527 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Coerce_o_2 :: T_Instruction_2 +                                               sem_Instruction_Coerce_o_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Coerce_o+                                                                {-# LINE 2535 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2540 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2545 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Coerce_o_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Coerce_o_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_s :: T_Instruction +sem_Instruction_Coerce_s  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2560 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2565 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_s_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_s_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2575 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2580 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2585 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Coerce_s_2 :: T_Instruction_2 +                                               sem_Instruction_Coerce_s_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Coerce_s+                                                                {-# LINE 2593 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2598 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2603 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Coerce_s_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Coerce_s_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_u :: T_Instruction +sem_Instruction_Coerce_u  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2618 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2623 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_u_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_u_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2633 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2638 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2643 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Coerce_u_2 :: T_Instruction_2 +                                               sem_Instruction_Coerce_u_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Coerce_u+                                                                {-# LINE 2651 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2656 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2661 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Coerce_u_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Coerce_u_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Concat :: T_Instruction +sem_Instruction_Concat  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2676 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2681 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Concat_1 :: T_Instruction_1 +                       sem_Instruction_Concat_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2691 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2696 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2701 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Concat_2 :: T_Instruction_2 +                                               sem_Instruction_Concat_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Concat+                                                                {-# LINE 2709 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2714 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2719 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Concat_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Concat_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Construct :: Word32 ->+                             T_Instruction +sem_Instruction_Construct argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2735 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2740 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Construct_1 :: T_Instruction_1 +                       sem_Instruction_Construct_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2750 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2755 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2760 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Construct_2 :: T_Instruction_2 +                                               sem_Instruction_Construct_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Construct argCount_+                                                                {-# LINE 2768 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2773 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2778 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Construct_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Construct_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_ConstructProp :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_ConstructProp name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2795 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2800 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_ConstructProp_1 :: T_Instruction_1 +                       sem_Instruction_ConstructProp_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2810 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2815 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2820 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_ConstructProp_2 :: T_Instruction_2 +                                               sem_Instruction_ConstructProp_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_ConstructProp name_ argCount_+                                                                {-# LINE 2828 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2833 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2838 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_ConstructProp_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_ConstructProp_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_ConstructSuper :: Word32 ->+                                  T_Instruction +sem_Instruction_ConstructSuper argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2854 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2859 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_ConstructSuper_1 :: T_Instruction_1 +                       sem_Instruction_ConstructSuper_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2869 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2874 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2879 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_ConstructSuper_2 :: T_Instruction_2 +                                               sem_Instruction_ConstructSuper_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_ConstructSuper argCount_+                                                                {-# LINE 2887 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2892 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2897 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_ConstructSuper_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_ConstructSuper_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_b :: T_Instruction +sem_Instruction_Convert_b  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2912 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2917 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Convert_b_1 :: T_Instruction_1 +                       sem_Instruction_Convert_b_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2927 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2932 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2937 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Convert_b_2 :: T_Instruction_2 +                                               sem_Instruction_Convert_b_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Convert_b+                                                                {-# LINE 2945 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 2950 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 2955 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Convert_b_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Convert_b_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_d :: T_Instruction +sem_Instruction_Convert_d  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 2970 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2975 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Convert_d_1 :: T_Instruction_1 +                       sem_Instruction_Convert_d_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 2985 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 2990 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 2995 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Convert_d_2 :: T_Instruction_2 +                                               sem_Instruction_Convert_d_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Convert_d+                                                                {-# LINE 3003 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3008 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3013 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Convert_d_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Convert_d_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_i :: T_Instruction +sem_Instruction_Convert_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3028 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3033 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Convert_i_1 :: T_Instruction_1 +                       sem_Instruction_Convert_i_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3043 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3048 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3053 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Convert_i_2 :: T_Instruction_2 +                                               sem_Instruction_Convert_i_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Convert_i+                                                                {-# LINE 3061 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3066 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3071 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Convert_i_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Convert_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_o :: T_Instruction +sem_Instruction_Convert_o  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3086 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3091 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Convert_o_1 :: T_Instruction_1 +                       sem_Instruction_Convert_o_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3101 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3106 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3111 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Convert_o_2 :: T_Instruction_2 +                                               sem_Instruction_Convert_o_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Convert_o+                                                                {-# LINE 3119 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3124 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3129 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Convert_o_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Convert_o_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_s :: T_Instruction +sem_Instruction_Convert_s  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3144 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3149 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Convert_s_1 :: T_Instruction_1 +                       sem_Instruction_Convert_s_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3159 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3164 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3169 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Convert_s_2 :: T_Instruction_2 +                                               sem_Instruction_Convert_s_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Convert_s+                                                                {-# LINE 3177 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3182 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3187 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Convert_s_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Convert_s_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_u :: T_Instruction +sem_Instruction_Convert_u  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3202 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3207 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Convert_u_1 :: T_Instruction_1 +                       sem_Instruction_Convert_u_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3217 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3222 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3227 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Convert_u_2 :: T_Instruction_2 +                                               sem_Instruction_Convert_u_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Convert_u+                                                                {-# LINE 3235 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3240 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3245 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Convert_u_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Convert_u_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Debug :: T_DebugType  ->+                         Word32 ->+                         Word32 ->+                         Word32 ->+                         T_Instruction +sem_Instruction_Debug tp_ name_ reg_ extra_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3264 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3269 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Debug_1 :: T_Instruction_1 +                       sem_Instruction_Debug_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3279 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3284 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3289 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Debug_2 :: T_Instruction_2 +                                               sem_Instruction_Debug_2  =+                                                   (\ _lhsIretain ->+                                                        (case (tp_ ) of+                                                         { ( _tpIoutput) | True ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     Instruction_Debug _tpIoutput name_ reg_ extra_+                                                                     {-# LINE 3299 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _output | _output `seq` (True) ->+                                                              (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                      _output+                                                                      {-# LINE 3304 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                               (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                       False+                                                                       {-# LINE 3309 "src/InstrLocFilter.hs" #-}+                                                                       )) of+                                                                { _lhsOskip | _lhsOskip `seq` (True) ->+                                                                ( _lhsOoutput,_lhsOskip) }) }) }) }))+                                           in  sem_Instruction_Debug_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Debug_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DebugFile :: Word32 ->+                             T_Instruction +sem_Instruction_DebugFile name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3325 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3330 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DebugFile_1 :: T_Instruction_1 +                       sem_Instruction_DebugFile_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3340 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3345 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3350 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_DebugFile_2 :: T_Instruction_2 +                                               sem_Instruction_DebugFile_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_DebugFile name_+                                                                {-# LINE 3358 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3363 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3368 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_DebugFile_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_DebugFile_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DebugLine :: Word32 ->+                             T_Instruction +sem_Instruction_DebugLine line_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3384 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3389 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DebugLine_1 :: T_Instruction_1 +                       sem_Instruction_DebugLine_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3399 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3404 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3409 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_DebugLine_2 :: T_Instruction_2 +                                               sem_Instruction_DebugLine_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_DebugLine line_+                                                                {-# LINE 3417 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3422 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3427 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_DebugLine_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_DebugLine_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DecLocal :: Word32 ->+                            T_Instruction +sem_Instruction_DecLocal reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3443 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3448 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DecLocal_1 :: T_Instruction_1 +                       sem_Instruction_DecLocal_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3458 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3463 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3468 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_DecLocal_2 :: T_Instruction_2 +                                               sem_Instruction_DecLocal_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_DecLocal reg_+                                                                {-# LINE 3476 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3481 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3486 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_DecLocal_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_DecLocal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DecLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_DecLocal_i reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3502 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3507 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DecLocal_i_1 :: T_Instruction_1 +                       sem_Instruction_DecLocal_i_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3517 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3522 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3527 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_DecLocal_i_2 :: T_Instruction_2 +                                               sem_Instruction_DecLocal_i_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_DecLocal_i reg_+                                                                {-# LINE 3535 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3540 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3545 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_DecLocal_i_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_DecLocal_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Decrement :: T_Instruction +sem_Instruction_Decrement  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3560 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3565 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Decrement_1 :: T_Instruction_1 +                       sem_Instruction_Decrement_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3575 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3580 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3585 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Decrement_2 :: T_Instruction_2 +                                               sem_Instruction_Decrement_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Decrement+                                                                {-# LINE 3593 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3598 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3603 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Decrement_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Decrement_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Decrement_i :: T_Instruction +sem_Instruction_Decrement_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3618 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3623 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Decrement_i_1 :: T_Instruction_1 +                       sem_Instruction_Decrement_i_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3633 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3638 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3643 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Decrement_i_2 :: T_Instruction_2 +                                               sem_Instruction_Decrement_i_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Decrement_i+                                                                {-# LINE 3651 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3656 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3661 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Decrement_i_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Decrement_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DeleteProperty :: Word32 ->+                                  T_Instruction +sem_Instruction_DeleteProperty name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3677 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3682 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DeleteProperty_1 :: T_Instruction_1 +                       sem_Instruction_DeleteProperty_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3692 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3697 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3702 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_DeleteProperty_2 :: T_Instruction_2 +                                               sem_Instruction_DeleteProperty_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_DeleteProperty name_+                                                                {-# LINE 3710 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3715 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3720 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_DeleteProperty_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_DeleteProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DeletePropertyLate :: T_Instruction +sem_Instruction_DeletePropertyLate  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3735 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3740 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DeletePropertyLate_1 :: T_Instruction_1 +                       sem_Instruction_DeletePropertyLate_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3750 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3755 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3760 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_DeletePropertyLate_2 :: T_Instruction_2 +                                               sem_Instruction_DeletePropertyLate_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_DeletePropertyLate+                                                                {-# LINE 3768 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3773 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3778 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_DeletePropertyLate_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_DeletePropertyLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Divide :: T_Instruction +sem_Instruction_Divide  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3793 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3798 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Divide_1 :: T_Instruction_1 +                       sem_Instruction_Divide_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3808 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3813 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3818 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Divide_2 :: T_Instruction_2 +                                               sem_Instruction_Divide_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Divide+                                                                {-# LINE 3826 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3831 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3836 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Divide_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Divide_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Dup :: T_Instruction +sem_Instruction_Dup  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3851 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3856 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Dup_1 :: T_Instruction_1 +                       sem_Instruction_Dup_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3866 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3871 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3876 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Dup_2 :: T_Instruction_2 +                                               sem_Instruction_Dup_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Dup+                                                                {-# LINE 3884 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3889 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3894 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Dup_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Dup_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Dxns :: Word32 ->+                        T_Instruction +sem_Instruction_Dxns name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3910 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3915 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Dxns_1 :: T_Instruction_1 +                       sem_Instruction_Dxns_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3925 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3930 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3935 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Dxns_2 :: T_Instruction_2 +                                               sem_Instruction_Dxns_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Dxns name_+                                                                {-# LINE 3943 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 3948 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 3953 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Dxns_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Dxns_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DxnsLate :: T_Instruction +sem_Instruction_DxnsLate  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 3968 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3973 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DxnsLate_1 :: T_Instruction_1 +                       sem_Instruction_DxnsLate_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 3983 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 3988 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 3993 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_DxnsLate_2 :: T_Instruction_2 +                                               sem_Instruction_DxnsLate_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_DxnsLate+                                                                {-# LINE 4001 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4006 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4011 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_DxnsLate_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_DxnsLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Equals :: T_Instruction +sem_Instruction_Equals  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4026 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4031 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Equals_1 :: T_Instruction_1 +                       sem_Instruction_Equals_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4041 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4046 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4051 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Equals_2 :: T_Instruction_2 +                                               sem_Instruction_Equals_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Equals+                                                                {-# LINE 4059 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4064 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4069 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Equals_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Equals_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_EscXAttr :: T_Instruction +sem_Instruction_EscXAttr  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4084 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4089 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_EscXAttr_1 :: T_Instruction_1 +                       sem_Instruction_EscXAttr_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4099 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4104 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4109 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_EscXAttr_2 :: T_Instruction_2 +                                               sem_Instruction_EscXAttr_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_EscXAttr+                                                                {-# LINE 4117 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4122 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4127 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_EscXAttr_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_EscXAttr_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_EscXElem :: T_Instruction +sem_Instruction_EscXElem  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4142 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4147 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_EscXElem_1 :: T_Instruction_1 +                       sem_Instruction_EscXElem_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4157 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4162 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4167 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_EscXElem_2 :: T_Instruction_2 +                                               sem_Instruction_EscXElem_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_EscXElem+                                                                {-# LINE 4175 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4180 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4185 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_EscXElem_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_EscXElem_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_FindDef :: Word32 ->+                           T_Instruction +sem_Instruction_FindDef name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4201 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4206 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_FindDef_1 :: T_Instruction_1 +                       sem_Instruction_FindDef_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4216 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4221 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4226 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_FindDef_2 :: T_Instruction_2 +                                               sem_Instruction_FindDef_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_FindDef name_+                                                                {-# LINE 4234 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4239 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4244 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_FindDef_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_FindDef_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_FindPropStrict :: Word32 ->+                                  T_Instruction +sem_Instruction_FindPropStrict name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4260 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4265 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_FindPropStrict_1 :: T_Instruction_1 +                       sem_Instruction_FindPropStrict_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4275 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4280 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4285 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_FindPropStrict_2 :: T_Instruction_2 +                                               sem_Instruction_FindPropStrict_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_FindPropStrict name_+                                                                {-# LINE 4293 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4298 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4303 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_FindPropStrict_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_FindPropStrict_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_FindProperty :: Word32 ->+                                T_Instruction +sem_Instruction_FindProperty name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4319 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4324 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_FindProperty_1 :: T_Instruction_1 +                       sem_Instruction_FindProperty_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4334 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4339 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4344 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_FindProperty_2 :: T_Instruction_2 +                                               sem_Instruction_FindProperty_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_FindProperty name_+                                                                {-# LINE 4352 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4357 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4362 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_FindProperty_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_FindProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_FindPropertyGlobal :: Word32 ->+                                      T_Instruction +sem_Instruction_FindPropertyGlobal name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4378 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4383 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_FindPropertyGlobal_1 :: T_Instruction_1 +                       sem_Instruction_FindPropertyGlobal_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4393 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4398 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4403 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_FindPropertyGlobal_2 :: T_Instruction_2 +                                               sem_Instruction_FindPropertyGlobal_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_FindPropertyGlobal name_+                                                                {-# LINE 4411 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4416 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4421 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_FindPropertyGlobal_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_FindPropertyGlobal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_FindPropertyGlobalStrict :: Word32 ->+                                            T_Instruction +sem_Instruction_FindPropertyGlobalStrict name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4437 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4442 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_FindPropertyGlobalStrict_1 :: T_Instruction_1 +                       sem_Instruction_FindPropertyGlobalStrict_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4452 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4457 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4462 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_FindPropertyGlobalStrict_2 :: T_Instruction_2 +                                               sem_Instruction_FindPropertyGlobalStrict_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_FindPropertyGlobalStrict name_+                                                                {-# LINE 4470 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4475 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4480 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_FindPropertyGlobalStrict_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_FindPropertyGlobalStrict_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetDescendants :: Word32 ->+                                  T_Instruction +sem_Instruction_GetDescendants name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4496 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4501 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetDescendants_1 :: T_Instruction_1 +                       sem_Instruction_GetDescendants_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4511 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4516 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4521 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetDescendants_2 :: T_Instruction_2 +                                               sem_Instruction_GetDescendants_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetDescendants name_+                                                                {-# LINE 4529 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4534 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4539 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetDescendants_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetDescendants_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetGlobalScope :: T_Instruction +sem_Instruction_GetGlobalScope  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4554 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4559 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetGlobalScope_1 :: T_Instruction_1 +                       sem_Instruction_GetGlobalScope_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4569 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4574 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4579 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetGlobalScope_2 :: T_Instruction_2 +                                               sem_Instruction_GetGlobalScope_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetGlobalScope+                                                                {-# LINE 4587 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4592 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4597 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetGlobalScope_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetGlobalScope_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_GetGlobalSlot slot_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4613 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4618 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetGlobalSlot_1 :: T_Instruction_1 +                       sem_Instruction_GetGlobalSlot_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4628 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4633 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4638 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetGlobalSlot_2 :: T_Instruction_2 +                                               sem_Instruction_GetGlobalSlot_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetGlobalSlot slot_+                                                                {-# LINE 4646 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4651 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4656 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetGlobalSlot_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetGlobalSlot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetLex :: Word32 ->+                          T_Instruction +sem_Instruction_GetLex name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4672 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4677 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetLex_1 :: T_Instruction_1 +                       sem_Instruction_GetLex_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4687 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4692 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4697 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetLex_2 :: T_Instruction_2 +                                               sem_Instruction_GetLex_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetLex name_+                                                                {-# LINE 4705 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4710 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4715 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetLex_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetLex_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_GetLocal reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4731 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4736 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetLocal_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4746 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4751 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4756 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetLocal_2 :: T_Instruction_2 +                                               sem_Instruction_GetLocal_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetLocal reg_+                                                                {-# LINE 4764 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4769 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4774 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetLocal_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetLocal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal0 :: T_Instruction +sem_Instruction_GetLocal0  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4789 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4794 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetLocal0_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal0_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4804 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4809 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4814 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetLocal0_2 :: T_Instruction_2 +                                               sem_Instruction_GetLocal0_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetLocal0+                                                                {-# LINE 4822 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4827 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4832 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetLocal0_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetLocal0_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal1 :: T_Instruction +sem_Instruction_GetLocal1  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4847 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4852 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetLocal1_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal1_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4862 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4867 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4872 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetLocal1_2 :: T_Instruction_2 +                                               sem_Instruction_GetLocal1_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetLocal1+                                                                {-# LINE 4880 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4885 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4890 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetLocal1_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetLocal1_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal2 :: T_Instruction +sem_Instruction_GetLocal2  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4905 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4910 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetLocal2_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal2_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4920 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4925 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4930 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetLocal2_2 :: T_Instruction_2 +                                               sem_Instruction_GetLocal2_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetLocal2+                                                                {-# LINE 4938 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 4943 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 4948 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetLocal2_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetLocal2_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal3 :: T_Instruction +sem_Instruction_GetLocal3  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 4963 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4968 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetLocal3_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal3_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 4978 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 4983 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 4988 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetLocal3_2 :: T_Instruction_2 +                                               sem_Instruction_GetLocal3_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetLocal3+                                                                {-# LINE 4996 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 5001 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 5006 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetLocal3_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetLocal3_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetOuterScope :: Word32 ->+                                 T_Instruction +sem_Instruction_GetOuterScope name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 5022 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5027 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetOuterScope_1 :: T_Instruction_1 +                       sem_Instruction_GetOuterScope_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5037 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 5042 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 5047 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetOuterScope_2 :: T_Instruction_2 +                                               sem_Instruction_GetOuterScope_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetOuterScope name_+                                                                {-# LINE 5055 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 5060 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 5065 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetOuterScope_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetOuterScope_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_GetProperty name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 5081 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5086 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetProperty_1 :: T_Instruction_1 +                       sem_Instruction_GetProperty_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5096 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 5101 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 5106 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetProperty_2 :: T_Instruction_2 +                                               sem_Instruction_GetProperty_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetProperty name_+                                                                {-# LINE 5114 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 5119 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 5124 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetProperty_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetScopeObject :: Word8 ->+                                  T_Instruction +sem_Instruction_GetScopeObject index_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 5140 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5145 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetScopeObject_1 :: T_Instruction_1 +                       sem_Instruction_GetScopeObject_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5155 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 5160 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 5165 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetScopeObject_2 :: T_Instruction_2 +                                               sem_Instruction_GetScopeObject_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetScopeObject index_+                                                                {-# LINE 5173 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 5178 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 5183 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetScopeObject_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetScopeObject_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_GetSlot slot_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 5199 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5204 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetSlot_1 :: T_Instruction_1 +                       sem_Instruction_GetSlot_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5214 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 5219 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 5224 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetSlot_2 :: T_Instruction_2 +                                               sem_Instruction_GetSlot_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetSlot slot_+                                                                {-# LINE 5232 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 5237 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 5242 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetSlot_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetSlot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_GetSuper name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 5258 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5263 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetSuper_1 :: T_Instruction_1 +                       sem_Instruction_GetSuper_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5273 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 5278 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 5283 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GetSuper_2 :: T_Instruction_2 +                                               sem_Instruction_GetSuper_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GetSuper name_+                                                                {-# LINE 5291 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 5296 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 5301 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GetSuper_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GetSuper_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GreaterEquals :: T_Instruction +sem_Instruction_GreaterEquals  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 5316 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5321 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GreaterEquals_1 :: T_Instruction_1 +                       sem_Instruction_GreaterEquals_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5331 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 5336 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 5341 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GreaterEquals_2 :: T_Instruction_2 +                                               sem_Instruction_GreaterEquals_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GreaterEquals+                                                                {-# LINE 5349 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 5354 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 5359 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GreaterEquals_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GreaterEquals_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GreaterThan :: T_Instruction +sem_Instruction_GreaterThan  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 5374 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5379 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GreaterThan_1 :: T_Instruction_1 +                       sem_Instruction_GreaterThan_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5389 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 5394 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 5399 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_GreaterThan_2 :: T_Instruction_2 +                                               sem_Instruction_GreaterThan_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_GreaterThan+                                                                {-# LINE 5407 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 5412 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 5417 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_GreaterThan_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_GreaterThan_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_HasNext :: T_Instruction +sem_Instruction_HasNext  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 5432 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5437 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_HasNext_1 :: T_Instruction_1 +                       sem_Instruction_HasNext_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5447 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 5452 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 5457 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_HasNext_2 :: T_Instruction_2 +                                               sem_Instruction_HasNext_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_HasNext+                                                                {-# LINE 5465 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 5470 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 5475 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_HasNext_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_HasNext_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_HasNext2 :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_HasNext2 objectReg_ indexReg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 5492 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5497 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_HasNext2_1 :: T_Instruction_1 +                       sem_Instruction_HasNext2_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5507 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 5512 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 5517 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_HasNext2_2 :: T_Instruction_2 +                                               sem_Instruction_HasNext2_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_HasNext2 objectReg_ indexReg_+                                                                {-# LINE 5525 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 5530 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 5535 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_HasNext2_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_HasNext2_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfEq :: Word32 ->+                        T_Instruction +sem_Instruction_IfEq offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 5551 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5556 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfEq_1 :: T_Instruction_1 +                       sem_Instruction_IfEq_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5566 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 5571 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 5576 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 5581 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 5586 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 5591 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 5596 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfEq_2 :: T_Instruction_2 +                                                   sem_Instruction_IfEq_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfEq offset_+                                                                    {-# LINE 5604 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 5609 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 5614 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfEq_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfEq_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfFalse :: Word32 ->+                           T_Instruction +sem_Instruction_IfFalse offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 5630 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5635 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfFalse_1 :: T_Instruction_1 +                       sem_Instruction_IfFalse_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5645 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 5650 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 5655 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 5660 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 5665 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 5670 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 5675 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfFalse_2 :: T_Instruction_2 +                                                   sem_Instruction_IfFalse_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfFalse offset_+                                                                    {-# LINE 5683 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 5688 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 5693 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfFalse_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfFalse_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfGe :: Word32 ->+                        T_Instruction +sem_Instruction_IfGe offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 5709 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5714 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfGe_1 :: T_Instruction_1 +                       sem_Instruction_IfGe_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5724 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 5729 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 5734 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 5739 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 5744 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 5749 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 5754 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfGe_2 :: T_Instruction_2 +                                                   sem_Instruction_IfGe_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfGe offset_+                                                                    {-# LINE 5762 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 5767 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 5772 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfGe_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfGe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfGt :: Word32 ->+                        T_Instruction +sem_Instruction_IfGt offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 5788 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5793 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfGt_1 :: T_Instruction_1 +                       sem_Instruction_IfGt_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5803 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 5808 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 5813 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 5818 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 5823 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 5828 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 5833 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfGt_2 :: T_Instruction_2 +                                                   sem_Instruction_IfGt_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfGt offset_+                                                                    {-# LINE 5841 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 5846 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 5851 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfGt_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfGt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfLe :: Word32 ->+                        T_Instruction +sem_Instruction_IfLe offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 5867 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5872 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfLe_1 :: T_Instruction_1 +                       sem_Instruction_IfLe_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5882 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 5887 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 5892 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 5897 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 5902 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 5907 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 5912 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfLe_2 :: T_Instruction_2 +                                                   sem_Instruction_IfLe_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfLe offset_+                                                                    {-# LINE 5920 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 5925 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 5930 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfLe_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfLe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfLt :: Word32 ->+                        T_Instruction +sem_Instruction_IfLt offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 5946 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5951 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfLt_1 :: T_Instruction_1 +                       sem_Instruction_IfLt_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 5961 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 5966 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 5971 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 5976 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 5981 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 5986 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 5991 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfLt_2 :: T_Instruction_2 +                                                   sem_Instruction_IfLt_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfLt offset_+                                                                    {-# LINE 5999 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 6004 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 6009 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfLt_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfLt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfNGe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGe offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 6025 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6030 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfNGe_1 :: T_Instruction_1 +                       sem_Instruction_IfNGe_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6040 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 6045 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 6050 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 6055 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 6060 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 6065 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6070 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfNGe_2 :: T_Instruction_2 +                                                   sem_Instruction_IfNGe_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfNGe offset_+                                                                    {-# LINE 6078 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 6083 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 6088 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfNGe_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfNGe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfNGt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGt offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 6104 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6109 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfNGt_1 :: T_Instruction_1 +                       sem_Instruction_IfNGt_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6119 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 6124 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 6129 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 6134 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 6139 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 6144 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6149 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfNGt_2 :: T_Instruction_2 +                                                   sem_Instruction_IfNGt_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfNGt offset_+                                                                    {-# LINE 6157 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 6162 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 6167 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfNGt_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfNGt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfNLe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLe offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 6183 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6188 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfNLe_1 :: T_Instruction_1 +                       sem_Instruction_IfNLe_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6198 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 6203 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 6208 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 6213 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 6218 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 6223 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6228 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfNLe_2 :: T_Instruction_2 +                                                   sem_Instruction_IfNLe_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfNLe offset_+                                                                    {-# LINE 6236 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 6241 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 6246 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfNLe_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfNLe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfNLt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLt offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 6262 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6267 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfNLt_1 :: T_Instruction_1 +                       sem_Instruction_IfNLt_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6277 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 6282 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 6287 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 6292 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 6297 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 6302 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6307 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfNLt_2 :: T_Instruction_2 +                                                   sem_Instruction_IfNLt_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfNLt offset_+                                                                    {-# LINE 6315 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 6320 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 6325 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfNLt_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfNLt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfNe :: Word32 ->+                        T_Instruction +sem_Instruction_IfNe offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 6341 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6346 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfNe_1 :: T_Instruction_1 +                       sem_Instruction_IfNe_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6356 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 6361 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 6366 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 6371 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 6376 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 6381 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6386 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfNe_2 :: T_Instruction_2 +                                                   sem_Instruction_IfNe_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfNe offset_+                                                                    {-# LINE 6394 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 6399 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 6404 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfNe_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfNe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfStrictEq :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictEq offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 6420 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6425 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfStrictEq_1 :: T_Instruction_1 +                       sem_Instruction_IfStrictEq_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6435 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 6440 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 6445 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 6450 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 6455 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 6460 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6465 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfStrictEq_2 :: T_Instruction_2 +                                                   sem_Instruction_IfStrictEq_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfStrictEq offset_+                                                                    {-# LINE 6473 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 6478 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 6483 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfStrictEq_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfStrictEq_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfStrictNe :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictNe offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 6499 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6504 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfStrictNe_1 :: T_Instruction_1 +                       sem_Instruction_IfStrictNe_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6514 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 6519 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 6524 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 6529 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 6534 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 6539 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6544 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfStrictNe_2 :: T_Instruction_2 +                                                   sem_Instruction_IfStrictNe_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfStrictNe offset_+                                                                    {-# LINE 6552 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 6557 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 6562 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfStrictNe_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfStrictNe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfTrue :: Word32 ->+                          T_Instruction +sem_Instruction_IfTrue offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 6578 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6583 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfTrue_1 :: T_Instruction_1 +                       sem_Instruction_IfTrue_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6593 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 6598 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 6603 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 6608 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 6613 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 6618 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6623 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_IfTrue_2 :: T_Instruction_2 +                                                   sem_Instruction_IfTrue_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_IfTrue offset_+                                                                    {-# LINE 6631 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 6636 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 6641 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_IfTrue_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfTrue_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_In :: T_Instruction +sem_Instruction_In  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 6656 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6661 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_In_1 :: T_Instruction_1 +                       sem_Instruction_In_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6671 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 6676 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 6681 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_In_2 :: T_Instruction_2 +                                               sem_Instruction_In_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_In+                                                                {-# LINE 6689 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 6694 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 6699 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_In_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_In_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IncLocal :: Word32 ->+                            T_Instruction +sem_Instruction_IncLocal reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 6715 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6720 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IncLocal_1 :: T_Instruction_1 +                       sem_Instruction_IncLocal_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6730 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 6735 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 6740 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_IncLocal_2 :: T_Instruction_2 +                                               sem_Instruction_IncLocal_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_IncLocal reg_+                                                                {-# LINE 6748 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 6753 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 6758 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_IncLocal_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_IncLocal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IncLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_IncLocal_i reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 6774 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6779 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IncLocal_i_1 :: T_Instruction_1 +                       sem_Instruction_IncLocal_i_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6789 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 6794 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 6799 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_IncLocal_i_2 :: T_Instruction_2 +                                               sem_Instruction_IncLocal_i_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_IncLocal_i reg_+                                                                {-# LINE 6807 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 6812 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 6817 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_IncLocal_i_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_IncLocal_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Increment :: T_Instruction +sem_Instruction_Increment  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 6832 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6837 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Increment_1 :: T_Instruction_1 +                       sem_Instruction_Increment_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6847 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 6852 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 6857 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Increment_2 :: T_Instruction_2 +                                               sem_Instruction_Increment_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Increment+                                                                {-# LINE 6865 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 6870 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 6875 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Increment_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Increment_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Increment_i :: T_Instruction +sem_Instruction_Increment_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 6890 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6895 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Increment_i_1 :: T_Instruction_1 +                       sem_Instruction_Increment_i_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6905 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 6910 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 6915 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Increment_i_2 :: T_Instruction_2 +                                               sem_Instruction_Increment_i_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Increment_i+                                                                {-# LINE 6923 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 6928 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 6933 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Increment_i_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Increment_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_InitProperty :: Word32 ->+                                T_Instruction +sem_Instruction_InitProperty name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 6949 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6954 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_InitProperty_1 :: T_Instruction_1 +                       sem_Instruction_InitProperty_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 6964 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 6969 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 6974 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_InitProperty_2 :: T_Instruction_2 +                                               sem_Instruction_InitProperty_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_InitProperty name_+                                                                {-# LINE 6982 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 6987 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 6992 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_InitProperty_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_InitProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_InstanceOf :: T_Instruction +sem_Instruction_InstanceOf  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7007 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7012 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_InstanceOf_1 :: T_Instruction_1 +                       sem_Instruction_InstanceOf_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7022 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7027 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7032 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_InstanceOf_2 :: T_Instruction_2 +                                               sem_Instruction_InstanceOf_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_InstanceOf+                                                                {-# LINE 7040 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7045 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7050 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_InstanceOf_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_InstanceOf_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IsType :: Word32 ->+                          T_Instruction +sem_Instruction_IsType name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7066 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7071 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IsType_1 :: T_Instruction_1 +                       sem_Instruction_IsType_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7081 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7086 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7091 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_IsType_2 :: T_Instruction_2 +                                               sem_Instruction_IsType_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_IsType name_+                                                                {-# LINE 7099 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7104 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7109 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_IsType_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_IsType_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IsTypeLate :: T_Instruction +sem_Instruction_IsTypeLate  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7124 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7129 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IsTypeLate_1 :: T_Instruction_1 +                       sem_Instruction_IsTypeLate_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7139 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7144 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7149 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_IsTypeLate_2 :: T_Instruction_2 +                                               sem_Instruction_IsTypeLate_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_IsTypeLate+                                                                {-# LINE 7157 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7162 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7167 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_IsTypeLate_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_IsTypeLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Jump :: Word32 ->+                        T_Instruction +sem_Instruction_Jump offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 7183 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7188 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Jump_1 :: T_Instruction_1 +                       sem_Instruction_Jump_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7198 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                         fromS24 offset_+                                         {-# LINE 7203 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _relative | _relative `seq` (True) ->+                                  (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation + _relative+                                          {-# LINE 7208 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _target | _target `seq` (True) ->+                                   (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                           IntSet.insert _target+                                           {-# LINE 7213 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                    (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                            foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                            {-# LINE 7218 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                     (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                             True+                                             {-# LINE 7223 "src/InstrLocFilter.hs" #-}+                                             )) of+                                      { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 7228 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       (case ((let sem_Instruction_Jump_2 :: T_Instruction_2 +                                                   sem_Instruction_Jump_2  =+                                                       (\ _lhsIretain ->+                                                            (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                    Instruction_Jump offset_+                                                                    {-# LINE 7236 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _output | _output `seq` (True) ->+                                                             (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                     _output+                                                                     {-# LINE 7241 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                              (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                      False+                                                                      {-# LINE 7246 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOskip | _lhsOskip `seq` (True) ->+                                                               ( _lhsOoutput,_lhsOskip) }) }) }))+                                               in  sem_Instruction_Jump_2)) of+                                        { ( sem_Instruction_2) | True ->+                                        ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_Jump_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Kill :: Word32 ->+                        T_Instruction +sem_Instruction_Kill reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7262 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7267 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Kill_1 :: T_Instruction_1 +                       sem_Instruction_Kill_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7277 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7282 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7287 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Kill_2 :: T_Instruction_2 +                                               sem_Instruction_Kill_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Kill reg_+                                                                {-# LINE 7295 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7300 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7305 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Kill_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Kill_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Label :: T_Instruction +sem_Instruction_Label  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7320 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7325 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Label_1 :: T_Instruction_1 +                       sem_Instruction_Label_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7335 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7340 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7345 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Label_2 :: T_Instruction_2 +                                               sem_Instruction_Label_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Label+                                                                {-# LINE 7353 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7358 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7363 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Label_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Label_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LessEquals :: T_Instruction +sem_Instruction_LessEquals  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7378 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7383 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LessEquals_1 :: T_Instruction_1 +                       sem_Instruction_LessEquals_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7393 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7398 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7403 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_LessEquals_2 :: T_Instruction_2 +                                               sem_Instruction_LessEquals_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_LessEquals+                                                                {-# LINE 7411 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7416 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7421 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_LessEquals_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_LessEquals_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LessThan :: T_Instruction +sem_Instruction_LessThan  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7436 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7441 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LessThan_1 :: T_Instruction_1 +                       sem_Instruction_LessThan_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7451 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7456 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7461 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_LessThan_2 :: T_Instruction_2 +                                               sem_Instruction_LessThan_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_LessThan+                                                                {-# LINE 7469 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7474 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7479 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_LessThan_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_LessThan_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LoadFloat32 :: T_Instruction +sem_Instruction_LoadFloat32  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7494 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7499 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LoadFloat32_1 :: T_Instruction_1 +                       sem_Instruction_LoadFloat32_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7509 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7514 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7519 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_LoadFloat32_2 :: T_Instruction_2 +                                               sem_Instruction_LoadFloat32_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_LoadFloat32+                                                                {-# LINE 7527 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7532 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7537 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_LoadFloat32_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_LoadFloat32_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LoadFloat64 :: T_Instruction +sem_Instruction_LoadFloat64  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7552 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7557 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LoadFloat64_1 :: T_Instruction_1 +                       sem_Instruction_LoadFloat64_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7567 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7572 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7577 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_LoadFloat64_2 :: T_Instruction_2 +                                               sem_Instruction_LoadFloat64_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_LoadFloat64+                                                                {-# LINE 7585 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7590 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7595 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_LoadFloat64_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_LoadFloat64_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LoadIndirect16 :: T_Instruction +sem_Instruction_LoadIndirect16  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7610 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7615 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LoadIndirect16_1 :: T_Instruction_1 +                       sem_Instruction_LoadIndirect16_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7625 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7630 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7635 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_LoadIndirect16_2 :: T_Instruction_2 +                                               sem_Instruction_LoadIndirect16_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_LoadIndirect16+                                                                {-# LINE 7643 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7648 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7653 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_LoadIndirect16_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_LoadIndirect16_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LoadIndirect32 :: T_Instruction +sem_Instruction_LoadIndirect32  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7668 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7673 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LoadIndirect32_1 :: T_Instruction_1 +                       sem_Instruction_LoadIndirect32_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7683 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7688 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7693 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_LoadIndirect32_2 :: T_Instruction_2 +                                               sem_Instruction_LoadIndirect32_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_LoadIndirect32+                                                                {-# LINE 7701 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7706 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7711 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_LoadIndirect32_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_LoadIndirect32_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LoadIndirect8 :: T_Instruction +sem_Instruction_LoadIndirect8  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7726 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7731 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LoadIndirect8_1 :: T_Instruction_1 +                       sem_Instruction_LoadIndirect8_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7741 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7746 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7751 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_LoadIndirect8_2 :: T_Instruction_2 +                                               sem_Instruction_LoadIndirect8_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_LoadIndirect8+                                                                {-# LINE 7759 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7764 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7769 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_LoadIndirect8_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_LoadIndirect8_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Location :: Int ->+                            T_Instruction +sem_Instruction_Location index_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7785 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 7 "src/ByteCodeLocationInfo.ag" #-}+                  index_+                  {-# LINE 7790 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Location_1 :: T_Instruction_1 +                       sem_Instruction_Location_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 81 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7800 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                 (case (({-# LINE 81 "src/InstrLocFilter.ag" #-}+                                         if _lhsIisBranch || _lhsIrevIsBranch then (IntSet.insert index_) else id+                                         {-# LINE 7805 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                  (case (({-# LINE 81 "src/InstrLocFilter.ag" #-}+                                          foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                          {-# LINE 7810 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                   (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                           False+                                           {-# LINE 7815 "src/InstrLocFilter.hs" #-}+                                           )) of+                                    { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                    (case (({-# LINE 11 "src/ByteCodeLocationInfo.ag" #-}+                                            index_+                                            {-# LINE 7820 "src/InstrLocFilter.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     (case ((let sem_Instruction_Location_2 :: T_Instruction_2 +                                                 sem_Instruction_Location_2  =+                                                     (\ _lhsIretain ->+                                                          (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                  Instruction_Location index_+                                                                  {-# LINE 7828 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _output | _output `seq` (True) ->+                                                           (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                   _output+                                                                   {-# LINE 7833 "src/InstrLocFilter.hs" #-}+                                                                   )) of+                                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                            (case (({-# LINE 55 "src/InstrLocFilter.ag" #-}+                                                                    not (IntSet.member index_ _lhsIretain)+                                                                    {-# LINE 7838 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _lhsOskip | _lhsOskip `seq` (True) ->+                                                             ( _lhsOoutput,_lhsOskip) }) }) }))+                                             in  sem_Instruction_Location_2)) of+                                      { ( sem_Instruction_2) | True ->+                                      ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }))+                   in  sem_Instruction_Location_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LookupSwitch :: Word32 ->+                                T_CaseOffsets  ->+                                T_Instruction +sem_Instruction_LookupSwitch defaultOffset_ caseOffsets_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 65 "src/InstrLocFilter.ag" #-}+                 True+                 {-# LINE 7855 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7860 "src/InstrLocFilter.hs" #-}+                  )) of+           { _caseOffsetsOlocation | _caseOffsetsOlocation `seq` (True) ->+           (case (caseOffsets_ _caseOffsetsOlocation ) of+            { ( _caseOffsetsIlocation,caseOffsets_1) | True ->+                (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                        _caseOffsetsIlocation+                        {-# LINE 7867 "src/InstrLocFilter.hs" #-}+                        )) of+                 { _lhsOlocation | _lhsOlocation `seq` (True) ->+                 (case ((let sem_Instruction_LookupSwitch_1 :: T_Instruction_1 +                             sem_Instruction_LookupSwitch_1  =+                                 (\ _lhsIisBranch+                                    _lhsIrevIsBranch+                                    _lhsIrevLocation ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 7877 "src/InstrLocFilter.hs" #-}+                                              )) of+                                       { _caseOffsetsOrevLocation | _caseOffsetsOrevLocation `seq` (True) ->+                                       (case (caseOffsets_1 _caseOffsetsOrevLocation ) of+                                        { ( _caseOffsetsIlocs,_caseOffsetsIoutput,_caseOffsetsIrevLocation) | True ->+                                            (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                                    _caseOffsetsIlocs+                                                    {-# LINE 7884 "src/InstrLocFilter.hs" #-}+                                                    )) of+                                             { _locs_augmented_syn | _locs_augmented_syn `seq` (True) ->+                                             (case (({-# LINE 23 "src/ByteCodeLocationInfo.ag" #-}+                                                     fromS24 defaultOffset_+                                                     {-# LINE 7889 "src/InstrLocFilter.hs" #-}+                                                     )) of+                                              { _relative | _relative `seq` (True) ->+                                              (case (({-# LINE 24 "src/ByteCodeLocationInfo.ag" #-}+                                                      _lhsIlocation + _relative+                                                      {-# LINE 7894 "src/InstrLocFilter.hs" #-}+                                                      )) of+                                               { _target | _target `seq` (True) ->+                                               (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                                       IntSet.insert _target+                                                       {-# LINE 7899 "src/InstrLocFilter.hs" #-}+                                                       )) of+                                                { _locs_augmented_f1 | _locs_augmented_f1 `seq` (True) ->+                                                (case (({-# LINE 85 "src/InstrLocFilter.ag" #-}+                                                        foldr ($) _locs_augmented_syn [_locs_augmented_f1]+                                                        {-# LINE 7904 "src/InstrLocFilter.hs" #-}+                                                        )) of+                                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                                 (case (({-# LINE 66 "src/InstrLocFilter.ag" #-}+                                                         True+                                                         {-# LINE 7909 "src/InstrLocFilter.hs" #-}+                                                         )) of+                                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                          _caseOffsetsIrevLocation+                                                          {-# LINE 7914 "src/InstrLocFilter.hs" #-}+                                                          )) of+                                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                                   (case ((let sem_Instruction_LookupSwitch_2 :: T_Instruction_2 +                                                               sem_Instruction_LookupSwitch_2  =+                                                                   (\ _lhsIretain ->+                                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                                Instruction_LookupSwitch defaultOffset_ _caseOffsetsIoutput+                                                                                {-# LINE 7922 "src/InstrLocFilter.hs" #-}+                                                                                )) of+                                                                         { _output | _output `seq` (True) ->+                                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                                 _output+                                                                                 {-# LINE 7927 "src/InstrLocFilter.hs" #-}+                                                                                 )) of+                                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                                  False+                                                                                  {-# LINE 7932 "src/InstrLocFilter.hs" #-}+                                                                                  )) of+                                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                                           in  sem_Instruction_LookupSwitch_2)) of+                                                    { ( sem_Instruction_2) | True ->+                                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }) }) }) }) }) }) }))+                         in  sem_Instruction_LookupSwitch_1)) of+                  { ( sem_Instruction_1) | True ->+                  ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }) }) }))+sem_Instruction_Lshift :: T_Instruction +sem_Instruction_Lshift  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 7947 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 7952 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Lshift_1 :: T_Instruction_1 +                       sem_Instruction_Lshift_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 7962 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 7967 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 7972 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Lshift_2 :: T_Instruction_2 +                                               sem_Instruction_Lshift_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Lshift+                                                                {-# LINE 7980 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 7985 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 7990 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Lshift_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Lshift_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Modulo :: T_Instruction +sem_Instruction_Modulo  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8005 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8010 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Modulo_1 :: T_Instruction_1 +                       sem_Instruction_Modulo_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8020 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8025 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8030 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Modulo_2 :: T_Instruction_2 +                                               sem_Instruction_Modulo_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Modulo+                                                                {-# LINE 8038 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8043 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8048 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Modulo_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Modulo_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Multiply :: T_Instruction +sem_Instruction_Multiply  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8063 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8068 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Multiply_1 :: T_Instruction_1 +                       sem_Instruction_Multiply_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8078 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8083 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8088 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Multiply_2 :: T_Instruction_2 +                                               sem_Instruction_Multiply_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Multiply+                                                                {-# LINE 8096 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8101 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8106 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Multiply_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Multiply_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Multiply_i :: T_Instruction +sem_Instruction_Multiply_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8121 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8126 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Multiply_i_1 :: T_Instruction_1 +                       sem_Instruction_Multiply_i_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8136 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8141 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8146 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Multiply_i_2 :: T_Instruction_2 +                                               sem_Instruction_Multiply_i_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Multiply_i+                                                                {-# LINE 8154 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8159 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8164 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Multiply_i_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Multiply_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Negate :: T_Instruction +sem_Instruction_Negate  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8179 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8184 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Negate_1 :: T_Instruction_1 +                       sem_Instruction_Negate_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8194 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8199 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8204 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Negate_2 :: T_Instruction_2 +                                               sem_Instruction_Negate_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Negate+                                                                {-# LINE 8212 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8217 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8222 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Negate_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Negate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Negate_i :: T_Instruction +sem_Instruction_Negate_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8237 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8242 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Negate_i_1 :: T_Instruction_1 +                       sem_Instruction_Negate_i_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8252 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8257 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8262 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Negate_i_2 :: T_Instruction_2 +                                               sem_Instruction_Negate_i_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Negate_i+                                                                {-# LINE 8270 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8275 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8280 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Negate_i_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Negate_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NewActivation :: T_Instruction +sem_Instruction_NewActivation  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8295 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8300 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NewActivation_1 :: T_Instruction_1 +                       sem_Instruction_NewActivation_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8310 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8315 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8320 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_NewActivation_2 :: T_Instruction_2 +                                               sem_Instruction_NewActivation_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_NewActivation+                                                                {-# LINE 8328 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8333 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8338 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_NewActivation_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_NewActivation_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NewArray :: Word32 ->+                            T_Instruction +sem_Instruction_NewArray argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8354 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8359 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NewArray_1 :: T_Instruction_1 +                       sem_Instruction_NewArray_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8369 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8374 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8379 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_NewArray_2 :: T_Instruction_2 +                                               sem_Instruction_NewArray_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_NewArray argCount_+                                                                {-# LINE 8387 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8392 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8397 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_NewArray_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_NewArray_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NewCatch :: Word32 ->+                            T_Instruction +sem_Instruction_NewCatch exception_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8413 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8418 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NewCatch_1 :: T_Instruction_1 +                       sem_Instruction_NewCatch_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8428 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8433 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8438 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_NewCatch_2 :: T_Instruction_2 +                                               sem_Instruction_NewCatch_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_NewCatch exception_+                                                                {-# LINE 8446 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8451 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8456 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_NewCatch_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_NewCatch_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NewClass :: Word32 ->+                            T_Instruction +sem_Instruction_NewClass class_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8472 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8477 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NewClass_1 :: T_Instruction_1 +                       sem_Instruction_NewClass_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8487 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8492 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8497 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_NewClass_2 :: T_Instruction_2 +                                               sem_Instruction_NewClass_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_NewClass class_+                                                                {-# LINE 8505 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8510 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8515 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_NewClass_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_NewClass_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NewFunction :: Word32 ->+                               T_Instruction +sem_Instruction_NewFunction method_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8531 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8536 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NewFunction_1 :: T_Instruction_1 +                       sem_Instruction_NewFunction_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8546 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8551 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8556 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_NewFunction_2 :: T_Instruction_2 +                                               sem_Instruction_NewFunction_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_NewFunction method_+                                                                {-# LINE 8564 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8569 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8574 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_NewFunction_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_NewFunction_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NewObject :: Word32 ->+                             T_Instruction +sem_Instruction_NewObject argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8590 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8595 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NewObject_1 :: T_Instruction_1 +                       sem_Instruction_NewObject_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8605 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8610 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8615 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_NewObject_2 :: T_Instruction_2 +                                               sem_Instruction_NewObject_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_NewObject argCount_+                                                                {-# LINE 8623 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8628 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8633 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_NewObject_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_NewObject_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NextName :: T_Instruction +sem_Instruction_NextName  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8648 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8653 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NextName_1 :: T_Instruction_1 +                       sem_Instruction_NextName_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8663 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8668 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8673 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_NextName_2 :: T_Instruction_2 +                                               sem_Instruction_NextName_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_NextName+                                                                {-# LINE 8681 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8686 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8691 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_NextName_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_NextName_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NextValue :: T_Instruction +sem_Instruction_NextValue  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8706 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8711 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NextValue_1 :: T_Instruction_1 +                       sem_Instruction_NextValue_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8721 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8726 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8731 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_NextValue_2 :: T_Instruction_2 +                                               sem_Instruction_NextValue_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_NextValue+                                                                {-# LINE 8739 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8744 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8749 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_NextValue_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_NextValue_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Nop :: T_Instruction +sem_Instruction_Nop  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8764 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8769 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Nop_1 :: T_Instruction_1 +                       sem_Instruction_Nop_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8779 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8784 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8789 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Nop_2 :: T_Instruction_2 +                                               sem_Instruction_Nop_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Nop+                                                                {-# LINE 8797 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8802 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8807 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Nop_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Nop_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Not :: T_Instruction +sem_Instruction_Not  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8822 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8827 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Not_1 :: T_Instruction_1 +                       sem_Instruction_Not_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8837 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8842 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8847 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Not_2 :: T_Instruction_2 +                                               sem_Instruction_Not_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Not+                                                                {-# LINE 8855 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8860 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8865 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Not_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Not_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Pop :: T_Instruction +sem_Instruction_Pop  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8880 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8885 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Pop_1 :: T_Instruction_1 +                       sem_Instruction_Pop_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8895 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8900 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8905 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Pop_2 :: T_Instruction_2 +                                               sem_Instruction_Pop_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Pop+                                                                {-# LINE 8913 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8918 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8923 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Pop_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Pop_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PopScope :: T_Instruction +sem_Instruction_PopScope  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8938 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 8943 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PopScope_1 :: T_Instruction_1 +                       sem_Instruction_PopScope_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 8953 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 8958 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 8963 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PopScope_2 :: T_Instruction_2 +                                               sem_Instruction_PopScope_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PopScope+                                                                {-# LINE 8971 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 8976 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 8981 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PopScope_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PopScope_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushByte :: Word8 ->+                            T_Instruction +sem_Instruction_PushByte val_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 8997 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9002 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushByte_1 :: T_Instruction_1 +                       sem_Instruction_PushByte_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9012 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9017 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9022 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushByte_2 :: T_Instruction_2 +                                               sem_Instruction_PushByte_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushByte val_+                                                                {-# LINE 9030 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9035 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9040 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushByte_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushByte_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushDouble :: Word32 ->+                              T_Instruction +sem_Instruction_PushDouble name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9056 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9061 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushDouble_1 :: T_Instruction_1 +                       sem_Instruction_PushDouble_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9071 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9076 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9081 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushDouble_2 :: T_Instruction_2 +                                               sem_Instruction_PushDouble_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushDouble name_+                                                                {-# LINE 9089 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9094 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9099 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushDouble_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushDouble_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushFalse :: T_Instruction +sem_Instruction_PushFalse  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9114 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9119 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushFalse_1 :: T_Instruction_1 +                       sem_Instruction_PushFalse_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9129 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9134 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9139 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushFalse_2 :: T_Instruction_2 +                                               sem_Instruction_PushFalse_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushFalse+                                                                {-# LINE 9147 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9152 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9157 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushFalse_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushFalse_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushInt :: Word32 ->+                           T_Instruction +sem_Instruction_PushInt name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9173 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9178 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushInt_1 :: T_Instruction_1 +                       sem_Instruction_PushInt_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9188 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9193 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9198 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushInt_2 :: T_Instruction_2 +                                               sem_Instruction_PushInt_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushInt name_+                                                                {-# LINE 9206 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9211 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9216 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushInt_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushInt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushNaN :: T_Instruction +sem_Instruction_PushNaN  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9231 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9236 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushNaN_1 :: T_Instruction_1 +                       sem_Instruction_PushNaN_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9246 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9251 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9256 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushNaN_2 :: T_Instruction_2 +                                               sem_Instruction_PushNaN_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushNaN+                                                                {-# LINE 9264 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9269 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9274 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushNaN_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushNaN_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushNamespace :: Word32 ->+                                 T_Instruction +sem_Instruction_PushNamespace name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9290 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9295 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushNamespace_1 :: T_Instruction_1 +                       sem_Instruction_PushNamespace_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9305 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9310 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9315 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushNamespace_2 :: T_Instruction_2 +                                               sem_Instruction_PushNamespace_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushNamespace name_+                                                                {-# LINE 9323 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9328 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9333 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushNamespace_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushNamespace_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushNull :: T_Instruction +sem_Instruction_PushNull  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9348 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9353 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushNull_1 :: T_Instruction_1 +                       sem_Instruction_PushNull_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9363 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9368 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9373 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushNull_2 :: T_Instruction_2 +                                               sem_Instruction_PushNull_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushNull+                                                                {-# LINE 9381 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9386 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9391 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushNull_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushNull_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushScope :: T_Instruction +sem_Instruction_PushScope  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9406 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9411 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushScope_1 :: T_Instruction_1 +                       sem_Instruction_PushScope_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9421 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9426 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9431 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushScope_2 :: T_Instruction_2 +                                               sem_Instruction_PushScope_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushScope+                                                                {-# LINE 9439 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9444 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9449 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushScope_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushScope_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushShort :: Word32 ->+                             T_Instruction +sem_Instruction_PushShort val_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9465 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9470 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushShort_1 :: T_Instruction_1 +                       sem_Instruction_PushShort_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9480 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9485 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9490 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushShort_2 :: T_Instruction_2 +                                               sem_Instruction_PushShort_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushShort val_+                                                                {-# LINE 9498 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9503 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9508 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushShort_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushShort_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushString :: Word32 ->+                              T_Instruction +sem_Instruction_PushString name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9524 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9529 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushString_1 :: T_Instruction_1 +                       sem_Instruction_PushString_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9539 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9544 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9549 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushString_2 :: T_Instruction_2 +                                               sem_Instruction_PushString_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushString name_+                                                                {-# LINE 9557 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9562 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9567 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushString_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushString_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushTrue :: T_Instruction +sem_Instruction_PushTrue  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9582 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9587 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushTrue_1 :: T_Instruction_1 +                       sem_Instruction_PushTrue_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9597 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9602 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9607 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushTrue_2 :: T_Instruction_2 +                                               sem_Instruction_PushTrue_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushTrue+                                                                {-# LINE 9615 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9620 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9625 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushTrue_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushTrue_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushUInt :: Word32 ->+                            T_Instruction +sem_Instruction_PushUInt name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9641 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9646 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushUInt_1 :: T_Instruction_1 +                       sem_Instruction_PushUInt_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9656 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9661 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9666 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushUInt_2 :: T_Instruction_2 +                                               sem_Instruction_PushUInt_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushUInt name_+                                                                {-# LINE 9674 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9679 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9684 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushUInt_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushUInt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushUndefined :: T_Instruction +sem_Instruction_PushUndefined  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9699 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9704 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushUndefined_1 :: T_Instruction_1 +                       sem_Instruction_PushUndefined_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9714 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9719 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9724 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushUndefined_2 :: T_Instruction_2 +                                               sem_Instruction_PushUndefined_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushUndefined+                                                                {-# LINE 9732 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9737 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9742 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushUndefined_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushUndefined_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushWith :: T_Instruction +sem_Instruction_PushWith  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9757 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9762 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushWith_1 :: T_Instruction_1 +                       sem_Instruction_PushWith_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9772 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9777 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9782 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_PushWith_2 :: T_Instruction_2 +                                               sem_Instruction_PushWith_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_PushWith+                                                                {-# LINE 9790 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9795 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9800 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_PushWith_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_PushWith_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_ReturnValue :: T_Instruction +sem_Instruction_ReturnValue  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9815 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9820 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_ReturnValue_1 :: T_Instruction_1 +                       sem_Instruction_ReturnValue_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9830 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9835 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9840 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_ReturnValue_2 :: T_Instruction_2 +                                               sem_Instruction_ReturnValue_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_ReturnValue+                                                                {-# LINE 9848 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9853 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9858 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_ReturnValue_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_ReturnValue_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_ReturnVoid :: T_Instruction +sem_Instruction_ReturnVoid  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9873 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9878 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_ReturnVoid_1 :: T_Instruction_1 +                       sem_Instruction_ReturnVoid_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9888 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9893 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9898 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_ReturnVoid_2 :: T_Instruction_2 +                                               sem_Instruction_ReturnVoid_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_ReturnVoid+                                                                {-# LINE 9906 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9911 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9916 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_ReturnVoid_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_ReturnVoid_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Rshift :: T_Instruction +sem_Instruction_Rshift  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9931 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9936 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Rshift_1 :: T_Instruction_1 +                       sem_Instruction_Rshift_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 9946 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 9951 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 9956 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Rshift_2 :: T_Instruction_2 +                                               sem_Instruction_Rshift_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Rshift+                                                                {-# LINE 9964 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 9969 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 9974 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Rshift_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Rshift_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_SetGlobalSlot slot_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 9990 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 9995 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetGlobalSlot_1 :: T_Instruction_1 +                       sem_Instruction_SetGlobalSlot_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10005 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10010 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10015 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SetGlobalSlot_2 :: T_Instruction_2 +                                               sem_Instruction_SetGlobalSlot_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SetGlobalSlot slot_+                                                                {-# LINE 10023 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10028 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10033 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SetGlobalSlot_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SetGlobalSlot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_SetLocal reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10049 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10054 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetLocal_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10064 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10069 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10074 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SetLocal_2 :: T_Instruction_2 +                                               sem_Instruction_SetLocal_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SetLocal reg_+                                                                {-# LINE 10082 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10087 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10092 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SetLocal_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SetLocal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal0 :: T_Instruction +sem_Instruction_SetLocal0  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10107 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10112 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetLocal0_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal0_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10122 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10127 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10132 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SetLocal0_2 :: T_Instruction_2 +                                               sem_Instruction_SetLocal0_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SetLocal0+                                                                {-# LINE 10140 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10145 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10150 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SetLocal0_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SetLocal0_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal1 :: T_Instruction +sem_Instruction_SetLocal1  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10165 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10170 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetLocal1_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal1_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10180 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10185 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10190 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SetLocal1_2 :: T_Instruction_2 +                                               sem_Instruction_SetLocal1_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SetLocal1+                                                                {-# LINE 10198 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10203 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10208 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SetLocal1_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SetLocal1_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal2 :: T_Instruction +sem_Instruction_SetLocal2  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10223 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10228 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetLocal2_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal2_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10238 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10243 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10248 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SetLocal2_2 :: T_Instruction_2 +                                               sem_Instruction_SetLocal2_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SetLocal2+                                                                {-# LINE 10256 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10261 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10266 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SetLocal2_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SetLocal2_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal3 :: T_Instruction +sem_Instruction_SetLocal3  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10281 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10286 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetLocal3_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal3_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10296 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10301 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10306 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SetLocal3_2 :: T_Instruction_2 +                                               sem_Instruction_SetLocal3_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SetLocal3+                                                                {-# LINE 10314 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10319 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10324 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SetLocal3_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SetLocal3_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_SetProperty name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10340 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10345 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetProperty_1 :: T_Instruction_1 +                       sem_Instruction_SetProperty_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10355 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10360 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10365 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SetProperty_2 :: T_Instruction_2 +                                               sem_Instruction_SetProperty_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SetProperty name_+                                                                {-# LINE 10373 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10378 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10383 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SetProperty_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SetProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetPropertyLate :: T_Instruction +sem_Instruction_SetPropertyLate  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10398 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10403 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetPropertyLate_1 :: T_Instruction_1 +                       sem_Instruction_SetPropertyLate_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10413 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10418 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10423 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SetPropertyLate_2 :: T_Instruction_2 +                                               sem_Instruction_SetPropertyLate_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SetPropertyLate+                                                                {-# LINE 10431 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10436 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10441 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SetPropertyLate_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SetPropertyLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_SetSlot slot_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10457 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10462 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetSlot_1 :: T_Instruction_1 +                       sem_Instruction_SetSlot_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10472 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10477 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10482 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SetSlot_2 :: T_Instruction_2 +                                               sem_Instruction_SetSlot_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SetSlot slot_+                                                                {-# LINE 10490 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10495 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10500 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SetSlot_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SetSlot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_SetSuper name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10516 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10521 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetSuper_1 :: T_Instruction_1 +                       sem_Instruction_SetSuper_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10531 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10536 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10541 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SetSuper_2 :: T_Instruction_2 +                                               sem_Instruction_SetSuper_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SetSuper name_+                                                                {-# LINE 10549 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10554 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10559 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SetSuper_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SetSuper_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SignExtend1 :: T_Instruction +sem_Instruction_SignExtend1  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10574 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10579 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SignExtend1_1 :: T_Instruction_1 +                       sem_Instruction_SignExtend1_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10589 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10594 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10599 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SignExtend1_2 :: T_Instruction_2 +                                               sem_Instruction_SignExtend1_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SignExtend1+                                                                {-# LINE 10607 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10612 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10617 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SignExtend1_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SignExtend1_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SignExtend16 :: T_Instruction +sem_Instruction_SignExtend16  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10632 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10637 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SignExtend16_1 :: T_Instruction_1 +                       sem_Instruction_SignExtend16_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10647 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10652 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10657 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SignExtend16_2 :: T_Instruction_2 +                                               sem_Instruction_SignExtend16_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SignExtend16+                                                                {-# LINE 10665 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10670 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10675 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SignExtend16_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SignExtend16_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SignExtend8 :: T_Instruction +sem_Instruction_SignExtend8  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10690 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10695 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SignExtend8_1 :: T_Instruction_1 +                       sem_Instruction_SignExtend8_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10705 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10710 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10715 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_SignExtend8_2 :: T_Instruction_2 +                                               sem_Instruction_SignExtend8_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_SignExtend8+                                                                {-# LINE 10723 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10728 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10733 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_SignExtend8_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_SignExtend8_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_StoreFloat32 :: T_Instruction +sem_Instruction_StoreFloat32  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10748 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10753 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_StoreFloat32_1 :: T_Instruction_1 +                       sem_Instruction_StoreFloat32_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10763 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10768 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10773 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_StoreFloat32_2 :: T_Instruction_2 +                                               sem_Instruction_StoreFloat32_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_StoreFloat32+                                                                {-# LINE 10781 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10786 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10791 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_StoreFloat32_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_StoreFloat32_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_StoreFloat64 :: T_Instruction +sem_Instruction_StoreFloat64  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10806 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10811 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_StoreFloat64_1 :: T_Instruction_1 +                       sem_Instruction_StoreFloat64_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10821 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10826 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10831 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_StoreFloat64_2 :: T_Instruction_2 +                                               sem_Instruction_StoreFloat64_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_StoreFloat64+                                                                {-# LINE 10839 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10844 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10849 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_StoreFloat64_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_StoreFloat64_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_StoreIndirect16 :: T_Instruction +sem_Instruction_StoreIndirect16  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10864 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10869 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_StoreIndirect16_1 :: T_Instruction_1 +                       sem_Instruction_StoreIndirect16_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10879 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10884 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10889 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_StoreIndirect16_2 :: T_Instruction_2 +                                               sem_Instruction_StoreIndirect16_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_StoreIndirect16+                                                                {-# LINE 10897 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10902 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10907 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_StoreIndirect16_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_StoreIndirect16_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_StoreIndirect32 :: T_Instruction +sem_Instruction_StoreIndirect32  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10922 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10927 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_StoreIndirect32_1 :: T_Instruction_1 +                       sem_Instruction_StoreIndirect32_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10937 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 10942 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 10947 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_StoreIndirect32_2 :: T_Instruction_2 +                                               sem_Instruction_StoreIndirect32_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_StoreIndirect32+                                                                {-# LINE 10955 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 10960 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 10965 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_StoreIndirect32_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_StoreIndirect32_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_StoreIndirect8 :: T_Instruction +sem_Instruction_StoreIndirect8  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 10980 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 10985 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_StoreIndirect8_1 :: T_Instruction_1 +                       sem_Instruction_StoreIndirect8_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 10995 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 11000 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 11005 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_StoreIndirect8_2 :: T_Instruction_2 +                                               sem_Instruction_StoreIndirect8_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_StoreIndirect8+                                                                {-# LINE 11013 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 11018 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 11023 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_StoreIndirect8_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_StoreIndirect8_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_StrictEquals :: T_Instruction +sem_Instruction_StrictEquals  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 11038 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 11043 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_StrictEquals_1 :: T_Instruction_1 +                       sem_Instruction_StrictEquals_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 11053 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 11058 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 11063 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_StrictEquals_2 :: T_Instruction_2 +                                               sem_Instruction_StrictEquals_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_StrictEquals+                                                                {-# LINE 11071 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 11076 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 11081 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_StrictEquals_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_StrictEquals_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Substract :: T_Instruction +sem_Instruction_Substract  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 11096 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 11101 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Substract_1 :: T_Instruction_1 +                       sem_Instruction_Substract_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 11111 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 11116 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 11121 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Substract_2 :: T_Instruction_2 +                                               sem_Instruction_Substract_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Substract+                                                                {-# LINE 11129 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 11134 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 11139 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Substract_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Substract_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Substract_i :: T_Instruction +sem_Instruction_Substract_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 11154 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 11159 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Substract_i_1 :: T_Instruction_1 +                       sem_Instruction_Substract_i_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 11169 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 11174 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 11179 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Substract_i_2 :: T_Instruction_2 +                                               sem_Instruction_Substract_i_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Substract_i+                                                                {-# LINE 11187 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 11192 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 11197 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Substract_i_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Substract_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Swap :: T_Instruction +sem_Instruction_Swap  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 11212 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 11217 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Swap_1 :: T_Instruction_1 +                       sem_Instruction_Swap_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 11227 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 11232 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 11237 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Swap_2 :: T_Instruction_2 +                                               sem_Instruction_Swap_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Swap+                                                                {-# LINE 11245 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 11250 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 11255 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Swap_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Swap_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Throw :: T_Instruction +sem_Instruction_Throw  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 11270 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 11275 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Throw_1 :: T_Instruction_1 +                       sem_Instruction_Throw_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 11285 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 11290 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 11295 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Throw_2 :: T_Instruction_2 +                                               sem_Instruction_Throw_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Throw+                                                                {-# LINE 11303 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 11308 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 11313 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Throw_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Throw_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Timestamp :: T_Instruction +sem_Instruction_Timestamp  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 11328 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 11333 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Timestamp_1 :: T_Instruction_1 +                       sem_Instruction_Timestamp_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 11343 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 11348 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 11353 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Timestamp_2 :: T_Instruction_2 +                                               sem_Instruction_Timestamp_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Timestamp+                                                                {-# LINE 11361 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 11366 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 11371 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Timestamp_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Timestamp_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_TypeOf :: T_Instruction +sem_Instruction_TypeOf  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 11386 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 11391 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_TypeOf_1 :: T_Instruction_1 +                       sem_Instruction_TypeOf_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 11401 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 11406 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 11411 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_TypeOf_2 :: T_Instruction_2 +                                               sem_Instruction_TypeOf_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_TypeOf+                                                                {-# LINE 11419 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 11424 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 11429 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_TypeOf_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_TypeOf_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Urshift :: T_Instruction +sem_Instruction_Urshift  =+    (\ _lhsIlocation ->+         (case (({-# LINE 62 "src/InstrLocFilter.ag" #-}+                 False+                 {-# LINE 11444 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 11449 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Urshift_1 :: T_Instruction_1 +                       sem_Instruction_Urshift_1  =+                           (\ _lhsIisBranch+                              _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 11459 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 63 "src/InstrLocFilter.ag" #-}+                                         False+                                         {-# LINE 11464 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 11469 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instruction_Urshift_2 :: T_Instruction_2 +                                               sem_Instruction_Urshift_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                Instruction_Urshift+                                                                {-# LINE 11477 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 11482 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          (case (({-# LINE 52 "src/InstrLocFilter.ag" #-}+                                                                  False+                                                                  {-# LINE 11487 "src/InstrLocFilter.hs" #-}+                                                                  )) of+                                                           { _lhsOskip | _lhsOskip `seq` (True) ->+                                                           ( _lhsOoutput,_lhsOskip) }) }) }))+                                           in  sem_Instruction_Urshift_2)) of+                                    { ( sem_Instruction_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instruction_2) }) }) }) }))+                   in  sem_Instruction_Urshift_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instruction_1) }) }) }))+-- Instructions ------------------------------------------------+-- cata+sem_Instructions :: Instructions  ->+                    T_Instructions +sem_Instructions list  =+    (Prelude.foldr sem_Instructions_Cons sem_Instructions_Nil (Prelude.map sem_Instruction list) )+-- semantic domain+type T_Instructions  = Bool ->+                       Int ->+                       ( Bool,Int,T_Instructions_1 )+type T_Instructions_1  = Bool ->+                         Int ->+                         ( IntSet,Bool,Int,T_Instructions_2 )+type T_Instructions_2  = IntSet ->+                         ( Instructions )+sem_Instructions_Cons :: T_Instruction  ->+                         T_Instructions  ->+                         T_Instructions +sem_Instructions_Cons hd_ tl_  =+    (\ _lhsIisBranch+       _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11520 "src/InstrLocFilter.hs" #-}+                 )) of+          { _hdOlocation | _hdOlocation `seq` (True) ->+          (case (hd_ _hdOlocation ) of+           { ( _hdIisBranch,_hdIlocation,hd_1) | True ->+               (case (({-# LINE 59 "src/InstrLocFilter.ag" #-}+                       _hdIisBranch+                       {-# LINE 11527 "src/InstrLocFilter.hs" #-}+                       )) of+                { _tlOisBranch | _tlOisBranch `seq` (True) ->+                (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                        _hdIlocation+                        {-# LINE 11532 "src/InstrLocFilter.hs" #-}+                        )) of+                 { _tlOlocation | _tlOlocation `seq` (True) ->+                 (case (tl_ _tlOisBranch _tlOlocation ) of+                  { ( _tlIisBranch,_tlIlocation,tl_1) | True ->+                      (case (({-# LINE 59 "src/InstrLocFilter.ag" #-}+                              _tlIisBranch+                              {-# LINE 11539 "src/InstrLocFilter.hs" #-}+                              )) of+                       { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+                       (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                               _tlIlocation+                               {-# LINE 11544 "src/InstrLocFilter.hs" #-}+                               )) of+                        { _lhsOlocation | _lhsOlocation `seq` (True) ->+                        (case ((let sem_Instructions_Cons_1 :: T_Instructions_1 +                                    sem_Instructions_Cons_1  =+                                        (\ _lhsIrevIsBranch+                                           _lhsIrevLocation ->+                                             (case (({-# LINE 59 "src/InstrLocFilter.ag" #-}+                                                     _lhsIisBranch+                                                     {-# LINE 11553 "src/InstrLocFilter.hs" #-}+                                                     )) of+                                              { _hdOisBranch | _hdOisBranch `seq` (True) ->+                                              (case (({-# LINE 13 "src/ByteCodeLocationInfo.ag" #-}+                                                      _lhsIrevLocation+                                                      {-# LINE 11558 "src/InstrLocFilter.hs" #-}+                                                      )) of+                                               { _tlOrevLocation | _tlOrevLocation `seq` (True) ->+                                               (case (({-# LINE 69 "src/InstrLocFilter.ag" #-}+                                                       _lhsIrevIsBranch+                                                       {-# LINE 11563 "src/InstrLocFilter.hs" #-}+                                                       )) of+                                                { _tlOrevIsBranch | _tlOrevIsBranch `seq` (True) ->+                                                (case (tl_1 _tlOrevIsBranch _tlOrevLocation ) of+                                                 { ( _tlIlocs,_tlIrevIsBranch,_tlIrevLocation,tl_2) | True ->+                                                     (case (({-# LINE 14 "src/ByteCodeLocationInfo.ag" #-}+                                                             _tlIrevLocation+                                                             {-# LINE 11570 "src/InstrLocFilter.hs" #-}+                                                             )) of+                                                      { _hdOrevLocation | _hdOrevLocation `seq` (True) ->+                                                      (case (({-# LINE 70 "src/InstrLocFilter.ag" #-}+                                                              _tlIrevIsBranch+                                                              {-# LINE 11575 "src/InstrLocFilter.hs" #-}+                                                              )) of+                                                       { _hdOrevIsBranch | _hdOrevIsBranch `seq` (True) ->+                                                       (case (hd_1 _hdOisBranch _hdOrevIsBranch _hdOrevLocation ) of+                                                        { ( _hdIlocs,_hdIrevIsBranch,_hdIrevLocation,hd_2) | True ->+                                                            (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                                                    _hdIlocs `mappend` _tlIlocs+                                                                    {-# LINE 11582 "src/InstrLocFilter.hs" #-}+                                                                    )) of+                                                             { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                                             (case (({-# LINE 71 "src/InstrLocFilter.ag" #-}+                                                                     _hdIrevIsBranch+                                                                     {-# LINE 11587 "src/InstrLocFilter.hs" #-}+                                                                     )) of+                                                              { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                                              (case (({-# LINE 15 "src/ByteCodeLocationInfo.ag" #-}+                                                                      _hdIrevLocation+                                                                      {-# LINE 11592 "src/InstrLocFilter.hs" #-}+                                                                      )) of+                                                               { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                                               (case ((let sem_Instructions_Cons_2 :: T_Instructions_2 +                                                                           sem_Instructions_Cons_2  =+                                                                               (\ _lhsIretain ->+                                                                                    (case (({-# LINE 45 "src/InstrLocFilter.ag" #-}+                                                                                            _lhsIretain+                                                                                            {-# LINE 11600 "src/InstrLocFilter.hs" #-}+                                                                                            )) of+                                                                                     { _tlOretain | _tlOretain `seq` (True) ->+                                                                                     (case (({-# LINE 45 "src/InstrLocFilter.ag" #-}+                                                                                             _lhsIretain+                                                                                             {-# LINE 11605 "src/InstrLocFilter.hs" #-}+                                                                                             )) of+                                                                                      { _hdOretain | _hdOretain `seq` (True) ->+                                                                                      (case (tl_2 _tlOretain ) of+                                                                                       { ( _tlIoutput) | True ->+                                                                                           (case (hd_2 _hdOretain ) of+                                                                                            { ( _hdIoutput,_hdIskip) | True ->+                                                                                                (case (({-# LINE 42 "src/InstrLocFilter.ag" #-}+                                                                                                        if _hdIskip then _tlIoutput else _hdIoutput : _tlIoutput+                                                                                                        {-# LINE 11614 "src/InstrLocFilter.hs" #-}+                                                                                                        )) of+                                                                                                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                                                                 ( _lhsOoutput) }) }) }) }) }))+                                                                       in  sem_Instructions_Cons_2)) of+                                                                { ( sem_Instructions_2) | True ->+                                                                ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instructions_2) }) }) }) }) }) }) }) }) }) }) }))+                                in  sem_Instructions_Cons_1)) of+                         { ( sem_Instructions_1) | True ->+                         ( _lhsOisBranch,_lhsOlocation,sem_Instructions_1) }) }) }) }) }) }) }) }))+sem_Instructions_Nil :: T_Instructions +sem_Instructions_Nil  =+    (\ _lhsIisBranch+       _lhsIlocation ->+         (case (({-# LINE 59 "src/InstrLocFilter.ag" #-}+                 _lhsIisBranch+                 {-# LINE 11630 "src/InstrLocFilter.hs" #-}+                 )) of+          { _lhsOisBranch | _lhsOisBranch `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 11635 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instructions_Nil_1 :: T_Instructions_1 +                       sem_Instructions_Nil_1  =+                           (\ _lhsIrevIsBranch+                              _lhsIrevLocation ->+                                (case (({-# LINE 74 "src/InstrLocFilter.ag" #-}+                                        mempty+                                        {-# LINE 11644 "src/InstrLocFilter.hs" #-}+                                        )) of+                                 { _lhsOlocs | _lhsOlocs `seq` (True) ->+                                 (case (({-# LINE 59 "src/InstrLocFilter.ag" #-}+                                         _lhsIrevIsBranch+                                         {-# LINE 11649 "src/InstrLocFilter.hs" #-}+                                         )) of+                                  { _lhsOrevIsBranch | _lhsOrevIsBranch `seq` (True) ->+                                  (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                          _lhsIrevLocation+                                          {-# LINE 11654 "src/InstrLocFilter.hs" #-}+                                          )) of+                                   { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                   (case ((let sem_Instructions_Nil_2 :: T_Instructions_2 +                                               sem_Instructions_Nil_2  =+                                                   (\ _lhsIretain ->+                                                        (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                []+                                                                {-# LINE 11662 "src/InstrLocFilter.hs" #-}+                                                                )) of+                                                         { _output | _output `seq` (True) ->+                                                         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                                                                 _output+                                                                 {-# LINE 11667 "src/InstrLocFilter.hs" #-}+                                                                 )) of+                                                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                          ( _lhsOoutput) }) }))+                                           in  sem_Instructions_Nil_2)) of+                                    { ( sem_Instructions_2) | True ->+                                    ( _lhsOlocs,_lhsOrevIsBranch,_lhsOrevLocation,sem_Instructions_2) }) }) }) }))+                   in  sem_Instructions_Nil_1)) of+            { ( sem_Instructions_1) | True ->+            ( _lhsOisBranch,_lhsOlocation,sem_Instructions_1) }) }) }))+-- Interfaces --------------------------------------------------+-- cata+sem_Interfaces :: Interfaces  ->+                  T_Interfaces +sem_Interfaces list  =+    (Prelude.foldr sem_Interfaces_Cons sem_Interfaces_Nil list )+-- semantic domain+type T_Interfaces  = ( )+sem_Interfaces_Cons :: Word32 ->+                       T_Interfaces  ->+                       T_Interfaces +sem_Interfaces_Cons hd_ tl_  =+    ( )+sem_Interfaces_Nil :: T_Interfaces +sem_Interfaces_Nil  =+    ( )+-- MetaInfo ----------------------------------------------------+-- cata+sem_MetaInfo :: MetaInfo  ->+                T_MetaInfo +sem_MetaInfo (MetaInfo_Info _name _items )  =+    (sem_MetaInfo_Info _name (sem_MetaItems _items ) )+-- semantic domain+type T_MetaInfo  = ( )+sem_MetaInfo_Info :: Word32 ->+                     T_MetaItems  ->+                     T_MetaInfo +sem_MetaInfo_Info name_ items_  =+    ( )+-- MetaInfos ---------------------------------------------------+-- cata+sem_MetaInfos :: MetaInfos  ->+                 T_MetaInfos +sem_MetaInfos list  =+    (Prelude.foldr sem_MetaInfos_Cons sem_MetaInfos_Nil (Prelude.map sem_MetaInfo list) )+-- semantic domain+type T_MetaInfos  = ( )+sem_MetaInfos_Cons :: T_MetaInfo  ->+                      T_MetaInfos  ->+                      T_MetaInfos +sem_MetaInfos_Cons hd_ tl_  =+    ( )+sem_MetaInfos_Nil :: T_MetaInfos +sem_MetaInfos_Nil  =+    ( )+-- MetaItem ----------------------------------------------------+-- cata+sem_MetaItem :: MetaItem  ->+                T_MetaItem +sem_MetaItem (MetaItem_Item _key _value )  =+    (sem_MetaItem_Item _key _value )+-- semantic domain+type T_MetaItem  = ( )+sem_MetaItem_Item :: Word32 ->+                     Word32 ->+                     T_MetaItem +sem_MetaItem_Item key_ value_  =+    ( )+-- MetaItems ---------------------------------------------------+-- cata+sem_MetaItems :: MetaItems  ->+                 T_MetaItems +sem_MetaItems list  =+    (Prelude.foldr sem_MetaItems_Cons sem_MetaItems_Nil (Prelude.map sem_MetaItem list) )+-- semantic domain+type T_MetaItems  = ( )+sem_MetaItems_Cons :: T_MetaItem  ->+                      T_MetaItems  ->+                      T_MetaItems +sem_MetaItems_Cons hd_ tl_  =+    ( )+sem_MetaItems_Nil :: T_MetaItems +sem_MetaItems_Nil  =+    ( )+-- MethodFlag --------------------------------------------------+-- cata+sem_MethodFlag :: MethodFlag  ->+                  T_MethodFlag +sem_MethodFlag (MethodFlag_HasOptionals )  =+    (sem_MethodFlag_HasOptionals )+sem_MethodFlag (MethodFlag_HasParamNames )  =+    (sem_MethodFlag_HasParamNames )+sem_MethodFlag (MethodFlag_NeedAct )  =+    (sem_MethodFlag_NeedAct )+sem_MethodFlag (MethodFlag_NeedArgs )  =+    (sem_MethodFlag_NeedArgs )+sem_MethodFlag (MethodFlag_NeedRest )  =+    (sem_MethodFlag_NeedRest )+sem_MethodFlag (MethodFlag_SetDXNS )  =+    (sem_MethodFlag_SetDXNS )+-- semantic domain+type T_MethodFlag  = ( )+sem_MethodFlag_HasOptionals :: T_MethodFlag +sem_MethodFlag_HasOptionals  =+    ( )+sem_MethodFlag_HasParamNames :: T_MethodFlag +sem_MethodFlag_HasParamNames  =+    ( )+sem_MethodFlag_NeedAct :: T_MethodFlag +sem_MethodFlag_NeedAct  =+    ( )+sem_MethodFlag_NeedArgs :: T_MethodFlag +sem_MethodFlag_NeedArgs  =+    ( )+sem_MethodFlag_NeedRest :: T_MethodFlag +sem_MethodFlag_NeedRest  =+    ( )+sem_MethodFlag_SetDXNS :: T_MethodFlag +sem_MethodFlag_SetDXNS  =+    ( )+-- MethodFlags -------------------------------------------------+-- cata+sem_MethodFlags :: MethodFlags  ->+                   T_MethodFlags +sem_MethodFlags list  =+    (Prelude.foldr sem_MethodFlags_Cons sem_MethodFlags_Nil (Prelude.map sem_MethodFlag list) )+-- semantic domain+type T_MethodFlags  = ( )+sem_MethodFlags_Cons :: T_MethodFlag  ->+                        T_MethodFlags  ->+                        T_MethodFlags +sem_MethodFlags_Cons hd_ tl_  =+    ( )+sem_MethodFlags_Nil :: T_MethodFlags +sem_MethodFlags_Nil  =+    ( )+-- MethodInfo --------------------------------------------------+-- cata+sem_MethodInfo :: MethodInfo  ->+                  T_MethodInfo +sem_MethodInfo (MethodInfo_Info _return _params _name _flags _options _names )  =+    (sem_MethodInfo_Info _return (sem_ParamTypes _params ) _name (sem_MethodFlags _flags ) (sem_Optionals _options ) (sem_ParamNames _names ) )+-- semantic domain+type T_MethodInfo  = ( )+sem_MethodInfo_Info :: Word32 ->+                       T_ParamTypes  ->+                       Word32 ->+                       T_MethodFlags  ->+                       T_Optionals  ->+                       T_ParamNames  ->+                       T_MethodInfo +sem_MethodInfo_Info return_ params_ name_ flags_ options_ names_  =+    ( )+-- MethodInfos -------------------------------------------------+-- cata+sem_MethodInfos :: MethodInfos  ->+                   T_MethodInfos +sem_MethodInfos list  =+    (Prelude.foldr sem_MethodInfos_Cons sem_MethodInfos_Nil (Prelude.map sem_MethodInfo list) )+-- semantic domain+type T_MethodInfos  = ( )+sem_MethodInfos_Cons :: T_MethodInfo  ->+                        T_MethodInfos  ->+                        T_MethodInfos +sem_MethodInfos_Cons hd_ tl_  =+    ( )+sem_MethodInfos_Nil :: T_MethodInfos +sem_MethodInfos_Nil  =+    ( )+-- MultinameInfo -----------------------------------------------+-- cata+sem_MultinameInfo :: MultinameInfo  ->+                     T_MultinameInfo +sem_MultinameInfo (MultinameInfo_Generic _name _params )  =+    (sem_MultinameInfo_Generic _name (sem_ParamNames _params ) )+sem_MultinameInfo (MultinameInfo_Multiname _name _set )  =+    (sem_MultinameInfo_Multiname _name _set )+sem_MultinameInfo (MultinameInfo_MultinameA _name _set )  =+    (sem_MultinameInfo_MultinameA _name _set )+sem_MultinameInfo (MultinameInfo_MultinameL _set )  =+    (sem_MultinameInfo_MultinameL _set )+sem_MultinameInfo (MultinameInfo_MultinameLA _set )  =+    (sem_MultinameInfo_MultinameLA _set )+sem_MultinameInfo (MultinameInfo_QName _namespace _name )  =+    (sem_MultinameInfo_QName _namespace _name )+sem_MultinameInfo (MultinameInfo_QNameA _namespace _name )  =+    (sem_MultinameInfo_QNameA _namespace _name )+sem_MultinameInfo (MultinameInfo_RTQName _name )  =+    (sem_MultinameInfo_RTQName _name )+sem_MultinameInfo (MultinameInfo_RTQNameA _name )  =+    (sem_MultinameInfo_RTQNameA _name )+sem_MultinameInfo (MultinameInfo_RTQNameL )  =+    (sem_MultinameInfo_RTQNameL )+sem_MultinameInfo (MultinameInfo_RTQNameLA )  =+    (sem_MultinameInfo_RTQNameLA )+-- semantic domain+type T_MultinameInfo  = ( )+sem_MultinameInfo_Generic :: Word32 ->+                             T_ParamNames  ->+                             T_MultinameInfo +sem_MultinameInfo_Generic name_ params_  =+    ( )+sem_MultinameInfo_Multiname :: Word32 ->+                               Word32 ->+                               T_MultinameInfo +sem_MultinameInfo_Multiname name_ set_  =+    ( )+sem_MultinameInfo_MultinameA :: Word32 ->+                                Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameA name_ set_  =+    ( )+sem_MultinameInfo_MultinameL :: Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameL set_  =+    ( )+sem_MultinameInfo_MultinameLA :: Word32 ->+                                 T_MultinameInfo +sem_MultinameInfo_MultinameLA set_  =+    ( )+sem_MultinameInfo_QName :: Word32 ->+                           Word32 ->+                           T_MultinameInfo +sem_MultinameInfo_QName namespace_ name_  =+    ( )+sem_MultinameInfo_QNameA :: Word32 ->+                            Word32 ->+                            T_MultinameInfo +sem_MultinameInfo_QNameA namespace_ name_  =+    ( )+sem_MultinameInfo_RTQName :: Word32 ->+                             T_MultinameInfo +sem_MultinameInfo_RTQName name_  =+    ( )+sem_MultinameInfo_RTQNameA :: Word32 ->+                              T_MultinameInfo +sem_MultinameInfo_RTQNameA name_  =+    ( )+sem_MultinameInfo_RTQNameL :: T_MultinameInfo +sem_MultinameInfo_RTQNameL  =+    ( )+sem_MultinameInfo_RTQNameLA :: T_MultinameInfo +sem_MultinameInfo_RTQNameLA  =+    ( )+-- MultinameInfos ----------------------------------------------+-- cata+sem_MultinameInfos :: MultinameInfos  ->+                      T_MultinameInfos +sem_MultinameInfos list  =+    (Prelude.foldr sem_MultinameInfos_Cons sem_MultinameInfos_Nil (Prelude.map sem_MultinameInfo list) )+-- semantic domain+type T_MultinameInfos  = ( )+sem_MultinameInfos_Cons :: T_MultinameInfo  ->+                           T_MultinameInfos  ->+                           T_MultinameInfos +sem_MultinameInfos_Cons hd_ tl_  =+    ( )+sem_MultinameInfos_Nil :: T_MultinameInfos +sem_MultinameInfos_Nil  =+    ( )+-- MultinameKind -----------------------------------------------+-- cata+sem_MultinameKind :: MultinameKind  ->+                     T_MultinameKind +sem_MultinameKind (MultinameKind_Generic )  =+    (sem_MultinameKind_Generic )+sem_MultinameKind (MultinameKind_Multiname )  =+    (sem_MultinameKind_Multiname )+sem_MultinameKind (MultinameKind_MultinameA )  =+    (sem_MultinameKind_MultinameA )+sem_MultinameKind (MultinameKind_MultinameL )  =+    (sem_MultinameKind_MultinameL )+sem_MultinameKind (MultinameKind_MultinameLA )  =+    (sem_MultinameKind_MultinameLA )+sem_MultinameKind (MultinameKind_QName )  =+    (sem_MultinameKind_QName )+sem_MultinameKind (MultinameKind_QNameA )  =+    (sem_MultinameKind_QNameA )+sem_MultinameKind (MultinameKind_RTQName )  =+    (sem_MultinameKind_RTQName )+sem_MultinameKind (MultinameKind_RTQNameA )  =+    (sem_MultinameKind_RTQNameA )+sem_MultinameKind (MultinameKind_RTQNameL )  =+    (sem_MultinameKind_RTQNameL )+sem_MultinameKind (MultinameKind_RTQNameLA )  =+    (sem_MultinameKind_RTQNameLA )+-- semantic domain+type T_MultinameKind  = ( )+sem_MultinameKind_Generic :: T_MultinameKind +sem_MultinameKind_Generic  =+    ( )+sem_MultinameKind_Multiname :: T_MultinameKind +sem_MultinameKind_Multiname  =+    ( )+sem_MultinameKind_MultinameA :: T_MultinameKind +sem_MultinameKind_MultinameA  =+    ( )+sem_MultinameKind_MultinameL :: T_MultinameKind +sem_MultinameKind_MultinameL  =+    ( )+sem_MultinameKind_MultinameLA :: T_MultinameKind +sem_MultinameKind_MultinameLA  =+    ( )+sem_MultinameKind_QName :: T_MultinameKind +sem_MultinameKind_QName  =+    ( )+sem_MultinameKind_QNameA :: T_MultinameKind +sem_MultinameKind_QNameA  =+    ( )+sem_MultinameKind_RTQName :: T_MultinameKind +sem_MultinameKind_RTQName  =+    ( )+sem_MultinameKind_RTQNameA :: T_MultinameKind +sem_MultinameKind_RTQNameA  =+    ( )+sem_MultinameKind_RTQNameL :: T_MultinameKind +sem_MultinameKind_RTQNameL  =+    ( )+sem_MultinameKind_RTQNameLA :: T_MultinameKind +sem_MultinameKind_RTQNameLA  =+    ( )+-- NamespaceInfo -----------------------------------------------+-- cata+sem_NamespaceInfo :: NamespaceInfo  ->+                     T_NamespaceInfo +sem_NamespaceInfo (NamespaceInfo_Info _kind _name )  =+    (sem_NamespaceInfo_Info (sem_NamespaceKind _kind ) _name )+-- semantic domain+type T_NamespaceInfo  = ( )+sem_NamespaceInfo_Info :: T_NamespaceKind  ->+                          Word32 ->+                          T_NamespaceInfo +sem_NamespaceInfo_Info kind_ name_  =+    ( )+-- NamespaceInfos ----------------------------------------------+-- cata+sem_NamespaceInfos :: NamespaceInfos  ->+                      T_NamespaceInfos +sem_NamespaceInfos list  =+    (Prelude.foldr sem_NamespaceInfos_Cons sem_NamespaceInfos_Nil (Prelude.map sem_NamespaceInfo list) )+-- semantic domain+type T_NamespaceInfos  = ( )+sem_NamespaceInfos_Cons :: T_NamespaceInfo  ->+                           T_NamespaceInfos  ->+                           T_NamespaceInfos +sem_NamespaceInfos_Cons hd_ tl_  =+    ( )+sem_NamespaceInfos_Nil :: T_NamespaceInfos +sem_NamespaceInfos_Nil  =+    ( )+-- NamespaceKind -----------------------------------------------+-- cata+sem_NamespaceKind :: NamespaceKind  ->+                     T_NamespaceKind +sem_NamespaceKind (NamespaceKind_Explicit )  =+    (sem_NamespaceKind_Explicit )+sem_NamespaceKind (NamespaceKind_General )  =+    (sem_NamespaceKind_General )+sem_NamespaceKind (NamespaceKind_Internal )  =+    (sem_NamespaceKind_Internal )+sem_NamespaceKind (NamespaceKind_Package )  =+    (sem_NamespaceKind_Package )+sem_NamespaceKind (NamespaceKind_Private )  =+    (sem_NamespaceKind_Private )+sem_NamespaceKind (NamespaceKind_Protected )  =+    (sem_NamespaceKind_Protected )+sem_NamespaceKind (NamespaceKind_Static )  =+    (sem_NamespaceKind_Static )+-- semantic domain+type T_NamespaceKind  = ( )+sem_NamespaceKind_Explicit :: T_NamespaceKind +sem_NamespaceKind_Explicit  =+    ( )+sem_NamespaceKind_General :: T_NamespaceKind +sem_NamespaceKind_General  =+    ( )+sem_NamespaceKind_Internal :: T_NamespaceKind +sem_NamespaceKind_Internal  =+    ( )+sem_NamespaceKind_Package :: T_NamespaceKind +sem_NamespaceKind_Package  =+    ( )+sem_NamespaceKind_Private :: T_NamespaceKind +sem_NamespaceKind_Private  =+    ( )+sem_NamespaceKind_Protected :: T_NamespaceKind +sem_NamespaceKind_Protected  =+    ( )+sem_NamespaceKind_Static :: T_NamespaceKind +sem_NamespaceKind_Static  =+    ( )+-- NamespaceNames ----------------------------------------------+-- cata+sem_NamespaceNames :: NamespaceNames  ->+                      T_NamespaceNames +sem_NamespaceNames list  =+    (Prelude.foldr sem_NamespaceNames_Cons sem_NamespaceNames_Nil list )+-- semantic domain+type T_NamespaceNames  = ( )+sem_NamespaceNames_Cons :: Word32 ->+                           T_NamespaceNames  ->+                           T_NamespaceNames +sem_NamespaceNames_Cons hd_ tl_  =+    ( )+sem_NamespaceNames_Nil :: T_NamespaceNames +sem_NamespaceNames_Nil  =+    ( )+-- Optional ----------------------------------------------------+-- cata+sem_Optional :: Optional  ->+                T_Optional +sem_Optional (Optional_Detail _val _kind )  =+    (sem_Optional_Detail _val (sem_ValueKind _kind ) )+-- semantic domain+type T_Optional  = ( )+sem_Optional_Detail :: Word32 ->+                       T_ValueKind  ->+                       T_Optional +sem_Optional_Detail val_ kind_  =+    ( )+-- Optionals ---------------------------------------------------+-- cata+sem_Optionals :: Optionals  ->+                 T_Optionals +sem_Optionals list  =+    (Prelude.foldr sem_Optionals_Cons sem_Optionals_Nil (Prelude.map sem_Optional list) )+-- semantic domain+type T_Optionals  = ( )+sem_Optionals_Cons :: T_Optional  ->+                      T_Optionals  ->+                      T_Optionals +sem_Optionals_Cons hd_ tl_  =+    ( )+sem_Optionals_Nil :: T_Optionals +sem_Optionals_Nil  =+    ( )+-- ParamNames --------------------------------------------------+-- cata+sem_ParamNames :: ParamNames  ->+                  T_ParamNames +sem_ParamNames list  =+    (Prelude.foldr sem_ParamNames_Cons sem_ParamNames_Nil list )+-- semantic domain+type T_ParamNames  = ( )+sem_ParamNames_Cons :: Word32 ->+                       T_ParamNames  ->+                       T_ParamNames +sem_ParamNames_Cons hd_ tl_  =+    ( )+sem_ParamNames_Nil :: T_ParamNames +sem_ParamNames_Nil  =+    ( )+-- ParamTypes --------------------------------------------------+-- cata+sem_ParamTypes :: ParamTypes  ->+                  T_ParamTypes +sem_ParamTypes list  =+    (Prelude.foldr sem_ParamTypes_Cons sem_ParamTypes_Nil list )+-- semantic domain+type T_ParamTypes  = ( )+sem_ParamTypes_Cons :: Word32 ->+                       T_ParamTypes  ->+                       T_ParamTypes +sem_ParamTypes_Cons hd_ tl_  =+    ( )+sem_ParamTypes_Nil :: T_ParamTypes +sem_ParamTypes_Nil  =+    ( )+-- PoolDoubles -------------------------------------------------+-- cata+sem_PoolDoubles :: PoolDoubles  ->+                   T_PoolDoubles +sem_PoolDoubles list  =+    (Prelude.foldr sem_PoolDoubles_Cons sem_PoolDoubles_Nil list )+-- semantic domain+type T_PoolDoubles  = ( )+sem_PoolDoubles_Cons :: Double ->+                        T_PoolDoubles  ->+                        T_PoolDoubles +sem_PoolDoubles_Cons hd_ tl_  =+    ( )+sem_PoolDoubles_Nil :: T_PoolDoubles +sem_PoolDoubles_Nil  =+    ( )+-- PoolInfo ----------------------------------------------------+-- cata+sem_PoolInfo :: PoolInfo  ->+                T_PoolInfo +sem_PoolInfo (PoolInfo_Info _integers _uintegers _doubles _strings _namespaces _namesets _multinames )  =+    (sem_PoolInfo_Info (sem_PoolInts _integers ) (sem_PoolUInts _uintegers ) (sem_PoolDoubles _doubles ) (sem_PoolStrings _strings ) (sem_NamespaceInfos _namespaces ) (sem_SetInfos _namesets ) (sem_MultinameInfos _multinames ) )+-- semantic domain+type T_PoolInfo  = ( )+sem_PoolInfo_Info :: T_PoolInts  ->+                     T_PoolUInts  ->+                     T_PoolDoubles  ->+                     T_PoolStrings  ->+                     T_NamespaceInfos  ->+                     T_SetInfos  ->+                     T_MultinameInfos  ->+                     T_PoolInfo +sem_PoolInfo_Info integers_ uintegers_ doubles_ strings_ namespaces_ namesets_ multinames_  =+    ( )+-- PoolInts ----------------------------------------------------+-- cata+sem_PoolInts :: PoolInts  ->+                T_PoolInts +sem_PoolInts list  =+    (Prelude.foldr sem_PoolInts_Cons sem_PoolInts_Nil list )+-- semantic domain+type T_PoolInts  = ( )+sem_PoolInts_Cons :: Word32 ->+                     T_PoolInts  ->+                     T_PoolInts +sem_PoolInts_Cons hd_ tl_  =+    ( )+sem_PoolInts_Nil :: T_PoolInts +sem_PoolInts_Nil  =+    ( )+-- PoolStrings -------------------------------------------------+-- cata+sem_PoolStrings :: PoolStrings  ->+                   T_PoolStrings +sem_PoolStrings list  =+    (Prelude.foldr sem_PoolStrings_Cons sem_PoolStrings_Nil list )+-- semantic domain+type T_PoolStrings  = ( )+sem_PoolStrings_Cons :: ByteString ->+                        T_PoolStrings  ->+                        T_PoolStrings +sem_PoolStrings_Cons hd_ tl_  =+    ( )+sem_PoolStrings_Nil :: T_PoolStrings +sem_PoolStrings_Nil  =+    ( )+-- PoolUInts ---------------------------------------------------+-- cata+sem_PoolUInts :: PoolUInts  ->+                 T_PoolUInts +sem_PoolUInts list  =+    (Prelude.foldr sem_PoolUInts_Cons sem_PoolUInts_Nil list )+-- semantic domain+type T_PoolUInts  = ( )+sem_PoolUInts_Cons :: Word32 ->+                      T_PoolUInts  ->+                      T_PoolUInts +sem_PoolUInts_Cons hd_ tl_  =+    ( )+sem_PoolUInts_Nil :: T_PoolUInts +sem_PoolUInts_Nil  =+    ( )+-- Rect --------------------------------------------------------+-- cata+sem_Rect :: Rect  ->+            T_Rect +sem_Rect (Rect_Rect _bits _xMin _xMax _yMin _yMax )  =+    (sem_Rect_Rect _bits _xMin _xMax _yMin _yMax )+-- semantic domain+type T_Rect  = ( )+sem_Rect_Rect :: Int ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 T_Rect +sem_Rect_Rect bits_ xMin_ xMax_ yMin_ yMax_  =+    ( )+-- ScriptInfo --------------------------------------------------+-- cata+sem_ScriptInfo :: ScriptInfo  ->+                  T_ScriptInfo +sem_ScriptInfo (ScriptInfo_Info _method _traits )  =+    (sem_ScriptInfo_Info _method (sem_Traits _traits ) )+-- semantic domain+type T_ScriptInfo  = ( )+sem_ScriptInfo_Info :: Word32 ->+                       T_Traits  ->+                       T_ScriptInfo +sem_ScriptInfo_Info method_ traits_  =+    ( )+-- ScriptInfos -------------------------------------------------+-- cata+sem_ScriptInfos :: ScriptInfos  ->+                   T_ScriptInfos +sem_ScriptInfos list  =+    (Prelude.foldr sem_ScriptInfos_Cons sem_ScriptInfos_Nil (Prelude.map sem_ScriptInfo list) )+-- semantic domain+type T_ScriptInfos  = ( )+sem_ScriptInfos_Cons :: T_ScriptInfo  ->+                        T_ScriptInfos  ->+                        T_ScriptInfos +sem_ScriptInfos_Cons hd_ tl_  =+    ( )+sem_ScriptInfos_Nil :: T_ScriptInfos +sem_ScriptInfos_Nil  =+    ( )+-- SetInfo -----------------------------------------------------+-- cata+sem_SetInfo :: SetInfo  ->+               T_SetInfo +sem_SetInfo (SetInfo_Info _names )  =+    (sem_SetInfo_Info (sem_NamespaceNames _names ) )+-- semantic domain+type T_SetInfo  = ( )+sem_SetInfo_Info :: T_NamespaceNames  ->+                    T_SetInfo +sem_SetInfo_Info names_  =+    ( )+-- SetInfos ----------------------------------------------------+-- cata+sem_SetInfos :: SetInfos  ->+                T_SetInfos +sem_SetInfos list  =+    (Prelude.foldr sem_SetInfos_Cons sem_SetInfos_Nil (Prelude.map sem_SetInfo list) )+-- semantic domain+type T_SetInfos  = ( )+sem_SetInfos_Cons :: T_SetInfo  ->+                     T_SetInfos  ->+                     T_SetInfos +sem_SetInfos_Cons hd_ tl_  =+    ( )+sem_SetInfos_Nil :: T_SetInfos +sem_SetInfos_Nil  =+    ( )+-- SwfFile -----------------------------------------------------+-- cata+sem_SwfFile :: SwfFile  ->+               T_SwfFile +sem_SwfFile (SwfFile_File _compressed _version _length _size _rate _count _tags )  =+    (sem_SwfFile_File _compressed _version _length (sem_Rect _size ) _rate _count (sem_Tags _tags ) )+-- semantic domain+type T_SwfFile  = ( )+sem_SwfFile_File :: Bool ->+                    Word8 ->+                    Word32 ->+                    T_Rect  ->+                    Word16 ->+                    Word16 ->+                    T_Tags  ->+                    T_SwfFile +sem_SwfFile_File compressed_ version_ length_ size_ rate_ count_ tags_  =+    ( )+-- Tag ---------------------------------------------------------+-- cata+sem_Tag :: Tag  ->+           T_Tag +sem_Tag (Tag_Abc _flags _name _file )  =+    (sem_Tag_Abc (sem_AbcFlags _flags ) _name (sem_AbcFile _file ) )+sem_Tag (Tag_End )  =+    (sem_Tag_End )+sem_Tag (Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )  =+    (sem_Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )+sem_Tag (Tag_Opaque _kind _length _body )  =+    (sem_Tag_Opaque (sem_TagKind _kind ) _length _body )+-- semantic domain+type T_Tag  = ( )+sem_Tag_Abc :: T_AbcFlags  ->+               ByteString ->+               T_AbcFile  ->+               T_Tag +sem_Tag_Abc flags_ name_ file_  =+    ( )+sem_Tag_End :: T_Tag +sem_Tag_End  =+    ( )+sem_Tag_FileAttributes :: Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          T_Tag +sem_Tag_FileAttributes useDirectBlit_ useGPU_ hasMetaData_ hasAS3_ useNetwork_  =+    ( )+sem_Tag_Opaque :: T_TagKind  ->+                  Word32 ->+                  ByteString ->+                  T_Tag +sem_Tag_Opaque kind_ length_ body_  =+    ( )+-- TagKind -----------------------------------------------------+-- cata+sem_TagKind :: TagKind  ->+               T_TagKind +sem_TagKind (TagKind_CSMTextSettings )  =+    (sem_TagKind_CSMTextSettings )+sem_TagKind (TagKind_DefineBinaryData )  =+    (sem_TagKind_DefineBinaryData )+sem_TagKind (TagKind_DefineBits )  =+    (sem_TagKind_DefineBits )+sem_TagKind (TagKind_DefineBitsJPEG2 )  =+    (sem_TagKind_DefineBitsJPEG2 )+sem_TagKind (TagKind_DefineBitsJPEG3 )  =+    (sem_TagKind_DefineBitsJPEG3 )+sem_TagKind (TagKind_DefineBitsJPEG4 )  =+    (sem_TagKind_DefineBitsJPEG4 )+sem_TagKind (TagKind_DefineBitsLossless )  =+    (sem_TagKind_DefineBitsLossless )+sem_TagKind (TagKind_DefineBitsLossless2 )  =+    (sem_TagKind_DefineBitsLossless2 )+sem_TagKind (TagKind_DefineButton )  =+    (sem_TagKind_DefineButton )+sem_TagKind (TagKind_DefineButton2 )  =+    (sem_TagKind_DefineButton2 )+sem_TagKind (TagKind_DefineButtonCxform )  =+    (sem_TagKind_DefineButtonCxform )+sem_TagKind (TagKind_DefineButtonSound )  =+    (sem_TagKind_DefineButtonSound )+sem_TagKind (TagKind_DefineEditText )  =+    (sem_TagKind_DefineEditText )+sem_TagKind (TagKind_DefineFont )  =+    (sem_TagKind_DefineFont )+sem_TagKind (TagKind_DefineFont2 )  =+    (sem_TagKind_DefineFont2 )+sem_TagKind (TagKind_DefineFont3 )  =+    (sem_TagKind_DefineFont3 )+sem_TagKind (TagKind_DefineFont4 )  =+    (sem_TagKind_DefineFont4 )+sem_TagKind (TagKind_DefineFontAlignZones )  =+    (sem_TagKind_DefineFontAlignZones )+sem_TagKind (TagKind_DefineFontInfo )  =+    (sem_TagKind_DefineFontInfo )+sem_TagKind (TagKind_DefineFontInfo2 )  =+    (sem_TagKind_DefineFontInfo2 )+sem_TagKind (TagKind_DefineFontName )  =+    (sem_TagKind_DefineFontName )+sem_TagKind (TagKind_DefineMorphShape )  =+    (sem_TagKind_DefineMorphShape )+sem_TagKind (TagKind_DefineMorphShape2 )  =+    (sem_TagKind_DefineMorphShape2 )+sem_TagKind (TagKind_DefineScalingGrid )  =+    (sem_TagKind_DefineScalingGrid )+sem_TagKind (TagKind_DefineSceneAndFrameLabelData )  =+    (sem_TagKind_DefineSceneAndFrameLabelData )+sem_TagKind (TagKind_DefineShape )  =+    (sem_TagKind_DefineShape )+sem_TagKind (TagKind_DefineShape2 )  =+    (sem_TagKind_DefineShape2 )+sem_TagKind (TagKind_DefineShape3 )  =+    (sem_TagKind_DefineShape3 )+sem_TagKind (TagKind_DefineShape4 )  =+    (sem_TagKind_DefineShape4 )+sem_TagKind (TagKind_DefineSound )  =+    (sem_TagKind_DefineSound )+sem_TagKind (TagKind_DefineSprite )  =+    (sem_TagKind_DefineSprite )+sem_TagKind (TagKind_DefineText )  =+    (sem_TagKind_DefineText )+sem_TagKind (TagKind_DefineText2 )  =+    (sem_TagKind_DefineText2 )+sem_TagKind (TagKind_DefineVideoStream )  =+    (sem_TagKind_DefineVideoStream )+sem_TagKind (TagKind_DoABC )  =+    (sem_TagKind_DoABC )+sem_TagKind (TagKind_DoAction )  =+    (sem_TagKind_DoAction )+sem_TagKind (TagKind_DoInitAction )  =+    (sem_TagKind_DoInitAction )+sem_TagKind (TagKind_EnableDebugger )  =+    (sem_TagKind_EnableDebugger )+sem_TagKind (TagKind_EnableDebugger2 )  =+    (sem_TagKind_EnableDebugger2 )+sem_TagKind (TagKind_End )  =+    (sem_TagKind_End )+sem_TagKind (TagKind_ExportAssets )  =+    (sem_TagKind_ExportAssets )+sem_TagKind (TagKind_FileAttributes )  =+    (sem_TagKind_FileAttributes )+sem_TagKind (TagKind_FrameLabel )  =+    (sem_TagKind_FrameLabel )+sem_TagKind (TagKind_ImportAssets )  =+    (sem_TagKind_ImportAssets )+sem_TagKind (TagKind_ImportAssets2 )  =+    (sem_TagKind_ImportAssets2 )+sem_TagKind (TagKind_JPEGTables )  =+    (sem_TagKind_JPEGTables )+sem_TagKind (TagKind_Metadata )  =+    (sem_TagKind_Metadata )+sem_TagKind (TagKind_Other _code )  =+    (sem_TagKind_Other _code )+sem_TagKind (TagKind_PlaceObject )  =+    (sem_TagKind_PlaceObject )+sem_TagKind (TagKind_PlaceObject2 )  =+    (sem_TagKind_PlaceObject2 )+sem_TagKind (TagKind_PlaceObject3 )  =+    (sem_TagKind_PlaceObject3 )+sem_TagKind (TagKind_Protect )  =+    (sem_TagKind_Protect )+sem_TagKind (TagKind_RemoveObject )  =+    (sem_TagKind_RemoveObject )+sem_TagKind (TagKind_RemoveObject2 )  =+    (sem_TagKind_RemoveObject2 )+sem_TagKind (TagKind_ScriptLimits )  =+    (sem_TagKind_ScriptLimits )+sem_TagKind (TagKind_SetBackgroundColor )  =+    (sem_TagKind_SetBackgroundColor )+sem_TagKind (TagKind_SetTabIndex )  =+    (sem_TagKind_SetTabIndex )+sem_TagKind (TagKind_ShowFrame )  =+    (sem_TagKind_ShowFrame )+sem_TagKind (TagKind_SoundStreamBlock )  =+    (sem_TagKind_SoundStreamBlock )+sem_TagKind (TagKind_SoundStreamHead )  =+    (sem_TagKind_SoundStreamHead )+sem_TagKind (TagKind_SoundStreamHead2 )  =+    (sem_TagKind_SoundStreamHead2 )+sem_TagKind (TagKind_StartSound )  =+    (sem_TagKind_StartSound )+sem_TagKind (TagKind_StartSound2 )  =+    (sem_TagKind_StartSound2 )+sem_TagKind (TagKind_SymbolClass )  =+    (sem_TagKind_SymbolClass )+sem_TagKind (TagKind_VideoFrame )  =+    (sem_TagKind_VideoFrame )+-- semantic domain+type T_TagKind  = ( )+sem_TagKind_CSMTextSettings :: T_TagKind +sem_TagKind_CSMTextSettings  =+    ( )+sem_TagKind_DefineBinaryData :: T_TagKind +sem_TagKind_DefineBinaryData  =+    ( )+sem_TagKind_DefineBits :: T_TagKind +sem_TagKind_DefineBits  =+    ( )+sem_TagKind_DefineBitsJPEG2 :: T_TagKind +sem_TagKind_DefineBitsJPEG2  =+    ( )+sem_TagKind_DefineBitsJPEG3 :: T_TagKind +sem_TagKind_DefineBitsJPEG3  =+    ( )+sem_TagKind_DefineBitsJPEG4 :: T_TagKind +sem_TagKind_DefineBitsJPEG4  =+    ( )+sem_TagKind_DefineBitsLossless :: T_TagKind +sem_TagKind_DefineBitsLossless  =+    ( )+sem_TagKind_DefineBitsLossless2 :: T_TagKind +sem_TagKind_DefineBitsLossless2  =+    ( )+sem_TagKind_DefineButton :: T_TagKind +sem_TagKind_DefineButton  =+    ( )+sem_TagKind_DefineButton2 :: T_TagKind +sem_TagKind_DefineButton2  =+    ( )+sem_TagKind_DefineButtonCxform :: T_TagKind +sem_TagKind_DefineButtonCxform  =+    ( )+sem_TagKind_DefineButtonSound :: T_TagKind +sem_TagKind_DefineButtonSound  =+    ( )+sem_TagKind_DefineEditText :: T_TagKind +sem_TagKind_DefineEditText  =+    ( )+sem_TagKind_DefineFont :: T_TagKind +sem_TagKind_DefineFont  =+    ( )+sem_TagKind_DefineFont2 :: T_TagKind +sem_TagKind_DefineFont2  =+    ( )+sem_TagKind_DefineFont3 :: T_TagKind +sem_TagKind_DefineFont3  =+    ( )+sem_TagKind_DefineFont4 :: T_TagKind +sem_TagKind_DefineFont4  =+    ( )+sem_TagKind_DefineFontAlignZones :: T_TagKind +sem_TagKind_DefineFontAlignZones  =+    ( )+sem_TagKind_DefineFontInfo :: T_TagKind +sem_TagKind_DefineFontInfo  =+    ( )+sem_TagKind_DefineFontInfo2 :: T_TagKind +sem_TagKind_DefineFontInfo2  =+    ( )+sem_TagKind_DefineFontName :: T_TagKind +sem_TagKind_DefineFontName  =+    ( )+sem_TagKind_DefineMorphShape :: T_TagKind +sem_TagKind_DefineMorphShape  =+    ( )+sem_TagKind_DefineMorphShape2 :: T_TagKind +sem_TagKind_DefineMorphShape2  =+    ( )+sem_TagKind_DefineScalingGrid :: T_TagKind +sem_TagKind_DefineScalingGrid  =+    ( )+sem_TagKind_DefineSceneAndFrameLabelData :: T_TagKind +sem_TagKind_DefineSceneAndFrameLabelData  =+    ( )+sem_TagKind_DefineShape :: T_TagKind +sem_TagKind_DefineShape  =+    ( )+sem_TagKind_DefineShape2 :: T_TagKind +sem_TagKind_DefineShape2  =+    ( )+sem_TagKind_DefineShape3 :: T_TagKind +sem_TagKind_DefineShape3  =+    ( )+sem_TagKind_DefineShape4 :: T_TagKind +sem_TagKind_DefineShape4  =+    ( )+sem_TagKind_DefineSound :: T_TagKind +sem_TagKind_DefineSound  =+    ( )+sem_TagKind_DefineSprite :: T_TagKind +sem_TagKind_DefineSprite  =+    ( )+sem_TagKind_DefineText :: T_TagKind +sem_TagKind_DefineText  =+    ( )+sem_TagKind_DefineText2 :: T_TagKind +sem_TagKind_DefineText2  =+    ( )+sem_TagKind_DefineVideoStream :: T_TagKind +sem_TagKind_DefineVideoStream  =+    ( )+sem_TagKind_DoABC :: T_TagKind +sem_TagKind_DoABC  =+    ( )+sem_TagKind_DoAction :: T_TagKind +sem_TagKind_DoAction  =+    ( )+sem_TagKind_DoInitAction :: T_TagKind +sem_TagKind_DoInitAction  =+    ( )+sem_TagKind_EnableDebugger :: T_TagKind +sem_TagKind_EnableDebugger  =+    ( )+sem_TagKind_EnableDebugger2 :: T_TagKind +sem_TagKind_EnableDebugger2  =+    ( )+sem_TagKind_End :: T_TagKind +sem_TagKind_End  =+    ( )+sem_TagKind_ExportAssets :: T_TagKind +sem_TagKind_ExportAssets  =+    ( )+sem_TagKind_FileAttributes :: T_TagKind +sem_TagKind_FileAttributes  =+    ( )+sem_TagKind_FrameLabel :: T_TagKind +sem_TagKind_FrameLabel  =+    ( )+sem_TagKind_ImportAssets :: T_TagKind +sem_TagKind_ImportAssets  =+    ( )+sem_TagKind_ImportAssets2 :: T_TagKind +sem_TagKind_ImportAssets2  =+    ( )+sem_TagKind_JPEGTables :: T_TagKind +sem_TagKind_JPEGTables  =+    ( )+sem_TagKind_Metadata :: T_TagKind +sem_TagKind_Metadata  =+    ( )+sem_TagKind_Other :: Word16 ->+                     T_TagKind +sem_TagKind_Other code_  =+    ( )+sem_TagKind_PlaceObject :: T_TagKind +sem_TagKind_PlaceObject  =+    ( )+sem_TagKind_PlaceObject2 :: T_TagKind +sem_TagKind_PlaceObject2  =+    ( )+sem_TagKind_PlaceObject3 :: T_TagKind +sem_TagKind_PlaceObject3  =+    ( )+sem_TagKind_Protect :: T_TagKind +sem_TagKind_Protect  =+    ( )+sem_TagKind_RemoveObject :: T_TagKind +sem_TagKind_RemoveObject  =+    ( )+sem_TagKind_RemoveObject2 :: T_TagKind +sem_TagKind_RemoveObject2  =+    ( )+sem_TagKind_ScriptLimits :: T_TagKind +sem_TagKind_ScriptLimits  =+    ( )+sem_TagKind_SetBackgroundColor :: T_TagKind +sem_TagKind_SetBackgroundColor  =+    ( )+sem_TagKind_SetTabIndex :: T_TagKind +sem_TagKind_SetTabIndex  =+    ( )+sem_TagKind_ShowFrame :: T_TagKind +sem_TagKind_ShowFrame  =+    ( )+sem_TagKind_SoundStreamBlock :: T_TagKind +sem_TagKind_SoundStreamBlock  =+    ( )+sem_TagKind_SoundStreamHead :: T_TagKind +sem_TagKind_SoundStreamHead  =+    ( )+sem_TagKind_SoundStreamHead2 :: T_TagKind +sem_TagKind_SoundStreamHead2  =+    ( )+sem_TagKind_StartSound :: T_TagKind +sem_TagKind_StartSound  =+    ( )+sem_TagKind_StartSound2 :: T_TagKind +sem_TagKind_StartSound2  =+    ( )+sem_TagKind_SymbolClass :: T_TagKind +sem_TagKind_SymbolClass  =+    ( )+sem_TagKind_VideoFrame :: T_TagKind +sem_TagKind_VideoFrame  =+    ( )+-- Tags --------------------------------------------------------+-- cata+sem_Tags :: Tags  ->+            T_Tags +sem_Tags list  =+    (Prelude.foldr sem_Tags_Cons sem_Tags_Nil (Prelude.map sem_Tag list) )+-- semantic domain+type T_Tags  = ( )+sem_Tags_Cons :: T_Tag  ->+                 T_Tags  ->+                 T_Tags +sem_Tags_Cons hd_ tl_  =+    ( )+sem_Tags_Nil :: T_Tags +sem_Tags_Nil  =+    ( )+-- Trait -------------------------------------------------------+-- cata+sem_Trait :: Trait  ->+             T_Trait +sem_Trait (Trait_Trait _name _data _attrs _meta )  =+    (sem_Trait_Trait _name (sem_TraitData _data ) (sem_TraitAttrs _attrs ) (sem_TraitMeta _meta ) )+-- semantic domain+type T_Trait  = ( Trait )+sem_Trait_Trait :: Word32 ->+                   T_TraitData  ->+                   T_TraitAttrs  ->+                   T_TraitMeta  ->+                   T_Trait +sem_Trait_Trait name_ data_ attrs_ meta_  =+    (case (meta_ ) of+     { ( _metaIoutput) | True ->+         (case (attrs_ ) of+          { ( _attrsIoutput) | True ->+              (case (data_ ) of+               { ( _dataIoutput) | True ->+                   (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                           Trait_Trait name_ _dataIoutput _attrsIoutput _metaIoutput+                           {-# LINE 12715 "src/InstrLocFilter.hs" #-}+                           )) of+                    { _output | _output `seq` (True) ->+                    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                            _output+                            {-# LINE 12720 "src/InstrLocFilter.hs" #-}+                            )) of+                     { _lhsOoutput | _lhsOoutput `seq` (True) ->+                     ( _lhsOoutput) }) }) }) }) })+-- TraitAttr ---------------------------------------------------+-- cata+sem_TraitAttr :: TraitAttr  ->+                 T_TraitAttr +sem_TraitAttr (TraitAttr_Final )  =+    (sem_TraitAttr_Final )+sem_TraitAttr (TraitAttr_Metadata )  =+    (sem_TraitAttr_Metadata )+sem_TraitAttr (TraitAttr_Override )  =+    (sem_TraitAttr_Override )+-- semantic domain+type T_TraitAttr  = ( TraitAttr )+sem_TraitAttr_Final :: T_TraitAttr +sem_TraitAttr_Final  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitAttr_Final+            {-# LINE 12740 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 12745 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitAttr_Metadata :: T_TraitAttr +sem_TraitAttr_Metadata  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitAttr_Metadata+            {-# LINE 12753 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 12758 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitAttr_Override :: T_TraitAttr +sem_TraitAttr_Override  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitAttr_Override+            {-# LINE 12766 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 12771 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- TraitAttrs --------------------------------------------------+-- cata+sem_TraitAttrs :: TraitAttrs  ->+                  T_TraitAttrs +sem_TraitAttrs list  =+    (Prelude.foldr sem_TraitAttrs_Cons sem_TraitAttrs_Nil (Prelude.map sem_TraitAttr list) )+-- semantic domain+type T_TraitAttrs  = ( TraitAttrs )+sem_TraitAttrs_Cons :: T_TraitAttr  ->+                       T_TraitAttrs  ->+                       T_TraitAttrs +sem_TraitAttrs_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 12793 "src/InstrLocFilter.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                       _output+                       {-# LINE 12798 "src/InstrLocFilter.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_TraitAttrs_Nil :: T_TraitAttrs +sem_TraitAttrs_Nil  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            []+            {-# LINE 12806 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 12811 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- TraitData ---------------------------------------------------+-- cata+sem_TraitData :: TraitData  ->+                 T_TraitData +sem_TraitData (TraitData_Class _slotId _class )  =+    (sem_TraitData_Class _slotId _class )+sem_TraitData (TraitData_Const _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Const _slotId _tp _vindex (sem_ValueKind _vkind ) )+sem_TraitData (TraitData_Function _dispId _method )  =+    (sem_TraitData_Function _dispId _method )+sem_TraitData (TraitData_Getter _dispId _method )  =+    (sem_TraitData_Getter _dispId _method )+sem_TraitData (TraitData_Method _dispId _method )  =+    (sem_TraitData_Method _dispId _method )+sem_TraitData (TraitData_Setter _dispId _method )  =+    (sem_TraitData_Setter _dispId _method )+sem_TraitData (TraitData_Slot _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Slot _slotId _tp _vindex (sem_ValueKind _vkind ) )+-- semantic domain+type T_TraitData  = ( TraitData )+sem_TraitData_Class :: Word32 ->+                       Word32 ->+                       T_TraitData +sem_TraitData_Class slotId_ class_  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitData_Class slotId_ class_+            {-# LINE 12841 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 12846 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitData_Const :: Word32 ->+                       Word32 ->+                       Word32 ->+                       T_ValueKind  ->+                       T_TraitData +sem_TraitData_Const slotId_ tp_ vindex_ vkind_  =+    (case (vkind_ ) of+     { ( _vkindIoutput) | True ->+         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                 TraitData_Const slotId_ tp_ vindex_ _vkindIoutput+                 {-# LINE 12860 "src/InstrLocFilter.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                  _output+                  {-# LINE 12865 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_TraitData_Function :: Word32 ->+                          Word32 ->+                          T_TraitData +sem_TraitData_Function dispId_ method_  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitData_Function dispId_ method_+            {-# LINE 12875 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 12880 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitData_Getter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Getter dispId_ method_  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitData_Getter dispId_ method_+            {-# LINE 12890 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 12895 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitData_Method :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Method dispId_ method_  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitData_Method dispId_ method_+            {-# LINE 12905 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 12910 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitData_Setter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Setter dispId_ method_  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitData_Setter dispId_ method_+            {-# LINE 12920 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 12925 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitData_Slot :: Word32 ->+                      Word32 ->+                      Word32 ->+                      T_ValueKind  ->+                      T_TraitData +sem_TraitData_Slot slotId_ tp_ vindex_ vkind_  =+    (case (vkind_ ) of+     { ( _vkindIoutput) | True ->+         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                 TraitData_Slot slotId_ tp_ vindex_ _vkindIoutput+                 {-# LINE 12939 "src/InstrLocFilter.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                  _output+                  {-# LINE 12944 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+-- TraitKind ---------------------------------------------------+-- cata+sem_TraitKind :: TraitKind  ->+                 T_TraitKind +sem_TraitKind (TraitKind_Class )  =+    (sem_TraitKind_Class )+sem_TraitKind (TraitKind_Const )  =+    (sem_TraitKind_Const )+sem_TraitKind (TraitKind_Function )  =+    (sem_TraitKind_Function )+sem_TraitKind (TraitKind_Getter )  =+    (sem_TraitKind_Getter )+sem_TraitKind (TraitKind_Method )  =+    (sem_TraitKind_Method )+sem_TraitKind (TraitKind_Setter )  =+    (sem_TraitKind_Setter )+sem_TraitKind (TraitKind_Slot )  =+    (sem_TraitKind_Slot )+-- semantic domain+type T_TraitKind  = ( TraitKind )+sem_TraitKind_Class :: T_TraitKind +sem_TraitKind_Class  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitKind_Class+            {-# LINE 12972 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 12977 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitKind_Const :: T_TraitKind +sem_TraitKind_Const  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitKind_Const+            {-# LINE 12985 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 12990 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitKind_Function :: T_TraitKind +sem_TraitKind_Function  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitKind_Function+            {-# LINE 12998 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13003 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitKind_Getter :: T_TraitKind +sem_TraitKind_Getter  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitKind_Getter+            {-# LINE 13011 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13016 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitKind_Method :: T_TraitKind +sem_TraitKind_Method  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitKind_Method+            {-# LINE 13024 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13029 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitKind_Setter :: T_TraitKind +sem_TraitKind_Setter  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitKind_Setter+            {-# LINE 13037 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13042 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitKind_Slot :: T_TraitKind +sem_TraitKind_Slot  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            TraitKind_Slot+            {-# LINE 13050 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13055 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- TraitMeta ---------------------------------------------------+-- cata+sem_TraitMeta :: TraitMeta  ->+                 T_TraitMeta +sem_TraitMeta list  =+    (Prelude.foldr sem_TraitMeta_Cons sem_TraitMeta_Nil list )+-- semantic domain+type T_TraitMeta  = ( TraitMeta )+sem_TraitMeta_Cons :: Word32 ->+                      T_TraitMeta  ->+                      T_TraitMeta +sem_TraitMeta_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                 (:) hd_ _tlIoutput+                 {-# LINE 13075 "src/InstrLocFilter.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                  _output+                  {-# LINE 13080 "src/InstrLocFilter.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_TraitMeta_Nil :: T_TraitMeta +sem_TraitMeta_Nil  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            []+            {-# LINE 13088 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13093 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- Traits ------------------------------------------------------+-- cata+sem_Traits :: Traits  ->+              T_Traits +sem_Traits list  =+    (Prelude.foldr sem_Traits_Cons sem_Traits_Nil (Prelude.map sem_Trait list) )+-- semantic domain+type T_Traits  = ( Traits )+sem_Traits_Cons :: T_Trait  ->+                   T_Traits  ->+                   T_Traits +sem_Traits_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 13115 "src/InstrLocFilter.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+                       _output+                       {-# LINE 13120 "src/InstrLocFilter.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_Traits_Nil :: T_Traits +sem_Traits_Nil  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            []+            {-# LINE 13128 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13133 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- ValueKind ---------------------------------------------------+-- cata+sem_ValueKind :: ValueKind  ->+                 T_ValueKind +sem_ValueKind (ValueKind_Double )  =+    (sem_ValueKind_Double )+sem_ValueKind (ValueKind_Explicit )  =+    (sem_ValueKind_Explicit )+sem_ValueKind (ValueKind_False )  =+    (sem_ValueKind_False )+sem_ValueKind (ValueKind_Int )  =+    (sem_ValueKind_Int )+sem_ValueKind (ValueKind_Internal )  =+    (sem_ValueKind_Internal )+sem_ValueKind (ValueKind_Namespace )  =+    (sem_ValueKind_Namespace )+sem_ValueKind (ValueKind_Null )  =+    (sem_ValueKind_Null )+sem_ValueKind (ValueKind_Package )  =+    (sem_ValueKind_Package )+sem_ValueKind (ValueKind_Private )  =+    (sem_ValueKind_Private )+sem_ValueKind (ValueKind_Protected )  =+    (sem_ValueKind_Protected )+sem_ValueKind (ValueKind_Static )  =+    (sem_ValueKind_Static )+sem_ValueKind (ValueKind_True )  =+    (sem_ValueKind_True )+sem_ValueKind (ValueKind_UInt )  =+    (sem_ValueKind_UInt )+sem_ValueKind (ValueKind_Undefined )  =+    (sem_ValueKind_Undefined )+sem_ValueKind (ValueKind_Utf8 )  =+    (sem_ValueKind_Utf8 )+-- semantic domain+type T_ValueKind  = ( ValueKind )+sem_ValueKind_Double :: T_ValueKind +sem_ValueKind_Double  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_Double+            {-# LINE 13177 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13182 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Explicit :: T_ValueKind +sem_ValueKind_Explicit  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_Explicit+            {-# LINE 13190 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13195 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_False :: T_ValueKind +sem_ValueKind_False  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_False+            {-# LINE 13203 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13208 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Int :: T_ValueKind +sem_ValueKind_Int  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_Int+            {-# LINE 13216 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13221 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Internal :: T_ValueKind +sem_ValueKind_Internal  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_Internal+            {-# LINE 13229 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13234 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Namespace :: T_ValueKind +sem_ValueKind_Namespace  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_Namespace+            {-# LINE 13242 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13247 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Null :: T_ValueKind +sem_ValueKind_Null  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_Null+            {-# LINE 13255 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13260 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Package :: T_ValueKind +sem_ValueKind_Package  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_Package+            {-# LINE 13268 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13273 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Private :: T_ValueKind +sem_ValueKind_Private  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_Private+            {-# LINE 13281 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13286 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Protected :: T_ValueKind +sem_ValueKind_Protected  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_Protected+            {-# LINE 13294 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13299 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Static :: T_ValueKind +sem_ValueKind_Static  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_Static+            {-# LINE 13307 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13312 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_True :: T_ValueKind +sem_ValueKind_True  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_True+            {-# LINE 13320 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13325 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_UInt :: T_ValueKind +sem_ValueKind_UInt  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_UInt+            {-# LINE 13333 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13338 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Undefined :: T_ValueKind +sem_ValueKind_Undefined  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_Undefined+            {-# LINE 13346 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13351 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Utf8 :: T_ValueKind +sem_ValueKind_Utf8  =+    (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+            ValueKind_Utf8+            {-# LINE 13359 "src/InstrLocFilter.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 35 "src/InstrLocFilter.ag" #-}+             _output+             {-# LINE 13364 "src/InstrLocFilter.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })
+ dist/build/InstrSize.hs view
@@ -0,0 +1,3493 @@+++-- UUAGC 0.9.36 (src/InstrSize.ag)+module InstrSize(instrSize) where++{-# LINE 9 "src/InstrSize.ag" #-}++import Data.ByteString.Lazy(ByteString,pack)+import ByteCode+import Data.Bits+import Data.Word+import Codec.Binary.UTF8.String+{-# LINE 14 "dist/src/sdist.27680/asil-1.2/dist/build/InstrSize.hs" #-}++{-# LINE 19 "src/InstrSize.ag" #-}++-- | Computes the minimum length of an instruction (in bytes)+instrSize :: Instruction -> Int+instrSize instr = size where+  inh  = Inh_Instruction {}+  sem  = sem_Instruction instr+  syn  = wrap_Instruction sem inh+  size = output_Syn_Instruction syn+{-# LINE 25 "dist/src/sdist.27680/asil-1.2/dist/build/InstrSize.hs" #-}++{-# LINE 34 "src/InstrSize.ag" #-}++infixr 3 ##+(##) :: Int -> Int -> Int+(##) = (+)++u8 :: Word8 -> Int+u8 _ = 1++s24 :: Word32 -> Int+s24 _ = 3++u30 :: Word32 -> Int+u30 0 = 1+u30 n = u30 (n `shiftR` 7)++u30size :: Int -> Int+u30size = u30 . fromIntegral+{-# LINE 45 "dist/src/sdist.27680/asil-1.2/dist/build/InstrSize.hs" #-}+-- AbcFile -----------------------------------------------------+-- cata+sem_AbcFile :: AbcFile  ->+               T_AbcFile +sem_AbcFile (AbcFile_File _minorVersion _majorVersion _constantPool _methods _metadatas _instances _classes _scripts _bodies )  =+    (sem_AbcFile_File _minorVersion _majorVersion (sem_PoolInfo _constantPool ) (sem_MethodInfos _methods ) (sem_MetaInfos _metadatas ) (sem_InstanceInfos _instances ) (sem_ClassInfos _classes ) (sem_ScriptInfos _scripts ) (sem_BodyInfos _bodies ) )+-- semantic domain+type T_AbcFile  = ( )+sem_AbcFile_File :: Word16 ->+                    Word16 ->+                    T_PoolInfo  ->+                    T_MethodInfos  ->+                    T_MetaInfos  ->+                    T_InstanceInfos  ->+                    T_ClassInfos  ->+                    T_ScriptInfos  ->+                    T_BodyInfos  ->+                    T_AbcFile +sem_AbcFile_File minorVersion_ majorVersion_ constantPool_ methods_ metadatas_ instances_ classes_ scripts_ bodies_  =+    ( )+-- AbcFlag -----------------------------------------------------+-- cata+sem_AbcFlag :: AbcFlag  ->+               T_AbcFlag +sem_AbcFlag (AbcFlag_LazyInit )  =+    (sem_AbcFlag_LazyInit )+-- semantic domain+type T_AbcFlag  = ( )+sem_AbcFlag_LazyInit :: T_AbcFlag +sem_AbcFlag_LazyInit  =+    ( )+-- AbcFlags ----------------------------------------------------+-- cata+sem_AbcFlags :: AbcFlags  ->+                T_AbcFlags +sem_AbcFlags list  =+    (Prelude.foldr sem_AbcFlags_Cons sem_AbcFlags_Nil (Prelude.map sem_AbcFlag list) )+-- semantic domain+type T_AbcFlags  = ( )+sem_AbcFlags_Cons :: T_AbcFlag  ->+                     T_AbcFlags  ->+                     T_AbcFlags +sem_AbcFlags_Cons hd_ tl_  =+    ( )+sem_AbcFlags_Nil :: T_AbcFlags +sem_AbcFlags_Nil  =+    ( )+-- BodyInfo ----------------------------------------------------+-- cata+sem_BodyInfo :: BodyInfo  ->+                T_BodyInfo +sem_BodyInfo (BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth _instructions _exceptions _traits )  =+    (sem_BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth (sem_Instructions _instructions ) (sem_Exceptions _exceptions ) (sem_Traits _traits ) )+-- semantic domain+type T_BodyInfo  = ( )+sem_BodyInfo_Info :: Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     T_Instructions  ->+                     T_Exceptions  ->+                     T_Traits  ->+                     T_BodyInfo +sem_BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ instructions_ exceptions_ traits_  =+    ( )+-- BodyInfos ---------------------------------------------------+-- cata+sem_BodyInfos :: BodyInfos  ->+                 T_BodyInfos +sem_BodyInfos list  =+    (Prelude.foldr sem_BodyInfos_Cons sem_BodyInfos_Nil (Prelude.map sem_BodyInfo list) )+-- semantic domain+type T_BodyInfos  = ( )+sem_BodyInfos_Cons :: T_BodyInfo  ->+                      T_BodyInfos  ->+                      T_BodyInfos +sem_BodyInfos_Cons hd_ tl_  =+    ( )+sem_BodyInfos_Nil :: T_BodyInfos +sem_BodyInfos_Nil  =+    ( )+-- CaseOffsets -------------------------------------------------+-- cata+sem_CaseOffsets :: CaseOffsets  ->+                   T_CaseOffsets +sem_CaseOffsets list  =+    (Prelude.foldr sem_CaseOffsets_Cons sem_CaseOffsets_Nil list )+-- semantic domain+type T_CaseOffsets  = ( Int,Int)+sem_CaseOffsets_Cons :: Word32 ->+                        T_CaseOffsets  ->+                        T_CaseOffsets +sem_CaseOffsets_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 5 "src/PrettyInstr.ag" #-}+                 _tlIcount+                 {-# LINE 144 "src/InstrSize.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 5 "src/PrettyInstr.ag" #-}+                  (+1)+                  {-# LINE 149 "src/InstrSize.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 5 "src/PrettyInstr.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 154 "src/InstrSize.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (({-# LINE 187 "src/PrettyInstr.ag" #-}+                    s24 hd_ ## _tlIoutput+                    {-# LINE 159 "src/InstrSize.hs" #-}+                    )) of+             { _lhsOoutput | _lhsOoutput `seq` (True) ->+             ( _lhsOcount,_lhsOoutput) }) }) }) }) })+sem_CaseOffsets_Nil :: T_CaseOffsets +sem_CaseOffsets_Nil  =+    (case (({-# LINE 4 "src/PrettyInstr.ag" #-}+            0+            {-# LINE 167 "src/InstrSize.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 30 "src/InstrSize.ag" #-}+             0+             {-# LINE 172 "src/InstrSize.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- ClassInfo ---------------------------------------------------+-- cata+sem_ClassInfo :: ClassInfo  ->+                 T_ClassInfo +sem_ClassInfo (ClassInfo_Info _con _traits )  =+    (sem_ClassInfo_Info _con (sem_Traits _traits ) )+-- semantic domain+type T_ClassInfo  = ( )+sem_ClassInfo_Info :: Word32 ->+                      T_Traits  ->+                      T_ClassInfo +sem_ClassInfo_Info con_ traits_  =+    ( )+-- ClassInfos --------------------------------------------------+-- cata+sem_ClassInfos :: ClassInfos  ->+                  T_ClassInfos +sem_ClassInfos list  =+    (Prelude.foldr sem_ClassInfos_Cons sem_ClassInfos_Nil (Prelude.map sem_ClassInfo list) )+-- semantic domain+type T_ClassInfos  = ( )+sem_ClassInfos_Cons :: T_ClassInfo  ->+                       T_ClassInfos  ->+                       T_ClassInfos +sem_ClassInfos_Cons hd_ tl_  =+    ( )+sem_ClassInfos_Nil :: T_ClassInfos +sem_ClassInfos_Nil  =+    ( )+-- DebugType ---------------------------------------------------+-- cata+sem_DebugType :: DebugType  ->+                 T_DebugType +sem_DebugType (DebugType_Local )  =+    (sem_DebugType_Local )+-- semantic domain+type T_DebugType  = ( Int)+sem_DebugType_Local :: T_DebugType +sem_DebugType_Local  =+    (case (({-# LINE 184 "src/PrettyInstr.ag" #-}+            u8 0x01+            {-# LINE 217 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- Exception ---------------------------------------------------+-- cata+sem_Exception :: Exception  ->+                 T_Exception +sem_Exception (Exception_Info _from _to _target _tp _name )  =+    (sem_Exception_Info _from _to _target _tp _name )+-- semantic domain+type T_Exception  = ( )+sem_Exception_Info :: Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      T_Exception +sem_Exception_Info from_ to_ target_ tp_ name_  =+    ( )+-- Exceptions --------------------------------------------------+-- cata+sem_Exceptions :: Exceptions  ->+                  T_Exceptions +sem_Exceptions list  =+    (Prelude.foldr sem_Exceptions_Cons sem_Exceptions_Nil (Prelude.map sem_Exception list) )+-- semantic domain+type T_Exceptions  = ( )+sem_Exceptions_Cons :: T_Exception  ->+                       T_Exceptions  ->+                       T_Exceptions +sem_Exceptions_Cons hd_ tl_  =+    ( )+sem_Exceptions_Nil :: T_Exceptions +sem_Exceptions_Nil  =+    ( )+-- InstanceFlag ------------------------------------------------+-- cata+sem_InstanceFlag :: InstanceFlag  ->+                    T_InstanceFlag +sem_InstanceFlag (InstanceFlag_ClassFinal )  =+    (sem_InstanceFlag_ClassFinal )+sem_InstanceFlag (InstanceFlag_ClassInterface )  =+    (sem_InstanceFlag_ClassInterface )+sem_InstanceFlag (InstanceFlag_ClassProtected )  =+    (sem_InstanceFlag_ClassProtected )+sem_InstanceFlag (InstanceFlag_ClassSealed )  =+    (sem_InstanceFlag_ClassSealed )+-- semantic domain+type T_InstanceFlag  = ( )+sem_InstanceFlag_ClassFinal :: T_InstanceFlag +sem_InstanceFlag_ClassFinal  =+    ( )+sem_InstanceFlag_ClassInterface :: T_InstanceFlag +sem_InstanceFlag_ClassInterface  =+    ( )+sem_InstanceFlag_ClassProtected :: T_InstanceFlag +sem_InstanceFlag_ClassProtected  =+    ( )+sem_InstanceFlag_ClassSealed :: T_InstanceFlag +sem_InstanceFlag_ClassSealed  =+    ( )+-- InstanceFlags -----------------------------------------------+-- cata+sem_InstanceFlags :: InstanceFlags  ->+                     T_InstanceFlags +sem_InstanceFlags list  =+    (Prelude.foldr sem_InstanceFlags_Cons sem_InstanceFlags_Nil (Prelude.map sem_InstanceFlag list) )+-- semantic domain+type T_InstanceFlags  = ( )+sem_InstanceFlags_Cons :: T_InstanceFlag  ->+                          T_InstanceFlags  ->+                          T_InstanceFlags +sem_InstanceFlags_Cons hd_ tl_  =+    ( )+sem_InstanceFlags_Nil :: T_InstanceFlags +sem_InstanceFlags_Nil  =+    ( )+-- InstanceInfo ------------------------------------------------+-- cata+sem_InstanceInfo :: InstanceInfo  ->+                    T_InstanceInfo +sem_InstanceInfo (InstanceInfo_Info _name _super _flags _protectedNs _interfaces _constructor _traits )  =+    (sem_InstanceInfo_Info _name _super (sem_InstanceFlags _flags ) _protectedNs (sem_Interfaces _interfaces ) _constructor (sem_Traits _traits ) )+-- semantic domain+type T_InstanceInfo  = ( )+sem_InstanceInfo_Info :: Word32 ->+                         Word32 ->+                         T_InstanceFlags  ->+                         Word32 ->+                         T_Interfaces  ->+                         Word32 ->+                         T_Traits  ->+                         T_InstanceInfo +sem_InstanceInfo_Info name_ super_ flags_ protectedNs_ interfaces_ constructor_ traits_  =+    ( )+-- InstanceInfos -----------------------------------------------+-- cata+sem_InstanceInfos :: InstanceInfos  ->+                     T_InstanceInfos +sem_InstanceInfos list  =+    (Prelude.foldr sem_InstanceInfos_Cons sem_InstanceInfos_Nil (Prelude.map sem_InstanceInfo list) )+-- semantic domain+type T_InstanceInfos  = ( )+sem_InstanceInfos_Cons :: T_InstanceInfo  ->+                          T_InstanceInfos  ->+                          T_InstanceInfos +sem_InstanceInfos_Cons hd_ tl_  =+    ( )+sem_InstanceInfos_Nil :: T_InstanceInfos +sem_InstanceInfos_Nil  =+    ( )+-- Instruction -------------------------------------------------+-- cata+sem_Instruction :: Instruction  ->+                   T_Instruction +sem_Instruction (Instruction_Add )  =+    (sem_Instruction_Add )+sem_Instruction (Instruction_Add_d )  =+    (sem_Instruction_Add_d )+sem_Instruction (Instruction_Add_i )  =+    (sem_Instruction_Add_i )+sem_Instruction (Instruction_ApplyType _name )  =+    (sem_Instruction_ApplyType _name )+sem_Instruction (Instruction_AsType _name )  =+    (sem_Instruction_AsType _name )+sem_Instruction (Instruction_AsTypeLate )  =+    (sem_Instruction_AsTypeLate )+sem_Instruction (Instruction_BitAnd )  =+    (sem_Instruction_BitAnd )+sem_Instruction (Instruction_BitNot )  =+    (sem_Instruction_BitNot )+sem_Instruction (Instruction_BitOr )  =+    (sem_Instruction_BitOr )+sem_Instruction (Instruction_BitXor )  =+    (sem_Instruction_BitXor )+sem_Instruction (Instruction_BreakLine _line )  =+    (sem_Instruction_BreakLine _line )+sem_Instruction (Instruction_Breakpoint )  =+    (sem_Instruction_Breakpoint )+sem_Instruction (Instruction_Call _argCount )  =+    (sem_Instruction_Call _argCount )+sem_Instruction (Instruction_CallInterface _name _argCount )  =+    (sem_Instruction_CallInterface _name _argCount )+sem_Instruction (Instruction_CallMethod _index _argCount )  =+    (sem_Instruction_CallMethod _index _argCount )+sem_Instruction (Instruction_CallProp _name _argCount )  =+    (sem_Instruction_CallProp _name _argCount )+sem_Instruction (Instruction_CallPropLex _name _argCount )  =+    (sem_Instruction_CallPropLex _name _argCount )+sem_Instruction (Instruction_CallPropVoid _name _argCount )  =+    (sem_Instruction_CallPropVoid _name _argCount )+sem_Instruction (Instruction_CallStatic _method _argCount )  =+    (sem_Instruction_CallStatic _method _argCount )+sem_Instruction (Instruction_CallSuper _name _argCount )  =+    (sem_Instruction_CallSuper _name _argCount )+sem_Instruction (Instruction_CallSuperId )  =+    (sem_Instruction_CallSuperId )+sem_Instruction (Instruction_CallSuperVoid _name _argCount )  =+    (sem_Instruction_CallSuperVoid _name _argCount )+sem_Instruction (Instruction_CheckFilter )  =+    (sem_Instruction_CheckFilter )+sem_Instruction (Instruction_Coerce _name )  =+    (sem_Instruction_Coerce _name )+sem_Instruction (Instruction_Coerce_a )  =+    (sem_Instruction_Coerce_a )+sem_Instruction (Instruction_Coerce_b )  =+    (sem_Instruction_Coerce_b )+sem_Instruction (Instruction_Coerce_d )  =+    (sem_Instruction_Coerce_d )+sem_Instruction (Instruction_Coerce_i )  =+    (sem_Instruction_Coerce_i )+sem_Instruction (Instruction_Coerce_o )  =+    (sem_Instruction_Coerce_o )+sem_Instruction (Instruction_Coerce_s )  =+    (sem_Instruction_Coerce_s )+sem_Instruction (Instruction_Coerce_u )  =+    (sem_Instruction_Coerce_u )+sem_Instruction (Instruction_Concat )  =+    (sem_Instruction_Concat )+sem_Instruction (Instruction_Construct _argCount )  =+    (sem_Instruction_Construct _argCount )+sem_Instruction (Instruction_ConstructProp _name _argCount )  =+    (sem_Instruction_ConstructProp _name _argCount )+sem_Instruction (Instruction_ConstructSuper _argCount )  =+    (sem_Instruction_ConstructSuper _argCount )+sem_Instruction (Instruction_Convert_b )  =+    (sem_Instruction_Convert_b )+sem_Instruction (Instruction_Convert_d )  =+    (sem_Instruction_Convert_d )+sem_Instruction (Instruction_Convert_i )  =+    (sem_Instruction_Convert_i )+sem_Instruction (Instruction_Convert_o )  =+    (sem_Instruction_Convert_o )+sem_Instruction (Instruction_Convert_s )  =+    (sem_Instruction_Convert_s )+sem_Instruction (Instruction_Convert_u )  =+    (sem_Instruction_Convert_u )+sem_Instruction (Instruction_Debug _tp _name _reg _extra )  =+    (sem_Instruction_Debug (sem_DebugType _tp ) _name _reg _extra )+sem_Instruction (Instruction_DebugFile _name )  =+    (sem_Instruction_DebugFile _name )+sem_Instruction (Instruction_DebugLine _line )  =+    (sem_Instruction_DebugLine _line )+sem_Instruction (Instruction_DecLocal _reg )  =+    (sem_Instruction_DecLocal _reg )+sem_Instruction (Instruction_DecLocal_i _reg )  =+    (sem_Instruction_DecLocal_i _reg )+sem_Instruction (Instruction_Decrement )  =+    (sem_Instruction_Decrement )+sem_Instruction (Instruction_Decrement_i )  =+    (sem_Instruction_Decrement_i )+sem_Instruction (Instruction_DeleteProperty _name )  =+    (sem_Instruction_DeleteProperty _name )+sem_Instruction (Instruction_DeletePropertyLate )  =+    (sem_Instruction_DeletePropertyLate )+sem_Instruction (Instruction_Divide )  =+    (sem_Instruction_Divide )+sem_Instruction (Instruction_Dup )  =+    (sem_Instruction_Dup )+sem_Instruction (Instruction_Dxns _name )  =+    (sem_Instruction_Dxns _name )+sem_Instruction (Instruction_DxnsLate )  =+    (sem_Instruction_DxnsLate )+sem_Instruction (Instruction_Equals )  =+    (sem_Instruction_Equals )+sem_Instruction (Instruction_EscXAttr )  =+    (sem_Instruction_EscXAttr )+sem_Instruction (Instruction_EscXElem )  =+    (sem_Instruction_EscXElem )+sem_Instruction (Instruction_FindDef _name )  =+    (sem_Instruction_FindDef _name )+sem_Instruction (Instruction_FindPropStrict _name )  =+    (sem_Instruction_FindPropStrict _name )+sem_Instruction (Instruction_FindProperty _name )  =+    (sem_Instruction_FindProperty _name )+sem_Instruction (Instruction_FindPropertyGlobal _name )  =+    (sem_Instruction_FindPropertyGlobal _name )+sem_Instruction (Instruction_FindPropertyGlobalStrict _name )  =+    (sem_Instruction_FindPropertyGlobalStrict _name )+sem_Instruction (Instruction_GetDescendants _name )  =+    (sem_Instruction_GetDescendants _name )+sem_Instruction (Instruction_GetGlobalScope )  =+    (sem_Instruction_GetGlobalScope )+sem_Instruction (Instruction_GetGlobalSlot _slot )  =+    (sem_Instruction_GetGlobalSlot _slot )+sem_Instruction (Instruction_GetLex _name )  =+    (sem_Instruction_GetLex _name )+sem_Instruction (Instruction_GetLocal _reg )  =+    (sem_Instruction_GetLocal _reg )+sem_Instruction (Instruction_GetLocal0 )  =+    (sem_Instruction_GetLocal0 )+sem_Instruction (Instruction_GetLocal1 )  =+    (sem_Instruction_GetLocal1 )+sem_Instruction (Instruction_GetLocal2 )  =+    (sem_Instruction_GetLocal2 )+sem_Instruction (Instruction_GetLocal3 )  =+    (sem_Instruction_GetLocal3 )+sem_Instruction (Instruction_GetOuterScope _name )  =+    (sem_Instruction_GetOuterScope _name )+sem_Instruction (Instruction_GetProperty _name )  =+    (sem_Instruction_GetProperty _name )+sem_Instruction (Instruction_GetScopeObject _index )  =+    (sem_Instruction_GetScopeObject _index )+sem_Instruction (Instruction_GetSlot _slot )  =+    (sem_Instruction_GetSlot _slot )+sem_Instruction (Instruction_GetSuper _name )  =+    (sem_Instruction_GetSuper _name )+sem_Instruction (Instruction_GreaterEquals )  =+    (sem_Instruction_GreaterEquals )+sem_Instruction (Instruction_GreaterThan )  =+    (sem_Instruction_GreaterThan )+sem_Instruction (Instruction_HasNext )  =+    (sem_Instruction_HasNext )+sem_Instruction (Instruction_HasNext2 _objectReg _indexReg )  =+    (sem_Instruction_HasNext2 _objectReg _indexReg )+sem_Instruction (Instruction_IfEq _offset )  =+    (sem_Instruction_IfEq _offset )+sem_Instruction (Instruction_IfFalse _offset )  =+    (sem_Instruction_IfFalse _offset )+sem_Instruction (Instruction_IfGe _offset )  =+    (sem_Instruction_IfGe _offset )+sem_Instruction (Instruction_IfGt _offset )  =+    (sem_Instruction_IfGt _offset )+sem_Instruction (Instruction_IfLe _offset )  =+    (sem_Instruction_IfLe _offset )+sem_Instruction (Instruction_IfLt _offset )  =+    (sem_Instruction_IfLt _offset )+sem_Instruction (Instruction_IfNGe _offset )  =+    (sem_Instruction_IfNGe _offset )+sem_Instruction (Instruction_IfNGt _offset )  =+    (sem_Instruction_IfNGt _offset )+sem_Instruction (Instruction_IfNLe _offset )  =+    (sem_Instruction_IfNLe _offset )+sem_Instruction (Instruction_IfNLt _offset )  =+    (sem_Instruction_IfNLt _offset )+sem_Instruction (Instruction_IfNe _offset )  =+    (sem_Instruction_IfNe _offset )+sem_Instruction (Instruction_IfStrictEq _offset )  =+    (sem_Instruction_IfStrictEq _offset )+sem_Instruction (Instruction_IfStrictNe _offset )  =+    (sem_Instruction_IfStrictNe _offset )+sem_Instruction (Instruction_IfTrue _offset )  =+    (sem_Instruction_IfTrue _offset )+sem_Instruction (Instruction_In )  =+    (sem_Instruction_In )+sem_Instruction (Instruction_IncLocal _reg )  =+    (sem_Instruction_IncLocal _reg )+sem_Instruction (Instruction_IncLocal_i _reg )  =+    (sem_Instruction_IncLocal_i _reg )+sem_Instruction (Instruction_Increment )  =+    (sem_Instruction_Increment )+sem_Instruction (Instruction_Increment_i )  =+    (sem_Instruction_Increment_i )+sem_Instruction (Instruction_InitProperty _name )  =+    (sem_Instruction_InitProperty _name )+sem_Instruction (Instruction_InstanceOf )  =+    (sem_Instruction_InstanceOf )+sem_Instruction (Instruction_IsType _name )  =+    (sem_Instruction_IsType _name )+sem_Instruction (Instruction_IsTypeLate )  =+    (sem_Instruction_IsTypeLate )+sem_Instruction (Instruction_Jump _offset )  =+    (sem_Instruction_Jump _offset )+sem_Instruction (Instruction_Kill _reg )  =+    (sem_Instruction_Kill _reg )+sem_Instruction (Instruction_Label )  =+    (sem_Instruction_Label )+sem_Instruction (Instruction_LessEquals )  =+    (sem_Instruction_LessEquals )+sem_Instruction (Instruction_LessThan )  =+    (sem_Instruction_LessThan )+sem_Instruction (Instruction_LoadFloat32 )  =+    (sem_Instruction_LoadFloat32 )+sem_Instruction (Instruction_LoadFloat64 )  =+    (sem_Instruction_LoadFloat64 )+sem_Instruction (Instruction_LoadIndirect16 )  =+    (sem_Instruction_LoadIndirect16 )+sem_Instruction (Instruction_LoadIndirect32 )  =+    (sem_Instruction_LoadIndirect32 )+sem_Instruction (Instruction_LoadIndirect8 )  =+    (sem_Instruction_LoadIndirect8 )+sem_Instruction (Instruction_Location _index )  =+    (sem_Instruction_Location _index )+sem_Instruction (Instruction_LookupSwitch _defaultOffset _caseOffsets )  =+    (sem_Instruction_LookupSwitch _defaultOffset (sem_CaseOffsets _caseOffsets ) )+sem_Instruction (Instruction_Lshift )  =+    (sem_Instruction_Lshift )+sem_Instruction (Instruction_Modulo )  =+    (sem_Instruction_Modulo )+sem_Instruction (Instruction_Multiply )  =+    (sem_Instruction_Multiply )+sem_Instruction (Instruction_Multiply_i )  =+    (sem_Instruction_Multiply_i )+sem_Instruction (Instruction_Negate )  =+    (sem_Instruction_Negate )+sem_Instruction (Instruction_Negate_i )  =+    (sem_Instruction_Negate_i )+sem_Instruction (Instruction_NewActivation )  =+    (sem_Instruction_NewActivation )+sem_Instruction (Instruction_NewArray _argCount )  =+    (sem_Instruction_NewArray _argCount )+sem_Instruction (Instruction_NewCatch _exception )  =+    (sem_Instruction_NewCatch _exception )+sem_Instruction (Instruction_NewClass _class )  =+    (sem_Instruction_NewClass _class )+sem_Instruction (Instruction_NewFunction _method )  =+    (sem_Instruction_NewFunction _method )+sem_Instruction (Instruction_NewObject _argCount )  =+    (sem_Instruction_NewObject _argCount )+sem_Instruction (Instruction_NextName )  =+    (sem_Instruction_NextName )+sem_Instruction (Instruction_NextValue )  =+    (sem_Instruction_NextValue )+sem_Instruction (Instruction_Nop )  =+    (sem_Instruction_Nop )+sem_Instruction (Instruction_Not )  =+    (sem_Instruction_Not )+sem_Instruction (Instruction_Pop )  =+    (sem_Instruction_Pop )+sem_Instruction (Instruction_PopScope )  =+    (sem_Instruction_PopScope )+sem_Instruction (Instruction_PushByte _val )  =+    (sem_Instruction_PushByte _val )+sem_Instruction (Instruction_PushDouble _name )  =+    (sem_Instruction_PushDouble _name )+sem_Instruction (Instruction_PushFalse )  =+    (sem_Instruction_PushFalse )+sem_Instruction (Instruction_PushInt _name )  =+    (sem_Instruction_PushInt _name )+sem_Instruction (Instruction_PushNaN )  =+    (sem_Instruction_PushNaN )+sem_Instruction (Instruction_PushNamespace _name )  =+    (sem_Instruction_PushNamespace _name )+sem_Instruction (Instruction_PushNull )  =+    (sem_Instruction_PushNull )+sem_Instruction (Instruction_PushScope )  =+    (sem_Instruction_PushScope )+sem_Instruction (Instruction_PushShort _val )  =+    (sem_Instruction_PushShort _val )+sem_Instruction (Instruction_PushString _name )  =+    (sem_Instruction_PushString _name )+sem_Instruction (Instruction_PushTrue )  =+    (sem_Instruction_PushTrue )+sem_Instruction (Instruction_PushUInt _name )  =+    (sem_Instruction_PushUInt _name )+sem_Instruction (Instruction_PushUndefined )  =+    (sem_Instruction_PushUndefined )+sem_Instruction (Instruction_PushWith )  =+    (sem_Instruction_PushWith )+sem_Instruction (Instruction_ReturnValue )  =+    (sem_Instruction_ReturnValue )+sem_Instruction (Instruction_ReturnVoid )  =+    (sem_Instruction_ReturnVoid )+sem_Instruction (Instruction_Rshift )  =+    (sem_Instruction_Rshift )+sem_Instruction (Instruction_SetGlobalSlot _slot )  =+    (sem_Instruction_SetGlobalSlot _slot )+sem_Instruction (Instruction_SetLocal _reg )  =+    (sem_Instruction_SetLocal _reg )+sem_Instruction (Instruction_SetLocal0 )  =+    (sem_Instruction_SetLocal0 )+sem_Instruction (Instruction_SetLocal1 )  =+    (sem_Instruction_SetLocal1 )+sem_Instruction (Instruction_SetLocal2 )  =+    (sem_Instruction_SetLocal2 )+sem_Instruction (Instruction_SetLocal3 )  =+    (sem_Instruction_SetLocal3 )+sem_Instruction (Instruction_SetProperty _name )  =+    (sem_Instruction_SetProperty _name )+sem_Instruction (Instruction_SetPropertyLate )  =+    (sem_Instruction_SetPropertyLate )+sem_Instruction (Instruction_SetSlot _slot )  =+    (sem_Instruction_SetSlot _slot )+sem_Instruction (Instruction_SetSuper _name )  =+    (sem_Instruction_SetSuper _name )+sem_Instruction (Instruction_SignExtend1 )  =+    (sem_Instruction_SignExtend1 )+sem_Instruction (Instruction_SignExtend16 )  =+    (sem_Instruction_SignExtend16 )+sem_Instruction (Instruction_SignExtend8 )  =+    (sem_Instruction_SignExtend8 )+sem_Instruction (Instruction_StoreFloat32 )  =+    (sem_Instruction_StoreFloat32 )+sem_Instruction (Instruction_StoreFloat64 )  =+    (sem_Instruction_StoreFloat64 )+sem_Instruction (Instruction_StoreIndirect16 )  =+    (sem_Instruction_StoreIndirect16 )+sem_Instruction (Instruction_StoreIndirect32 )  =+    (sem_Instruction_StoreIndirect32 )+sem_Instruction (Instruction_StoreIndirect8 )  =+    (sem_Instruction_StoreIndirect8 )+sem_Instruction (Instruction_StrictEquals )  =+    (sem_Instruction_StrictEquals )+sem_Instruction (Instruction_Substract )  =+    (sem_Instruction_Substract )+sem_Instruction (Instruction_Substract_i )  =+    (sem_Instruction_Substract_i )+sem_Instruction (Instruction_Swap )  =+    (sem_Instruction_Swap )+sem_Instruction (Instruction_Throw )  =+    (sem_Instruction_Throw )+sem_Instruction (Instruction_Timestamp )  =+    (sem_Instruction_Timestamp )+sem_Instruction (Instruction_TypeOf )  =+    (sem_Instruction_TypeOf )+sem_Instruction (Instruction_Urshift )  =+    (sem_Instruction_Urshift )+-- semantic domain+type T_Instruction  = ( Int)+data Inh_Instruction  = Inh_Instruction {}+data Syn_Instruction  = Syn_Instruction {output_Syn_Instruction :: !(Int)}+wrap_Instruction :: T_Instruction  ->+                    Inh_Instruction  ->+                    Syn_Instruction +wrap_Instruction sem (Inh_Instruction )  =+    (let ( _lhsOoutput) | True = sem +     in  (Syn_Instruction _lhsOoutput ))+sem_Instruction_Add :: T_Instruction +sem_Instruction_Add  =+    (case (({-# LINE 8 "src/PrettyInstr.ag" #-}+            u8 0xA0+            {-# LINE 699 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Add_d :: T_Instruction +sem_Instruction_Add_d  =+    (case (({-# LINE 10 "src/PrettyInstr.ag" #-}+            u8 0x9B+            {-# LINE 707 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Add_i :: T_Instruction +sem_Instruction_Add_i  =+    (case (({-# LINE 9 "src/PrettyInstr.ag" #-}+            u8 0xC5+            {-# LINE 715 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_ApplyType :: Word32 ->+                             T_Instruction +sem_Instruction_ApplyType name_  =+    (case (({-# LINE 11 "src/PrettyInstr.ag" #-}+            u8 0x53 ## u30 name_+            {-# LINE 724 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_AsType :: Word32 ->+                          T_Instruction +sem_Instruction_AsType name_  =+    (case (({-# LINE 12 "src/PrettyInstr.ag" #-}+            u8 0x86 ## u30 name_+            {-# LINE 733 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_AsTypeLate :: T_Instruction +sem_Instruction_AsTypeLate  =+    (case (({-# LINE 13 "src/PrettyInstr.ag" #-}+            u8 0x87+            {-# LINE 741 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_BitAnd :: T_Instruction +sem_Instruction_BitAnd  =+    (case (({-# LINE 14 "src/PrettyInstr.ag" #-}+            u8 0xA8+            {-# LINE 749 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_BitNot :: T_Instruction +sem_Instruction_BitNot  =+    (case (({-# LINE 15 "src/PrettyInstr.ag" #-}+            u8 0x97+            {-# LINE 757 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_BitOr :: T_Instruction +sem_Instruction_BitOr  =+    (case (({-# LINE 16 "src/PrettyInstr.ag" #-}+            u8 0xA9+            {-# LINE 765 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_BitXor :: T_Instruction +sem_Instruction_BitXor  =+    (case (({-# LINE 17 "src/PrettyInstr.ag" #-}+            u8 0xAA+            {-# LINE 773 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_BreakLine :: Word32 ->+                             T_Instruction +sem_Instruction_BreakLine line_  =+    (case (({-# LINE 19 "src/PrettyInstr.ag" #-}+            u8 0xF2 ## u30 line_+            {-# LINE 782 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Breakpoint :: T_Instruction +sem_Instruction_Breakpoint  =+    (case (({-# LINE 18 "src/PrettyInstr.ag" #-}+            u8 0x01+            {-# LINE 790 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Call :: Word32 ->+                        T_Instruction +sem_Instruction_Call argCount_  =+    (case (({-# LINE 20 "src/PrettyInstr.ag" #-}+            u8 0x41 ## u30 argCount_+            {-# LINE 799 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallInterface :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallInterface name_ argCount_  =+    (case (({-# LINE 21 "src/PrettyInstr.ag" #-}+            u8 0x4D ## u30 name_ ## u30 argCount_+            {-# LINE 809 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallMethod :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallMethod index_ argCount_  =+    (case (({-# LINE 22 "src/PrettyInstr.ag" #-}+            u8 0x43 ## u30 index_ ## u30 argCount_+            {-# LINE 819 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallProp :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_CallProp name_ argCount_  =+    (case (({-# LINE 23 "src/PrettyInstr.ag" #-}+            u8 0x46 ## u30 name_ ## u30 argCount_+            {-# LINE 829 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallPropLex :: Word32 ->+                               Word32 ->+                               T_Instruction +sem_Instruction_CallPropLex name_ argCount_  =+    (case (({-# LINE 24 "src/PrettyInstr.ag" #-}+            u8 0x4C ## u30 name_ ## u30 argCount_+            {-# LINE 839 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallPropVoid :: Word32 ->+                                Word32 ->+                                T_Instruction +sem_Instruction_CallPropVoid name_ argCount_  =+    (case (({-# LINE 25 "src/PrettyInstr.ag" #-}+            u8 0x4F ## u30 name_ ## u30 argCount_+            {-# LINE 849 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallStatic :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallStatic method_ argCount_  =+    (case (({-# LINE 26 "src/PrettyInstr.ag" #-}+            u8 0x44 ## u30 method_ ## u30 argCount_+            {-# LINE 859 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallSuper :: Word32 ->+                             Word32 ->+                             T_Instruction +sem_Instruction_CallSuper name_ argCount_  =+    (case (({-# LINE 27 "src/PrettyInstr.ag" #-}+            u8 0x45 ## u30 name_ ## u30 argCount_+            {-# LINE 869 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallSuperId :: T_Instruction +sem_Instruction_CallSuperId  =+    (case (({-# LINE 28 "src/PrettyInstr.ag" #-}+            u8 0x4B+            {-# LINE 877 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallSuperVoid :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallSuperVoid name_ argCount_  =+    (case (({-# LINE 29 "src/PrettyInstr.ag" #-}+            u8 0x4E ## u30 name_ ## u30 argCount_+            {-# LINE 887 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CheckFilter :: T_Instruction +sem_Instruction_CheckFilter  =+    (case (({-# LINE 30 "src/PrettyInstr.ag" #-}+            u8 0x78+            {-# LINE 895 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce :: Word32 ->+                          T_Instruction +sem_Instruction_Coerce name_  =+    (case (({-# LINE 31 "src/PrettyInstr.ag" #-}+            u8 0x80 ## u30 name_+            {-# LINE 904 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_a :: T_Instruction +sem_Instruction_Coerce_a  =+    (case (({-# LINE 33 "src/PrettyInstr.ag" #-}+            u8 0x82+            {-# LINE 912 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_b :: T_Instruction +sem_Instruction_Coerce_b  =+    (case (({-# LINE 32 "src/PrettyInstr.ag" #-}+            u8 0x81+            {-# LINE 920 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_d :: T_Instruction +sem_Instruction_Coerce_d  =+    (case (({-# LINE 35 "src/PrettyInstr.ag" #-}+            u8 0x84+            {-# LINE 928 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_i :: T_Instruction +sem_Instruction_Coerce_i  =+    (case (({-# LINE 34 "src/PrettyInstr.ag" #-}+            u8 0x83+            {-# LINE 936 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_o :: T_Instruction +sem_Instruction_Coerce_o  =+    (case (({-# LINE 38 "src/PrettyInstr.ag" #-}+            u8 0x89+            {-# LINE 944 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_s :: T_Instruction +sem_Instruction_Coerce_s  =+    (case (({-# LINE 36 "src/PrettyInstr.ag" #-}+            u8 0x85+            {-# LINE 952 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_u :: T_Instruction +sem_Instruction_Coerce_u  =+    (case (({-# LINE 37 "src/PrettyInstr.ag" #-}+            u8 0x88+            {-# LINE 960 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Concat :: T_Instruction +sem_Instruction_Concat  =+    (case (({-# LINE 39 "src/PrettyInstr.ag" #-}+            u8 0x9A+            {-# LINE 968 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Construct :: Word32 ->+                             T_Instruction +sem_Instruction_Construct argCount_  =+    (case (({-# LINE 40 "src/PrettyInstr.ag" #-}+            u8 0x42 ## u30 argCount_+            {-# LINE 977 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_ConstructProp :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_ConstructProp name_ argCount_  =+    (case (({-# LINE 41 "src/PrettyInstr.ag" #-}+            u8 0x4A ## u30 name_ ## u30 argCount_+            {-# LINE 987 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_ConstructSuper :: Word32 ->+                                  T_Instruction +sem_Instruction_ConstructSuper argCount_  =+    (case (({-# LINE 42 "src/PrettyInstr.ag" #-}+            u8 0x49 ## u30 argCount_+            {-# LINE 996 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Convert_b :: T_Instruction +sem_Instruction_Convert_b  =+    (case (({-# LINE 43 "src/PrettyInstr.ag" #-}+            u8 0x76+            {-# LINE 1004 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Convert_d :: T_Instruction +sem_Instruction_Convert_d  =+    (case (({-# LINE 45 "src/PrettyInstr.ag" #-}+            u8 0x75+            {-# LINE 1012 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Convert_i :: T_Instruction +sem_Instruction_Convert_i  =+    (case (({-# LINE 44 "src/PrettyInstr.ag" #-}+            u8 0x73+            {-# LINE 1020 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Convert_o :: T_Instruction +sem_Instruction_Convert_o  =+    (case (({-# LINE 46 "src/PrettyInstr.ag" #-}+            u8 0x77+            {-# LINE 1028 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Convert_s :: T_Instruction +sem_Instruction_Convert_s  =+    (case (({-# LINE 48 "src/PrettyInstr.ag" #-}+            u8 0x70+            {-# LINE 1036 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Convert_u :: T_Instruction +sem_Instruction_Convert_u  =+    (case (({-# LINE 47 "src/PrettyInstr.ag" #-}+            u8 0x74+            {-# LINE 1044 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Debug :: T_DebugType  ->+                         Word32 ->+                         Word32 ->+                         Word32 ->+                         T_Instruction +sem_Instruction_Debug tp_ name_ reg_ extra_  =+    (case (tp_ ) of+     { ( _tpIoutput) | True ->+         (case (({-# LINE 49 "src/PrettyInstr.ag" #-}+                 u8 0xEF ## _tpIoutput ## u30 name_ ## u30 reg_ ## u30 extra_+                 {-# LINE 1058 "src/InstrSize.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }) })+sem_Instruction_DebugFile :: Word32 ->+                             T_Instruction +sem_Instruction_DebugFile name_  =+    (case (({-# LINE 50 "src/PrettyInstr.ag" #-}+            u8 0xF1 ## u30 name_+            {-# LINE 1067 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_DebugLine :: Word32 ->+                             T_Instruction +sem_Instruction_DebugLine line_  =+    (case (({-# LINE 51 "src/PrettyInstr.ag" #-}+            u8 0xF0 ## u30 line_+            {-# LINE 1076 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_DecLocal :: Word32 ->+                            T_Instruction +sem_Instruction_DecLocal reg_  =+    (case (({-# LINE 52 "src/PrettyInstr.ag" #-}+            u8 0x94 ## u30 reg_+            {-# LINE 1085 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_DecLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_DecLocal_i reg_  =+    (case (({-# LINE 53 "src/PrettyInstr.ag" #-}+            u8 0xC3 ## u30 reg_+            {-# LINE 1094 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Decrement :: T_Instruction +sem_Instruction_Decrement  =+    (case (({-# LINE 54 "src/PrettyInstr.ag" #-}+            u8 0x93+            {-# LINE 1102 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Decrement_i :: T_Instruction +sem_Instruction_Decrement_i  =+    (case (({-# LINE 55 "src/PrettyInstr.ag" #-}+            u8 0xC1+            {-# LINE 1110 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_DeleteProperty :: Word32 ->+                                  T_Instruction +sem_Instruction_DeleteProperty name_  =+    (case (({-# LINE 56 "src/PrettyInstr.ag" #-}+            u8 0x6A ## u30 name_+            {-# LINE 1119 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_DeletePropertyLate :: T_Instruction +sem_Instruction_DeletePropertyLate  =+    (case (({-# LINE 57 "src/PrettyInstr.ag" #-}+            u8 0x6B+            {-# LINE 1127 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Divide :: T_Instruction +sem_Instruction_Divide  =+    (case (({-# LINE 58 "src/PrettyInstr.ag" #-}+            u8 0xA3+            {-# LINE 1135 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Dup :: T_Instruction +sem_Instruction_Dup  =+    (case (({-# LINE 59 "src/PrettyInstr.ag" #-}+            u8 0x2A+            {-# LINE 1143 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Dxns :: Word32 ->+                        T_Instruction +sem_Instruction_Dxns name_  =+    (case (({-# LINE 60 "src/PrettyInstr.ag" #-}+            u8 0x06 ## u30 name_+            {-# LINE 1152 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_DxnsLate :: T_Instruction +sem_Instruction_DxnsLate  =+    (case (({-# LINE 61 "src/PrettyInstr.ag" #-}+            u8 0x07+            {-# LINE 1160 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Equals :: T_Instruction +sem_Instruction_Equals  =+    (case (({-# LINE 62 "src/PrettyInstr.ag" #-}+            u8 0xAB+            {-# LINE 1168 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_EscXAttr :: T_Instruction +sem_Instruction_EscXAttr  =+    (case (({-# LINE 63 "src/PrettyInstr.ag" #-}+            u8 0x72+            {-# LINE 1176 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_EscXElem :: T_Instruction +sem_Instruction_EscXElem  =+    (case (({-# LINE 64 "src/PrettyInstr.ag" #-}+            u8 0x71+            {-# LINE 1184 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_FindDef :: Word32 ->+                           T_Instruction +sem_Instruction_FindDef name_  =+    (case (({-# LINE 65 "src/PrettyInstr.ag" #-}+            u8 0x5F ## u30 name_+            {-# LINE 1193 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_FindPropStrict :: Word32 ->+                                  T_Instruction +sem_Instruction_FindPropStrict name_  =+    (case (({-# LINE 69 "src/PrettyInstr.ag" #-}+            u8 0x5D ## u30 name_+            {-# LINE 1202 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_FindProperty :: Word32 ->+                                T_Instruction +sem_Instruction_FindProperty name_  =+    (case (({-# LINE 68 "src/PrettyInstr.ag" #-}+            u8 0x5E ## u30 name_+            {-# LINE 1211 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_FindPropertyGlobal :: Word32 ->+                                      T_Instruction +sem_Instruction_FindPropertyGlobal name_  =+    (case (({-# LINE 67 "src/PrettyInstr.ag" #-}+            u8 0x5C ## u30 name_+            {-# LINE 1220 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_FindPropertyGlobalStrict :: Word32 ->+                                            T_Instruction +sem_Instruction_FindPropertyGlobalStrict name_  =+    (case (({-# LINE 66 "src/PrettyInstr.ag" #-}+            u8 0x5B ## u30 name_+            {-# LINE 1229 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetDescendants :: Word32 ->+                                  T_Instruction +sem_Instruction_GetDescendants name_  =+    (case (({-# LINE 70 "src/PrettyInstr.ag" #-}+            u8 0x59 ## u30 name_+            {-# LINE 1238 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetGlobalScope :: T_Instruction +sem_Instruction_GetGlobalScope  =+    (case (({-# LINE 71 "src/PrettyInstr.ag" #-}+            u8 0x64+            {-# LINE 1246 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_GetGlobalSlot slot_  =+    (case (({-# LINE 72 "src/PrettyInstr.ag" #-}+            u8 0x6E ## u30 slot_+            {-# LINE 1255 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetLex :: Word32 ->+                          T_Instruction +sem_Instruction_GetLex name_  =+    (case (({-# LINE 73 "src/PrettyInstr.ag" #-}+            u8 0x60 ## u30 name_+            {-# LINE 1264 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_GetLocal reg_  =+    (case (({-# LINE 74 "src/PrettyInstr.ag" #-}+            u8 0x62 ## u30 reg_+            {-# LINE 1273 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetLocal0 :: T_Instruction +sem_Instruction_GetLocal0  =+    (case (({-# LINE 75 "src/PrettyInstr.ag" #-}+            u8 0xD0+            {-# LINE 1281 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetLocal1 :: T_Instruction +sem_Instruction_GetLocal1  =+    (case (({-# LINE 76 "src/PrettyInstr.ag" #-}+            u8 0xD1+            {-# LINE 1289 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetLocal2 :: T_Instruction +sem_Instruction_GetLocal2  =+    (case (({-# LINE 77 "src/PrettyInstr.ag" #-}+            u8 0xD2+            {-# LINE 1297 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetLocal3 :: T_Instruction +sem_Instruction_GetLocal3  =+    (case (({-# LINE 78 "src/PrettyInstr.ag" #-}+            u8 0xD3+            {-# LINE 1305 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetOuterScope :: Word32 ->+                                 T_Instruction +sem_Instruction_GetOuterScope name_  =+    (case (({-# LINE 79 "src/PrettyInstr.ag" #-}+            u8 0x67+            {-# LINE 1314 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_GetProperty name_  =+    (case (({-# LINE 80 "src/PrettyInstr.ag" #-}+            u8 0x66 ## u30 name_+            {-# LINE 1323 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetScopeObject :: Word8 ->+                                  T_Instruction +sem_Instruction_GetScopeObject index_  =+    (case (({-# LINE 81 "src/PrettyInstr.ag" #-}+            u8 0x65 ## u8 index_+            {-# LINE 1332 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_GetSlot slot_  =+    (case (({-# LINE 82 "src/PrettyInstr.ag" #-}+            u8 0x6C ## u30 slot_+            {-# LINE 1341 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_GetSuper name_  =+    (case (({-# LINE 83 "src/PrettyInstr.ag" #-}+            u8 0x04 ## u30 name_+            {-# LINE 1350 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GreaterEquals :: T_Instruction +sem_Instruction_GreaterEquals  =+    (case (({-# LINE 84 "src/PrettyInstr.ag" #-}+            u8 0xB0+            {-# LINE 1358 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GreaterThan :: T_Instruction +sem_Instruction_GreaterThan  =+    (case (({-# LINE 85 "src/PrettyInstr.ag" #-}+            u8 0xAF+            {-# LINE 1366 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_HasNext :: T_Instruction +sem_Instruction_HasNext  =+    (case (({-# LINE 86 "src/PrettyInstr.ag" #-}+            u8 0x1F+            {-# LINE 1374 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_HasNext2 :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_HasNext2 objectReg_ indexReg_  =+    (case (({-# LINE 87 "src/PrettyInstr.ag" #-}+            u8 0x32 ## u30 objectReg_ ## u30 indexReg_+            {-# LINE 1384 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfEq :: Word32 ->+                        T_Instruction +sem_Instruction_IfEq offset_  =+    (case (({-# LINE 88 "src/PrettyInstr.ag" #-}+            u8 0x13 ## s24 offset_+            {-# LINE 1393 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfFalse :: Word32 ->+                           T_Instruction +sem_Instruction_IfFalse offset_  =+    (case (({-# LINE 89 "src/PrettyInstr.ag" #-}+            u8 0x12 ## s24 offset_+            {-# LINE 1402 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfGe :: Word32 ->+                        T_Instruction +sem_Instruction_IfGe offset_  =+    (case (({-# LINE 90 "src/PrettyInstr.ag" #-}+            u8 0x18 ## s24 offset_+            {-# LINE 1411 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfGt :: Word32 ->+                        T_Instruction +sem_Instruction_IfGt offset_  =+    (case (({-# LINE 91 "src/PrettyInstr.ag" #-}+            u8 0x17 ## s24 offset_+            {-# LINE 1420 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfLe :: Word32 ->+                        T_Instruction +sem_Instruction_IfLe offset_  =+    (case (({-# LINE 92 "src/PrettyInstr.ag" #-}+            u8 0x16 ## s24 offset_+            {-# LINE 1429 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfLt :: Word32 ->+                        T_Instruction +sem_Instruction_IfLt offset_  =+    (case (({-# LINE 93 "src/PrettyInstr.ag" #-}+            u8 0x15 ## s24 offset_+            {-# LINE 1438 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfNGe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGe offset_  =+    (case (({-# LINE 94 "src/PrettyInstr.ag" #-}+            u8 0x0F ## s24 offset_+            {-# LINE 1447 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfNGt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGt offset_  =+    (case (({-# LINE 95 "src/PrettyInstr.ag" #-}+            u8 0x0E ## s24 offset_+            {-# LINE 1456 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfNLe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLe offset_  =+    (case (({-# LINE 96 "src/PrettyInstr.ag" #-}+            u8 0x0D ## s24 offset_+            {-# LINE 1465 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfNLt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLt offset_  =+    (case (({-# LINE 97 "src/PrettyInstr.ag" #-}+            u8 0x0C ## s24 offset_+            {-# LINE 1474 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfNe :: Word32 ->+                        T_Instruction +sem_Instruction_IfNe offset_  =+    (case (({-# LINE 98 "src/PrettyInstr.ag" #-}+            u8 0x14 ## s24 offset_+            {-# LINE 1483 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfStrictEq :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictEq offset_  =+    (case (({-# LINE 99 "src/PrettyInstr.ag" #-}+            u8 0x19 ## s24 offset_+            {-# LINE 1492 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfStrictNe :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictNe offset_  =+    (case (({-# LINE 100 "src/PrettyInstr.ag" #-}+            u8 0x1A ## s24 offset_+            {-# LINE 1501 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfTrue :: Word32 ->+                          T_Instruction +sem_Instruction_IfTrue offset_  =+    (case (({-# LINE 101 "src/PrettyInstr.ag" #-}+            u8 0x11 ## s24 offset_+            {-# LINE 1510 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_In :: T_Instruction +sem_Instruction_In  =+    (case (({-# LINE 102 "src/PrettyInstr.ag" #-}+            u8 0xB4+            {-# LINE 1518 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IncLocal :: Word32 ->+                            T_Instruction +sem_Instruction_IncLocal reg_  =+    (case (({-# LINE 103 "src/PrettyInstr.ag" #-}+            u8 0x92 ## u30 reg_+            {-# LINE 1527 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IncLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_IncLocal_i reg_  =+    (case (({-# LINE 104 "src/PrettyInstr.ag" #-}+            u8 0xC2 ## u30 reg_+            {-# LINE 1536 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Increment :: T_Instruction +sem_Instruction_Increment  =+    (case (({-# LINE 105 "src/PrettyInstr.ag" #-}+            u8 0x91+            {-# LINE 1544 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Increment_i :: T_Instruction +sem_Instruction_Increment_i  =+    (case (({-# LINE 106 "src/PrettyInstr.ag" #-}+            u8 0xC0+            {-# LINE 1552 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_InitProperty :: Word32 ->+                                T_Instruction +sem_Instruction_InitProperty name_  =+    (case (({-# LINE 107 "src/PrettyInstr.ag" #-}+            u8 0x68 ## u30 name_+            {-# LINE 1561 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_InstanceOf :: T_Instruction +sem_Instruction_InstanceOf  =+    (case (({-# LINE 108 "src/PrettyInstr.ag" #-}+            u8 0xB1+            {-# LINE 1569 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IsType :: Word32 ->+                          T_Instruction +sem_Instruction_IsType name_  =+    (case (({-# LINE 109 "src/PrettyInstr.ag" #-}+            u8 0xB2 ## u30 name_+            {-# LINE 1578 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IsTypeLate :: T_Instruction +sem_Instruction_IsTypeLate  =+    (case (({-# LINE 110 "src/PrettyInstr.ag" #-}+            u8 0xB3+            {-# LINE 1586 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Jump :: Word32 ->+                        T_Instruction +sem_Instruction_Jump offset_  =+    (case (({-# LINE 111 "src/PrettyInstr.ag" #-}+            u8 0x10 ## s24 offset_+            {-# LINE 1595 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Kill :: Word32 ->+                        T_Instruction +sem_Instruction_Kill reg_  =+    (case (({-# LINE 112 "src/PrettyInstr.ag" #-}+            u8 0x08 ## u30 reg_+            {-# LINE 1604 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Label :: T_Instruction +sem_Instruction_Label  =+    (case (({-# LINE 113 "src/PrettyInstr.ag" #-}+            u8 0x09+            {-# LINE 1612 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LessEquals :: T_Instruction +sem_Instruction_LessEquals  =+    (case (({-# LINE 114 "src/PrettyInstr.ag" #-}+            u8 0xAE+            {-# LINE 1620 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LessThan :: T_Instruction +sem_Instruction_LessThan  =+    (case (({-# LINE 115 "src/PrettyInstr.ag" #-}+            u8 0xAD+            {-# LINE 1628 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LoadFloat32 :: T_Instruction +sem_Instruction_LoadFloat32  =+    (case (({-# LINE 116 "src/PrettyInstr.ag" #-}+            u8 0x38+            {-# LINE 1636 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LoadFloat64 :: T_Instruction +sem_Instruction_LoadFloat64  =+    (case (({-# LINE 117 "src/PrettyInstr.ag" #-}+            u8 0x39+            {-# LINE 1644 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LoadIndirect16 :: T_Instruction +sem_Instruction_LoadIndirect16  =+    (case (({-# LINE 119 "src/PrettyInstr.ag" #-}+            u8 0x36+            {-# LINE 1652 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LoadIndirect32 :: T_Instruction +sem_Instruction_LoadIndirect32  =+    (case (({-# LINE 120 "src/PrettyInstr.ag" #-}+            u8 0x37+            {-# LINE 1660 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LoadIndirect8 :: T_Instruction +sem_Instruction_LoadIndirect8  =+    (case (({-# LINE 118 "src/PrettyInstr.ag" #-}+            u8 0x35+            {-# LINE 1668 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Location :: Int ->+                            T_Instruction +sem_Instruction_Location index_  =+    (case (({-# LINE 31 "src/InstrSize.ag" #-}+            0+            {-# LINE 1677 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LookupSwitch :: Word32 ->+                                T_CaseOffsets  ->+                                T_Instruction +sem_Instruction_LookupSwitch defaultOffset_ caseOffsets_  =+    (case (caseOffsets_ ) of+     { ( _caseOffsetsIcount,_caseOffsetsIoutput) | True ->+         (case (({-# LINE 121 "src/PrettyInstr.ag" #-}+                 u8 0x1B ## s24 defaultOffset_ ## u30size (_caseOffsetsIcount - 1) ## _caseOffsetsIoutput+                 {-# LINE 1689 "src/InstrSize.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }) })+sem_Instruction_Lshift :: T_Instruction +sem_Instruction_Lshift  =+    (case (({-# LINE 122 "src/PrettyInstr.ag" #-}+            u8 0xA5+            {-# LINE 1697 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Modulo :: T_Instruction +sem_Instruction_Modulo  =+    (case (({-# LINE 123 "src/PrettyInstr.ag" #-}+            u8 0xA4+            {-# LINE 1705 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Multiply :: T_Instruction +sem_Instruction_Multiply  =+    (case (({-# LINE 124 "src/PrettyInstr.ag" #-}+            u8 0xA2+            {-# LINE 1713 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Multiply_i :: T_Instruction +sem_Instruction_Multiply_i  =+    (case (({-# LINE 125 "src/PrettyInstr.ag" #-}+            u8 0xC7+            {-# LINE 1721 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Negate :: T_Instruction +sem_Instruction_Negate  =+    (case (({-# LINE 126 "src/PrettyInstr.ag" #-}+            u8 0x90+            {-# LINE 1729 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Negate_i :: T_Instruction +sem_Instruction_Negate_i  =+    (case (({-# LINE 127 "src/PrettyInstr.ag" #-}+            u8 0xC4+            {-# LINE 1737 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NewActivation :: T_Instruction +sem_Instruction_NewActivation  =+    (case (({-# LINE 128 "src/PrettyInstr.ag" #-}+            u8 0x57+            {-# LINE 1745 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NewArray :: Word32 ->+                            T_Instruction +sem_Instruction_NewArray argCount_  =+    (case (({-# LINE 129 "src/PrettyInstr.ag" #-}+            u8 0x56 ## u30 argCount_+            {-# LINE 1754 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NewCatch :: Word32 ->+                            T_Instruction +sem_Instruction_NewCatch exception_  =+    (case (({-# LINE 130 "src/PrettyInstr.ag" #-}+            u8 0x5A ## u30 exception_+            {-# LINE 1763 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NewClass :: Word32 ->+                            T_Instruction +sem_Instruction_NewClass class_  =+    (case (({-# LINE 131 "src/PrettyInstr.ag" #-}+            u8 0x58 ## u30 class_+            {-# LINE 1772 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NewFunction :: Word32 ->+                               T_Instruction +sem_Instruction_NewFunction method_  =+    (case (({-# LINE 132 "src/PrettyInstr.ag" #-}+            u8 0x40 ## u30 method_+            {-# LINE 1781 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NewObject :: Word32 ->+                             T_Instruction +sem_Instruction_NewObject argCount_  =+    (case (({-# LINE 133 "src/PrettyInstr.ag" #-}+            u8 0x55 ## u30 argCount_+            {-# LINE 1790 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NextName :: T_Instruction +sem_Instruction_NextName  =+    (case (({-# LINE 134 "src/PrettyInstr.ag" #-}+            u8 0x1E+            {-# LINE 1798 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NextValue :: T_Instruction +sem_Instruction_NextValue  =+    (case (({-# LINE 135 "src/PrettyInstr.ag" #-}+            u8 0x23+            {-# LINE 1806 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Nop :: T_Instruction +sem_Instruction_Nop  =+    (case (({-# LINE 136 "src/PrettyInstr.ag" #-}+            u8 0x02+            {-# LINE 1814 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Not :: T_Instruction +sem_Instruction_Not  =+    (case (({-# LINE 137 "src/PrettyInstr.ag" #-}+            u8 0x96+            {-# LINE 1822 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Pop :: T_Instruction +sem_Instruction_Pop  =+    (case (({-# LINE 138 "src/PrettyInstr.ag" #-}+            u8 0x29+            {-# LINE 1830 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PopScope :: T_Instruction +sem_Instruction_PopScope  =+    (case (({-# LINE 139 "src/PrettyInstr.ag" #-}+            u8 0x1D+            {-# LINE 1838 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushByte :: Word8 ->+                            T_Instruction +sem_Instruction_PushByte val_  =+    (case (({-# LINE 140 "src/PrettyInstr.ag" #-}+            u8 0x24 ## u8 val_+            {-# LINE 1847 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushDouble :: Word32 ->+                              T_Instruction +sem_Instruction_PushDouble name_  =+    (case (({-# LINE 141 "src/PrettyInstr.ag" #-}+            u8 0x2F ## u30 name_+            {-# LINE 1856 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushFalse :: T_Instruction +sem_Instruction_PushFalse  =+    (case (({-# LINE 142 "src/PrettyInstr.ag" #-}+            u8 0x27+            {-# LINE 1864 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushInt :: Word32 ->+                           T_Instruction +sem_Instruction_PushInt name_  =+    (case (({-# LINE 143 "src/PrettyInstr.ag" #-}+            u8 0x2D ## u30 name_+            {-# LINE 1873 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushNaN :: T_Instruction +sem_Instruction_PushNaN  =+    (case (({-# LINE 145 "src/PrettyInstr.ag" #-}+            u8 0x28+            {-# LINE 1881 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushNamespace :: Word32 ->+                                 T_Instruction +sem_Instruction_PushNamespace name_  =+    (case (({-# LINE 144 "src/PrettyInstr.ag" #-}+            u8 0x31 ## u30 name_+            {-# LINE 1890 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushNull :: T_Instruction +sem_Instruction_PushNull  =+    (case (({-# LINE 146 "src/PrettyInstr.ag" #-}+            u8 0x20+            {-# LINE 1898 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushScope :: T_Instruction +sem_Instruction_PushScope  =+    (case (({-# LINE 147 "src/PrettyInstr.ag" #-}+            u8 0x30+            {-# LINE 1906 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushShort :: Word32 ->+                             T_Instruction +sem_Instruction_PushShort val_  =+    (case (({-# LINE 148 "src/PrettyInstr.ag" #-}+            u8 0x25 ## u30 val_+            {-# LINE 1915 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushString :: Word32 ->+                              T_Instruction +sem_Instruction_PushString name_  =+    (case (({-# LINE 149 "src/PrettyInstr.ag" #-}+            u8 0x2C ## u30 name_+            {-# LINE 1924 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushTrue :: T_Instruction +sem_Instruction_PushTrue  =+    (case (({-# LINE 150 "src/PrettyInstr.ag" #-}+            u8 0x26+            {-# LINE 1932 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushUInt :: Word32 ->+                            T_Instruction +sem_Instruction_PushUInt name_  =+    (case (({-# LINE 151 "src/PrettyInstr.ag" #-}+            u8 0x2E ## u30 name_+            {-# LINE 1941 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushUndefined :: T_Instruction +sem_Instruction_PushUndefined  =+    (case (({-# LINE 152 "src/PrettyInstr.ag" #-}+            u8 0x21+            {-# LINE 1949 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushWith :: T_Instruction +sem_Instruction_PushWith  =+    (case (({-# LINE 153 "src/PrettyInstr.ag" #-}+            u8 0x1C+            {-# LINE 1957 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_ReturnValue :: T_Instruction +sem_Instruction_ReturnValue  =+    (case (({-# LINE 154 "src/PrettyInstr.ag" #-}+            u8 0x48+            {-# LINE 1965 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_ReturnVoid :: T_Instruction +sem_Instruction_ReturnVoid  =+    (case (({-# LINE 155 "src/PrettyInstr.ag" #-}+            u8 0x47+            {-# LINE 1973 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Rshift :: T_Instruction +sem_Instruction_Rshift  =+    (case (({-# LINE 156 "src/PrettyInstr.ag" #-}+            u8 0xA6+            {-# LINE 1981 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_SetGlobalSlot slot_  =+    (case (({-# LINE 162 "src/PrettyInstr.ag" #-}+            u8 0x6F ## u30 slot_+            {-# LINE 1990 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_SetLocal reg_  =+    (case (({-# LINE 157 "src/PrettyInstr.ag" #-}+            u8 0x63 ## u30 reg_+            {-# LINE 1999 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetLocal0 :: T_Instruction +sem_Instruction_SetLocal0  =+    (case (({-# LINE 158 "src/PrettyInstr.ag" #-}+            u8 0xD4+            {-# LINE 2007 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetLocal1 :: T_Instruction +sem_Instruction_SetLocal1  =+    (case (({-# LINE 159 "src/PrettyInstr.ag" #-}+            u8 0xD5+            {-# LINE 2015 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetLocal2 :: T_Instruction +sem_Instruction_SetLocal2  =+    (case (({-# LINE 160 "src/PrettyInstr.ag" #-}+            u8 0xD6+            {-# LINE 2023 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetLocal3 :: T_Instruction +sem_Instruction_SetLocal3  =+    (case (({-# LINE 161 "src/PrettyInstr.ag" #-}+            u8 0xD7+            {-# LINE 2031 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_SetProperty name_  =+    (case (({-# LINE 163 "src/PrettyInstr.ag" #-}+            u8 0x61 ## u30 name_+            {-# LINE 2040 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetPropertyLate :: T_Instruction +sem_Instruction_SetPropertyLate  =+    (case (({-# LINE 164 "src/PrettyInstr.ag" #-}+            u8 0x69+            {-# LINE 2048 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_SetSlot slot_  =+    (case (({-# LINE 165 "src/PrettyInstr.ag" #-}+            u8 0x6D ## u30 slot_+            {-# LINE 2057 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_SetSuper name_  =+    (case (({-# LINE 166 "src/PrettyInstr.ag" #-}+            u8 0x05 ## u30 name_+            {-# LINE 2066 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SignExtend1 :: T_Instruction +sem_Instruction_SignExtend1  =+    (case (({-# LINE 167 "src/PrettyInstr.ag" #-}+            u8 0x50+            {-# LINE 2074 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SignExtend16 :: T_Instruction +sem_Instruction_SignExtend16  =+    (case (({-# LINE 169 "src/PrettyInstr.ag" #-}+            u8 0x52+            {-# LINE 2082 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SignExtend8 :: T_Instruction +sem_Instruction_SignExtend8  =+    (case (({-# LINE 168 "src/PrettyInstr.ag" #-}+            u8 0x51+            {-# LINE 2090 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_StoreFloat32 :: T_Instruction +sem_Instruction_StoreFloat32  =+    (case (({-# LINE 170 "src/PrettyInstr.ag" #-}+            u8 0x3D+            {-# LINE 2098 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_StoreFloat64 :: T_Instruction +sem_Instruction_StoreFloat64  =+    (case (({-# LINE 171 "src/PrettyInstr.ag" #-}+            u8 0x3E+            {-# LINE 2106 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_StoreIndirect16 :: T_Instruction +sem_Instruction_StoreIndirect16  =+    (case (({-# LINE 173 "src/PrettyInstr.ag" #-}+            u8 0x3B+            {-# LINE 2114 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_StoreIndirect32 :: T_Instruction +sem_Instruction_StoreIndirect32  =+    (case (({-# LINE 174 "src/PrettyInstr.ag" #-}+            u8 0x3C+            {-# LINE 2122 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_StoreIndirect8 :: T_Instruction +sem_Instruction_StoreIndirect8  =+    (case (({-# LINE 172 "src/PrettyInstr.ag" #-}+            u8 0x3A+            {-# LINE 2130 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_StrictEquals :: T_Instruction +sem_Instruction_StrictEquals  =+    (case (({-# LINE 175 "src/PrettyInstr.ag" #-}+            u8 0xAC+            {-# LINE 2138 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Substract :: T_Instruction +sem_Instruction_Substract  =+    (case (({-# LINE 176 "src/PrettyInstr.ag" #-}+            u8 0xA1+            {-# LINE 2146 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Substract_i :: T_Instruction +sem_Instruction_Substract_i  =+    (case (({-# LINE 177 "src/PrettyInstr.ag" #-}+            u8 0xC6+            {-# LINE 2154 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Swap :: T_Instruction +sem_Instruction_Swap  =+    (case (({-# LINE 178 "src/PrettyInstr.ag" #-}+            u8 0x2B+            {-# LINE 2162 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Throw :: T_Instruction +sem_Instruction_Throw  =+    (case (({-# LINE 179 "src/PrettyInstr.ag" #-}+            u8 0x03+            {-# LINE 2170 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Timestamp :: T_Instruction +sem_Instruction_Timestamp  =+    (case (({-# LINE 180 "src/PrettyInstr.ag" #-}+            u8 0xF3+            {-# LINE 2178 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_TypeOf :: T_Instruction +sem_Instruction_TypeOf  =+    (case (({-# LINE 181 "src/PrettyInstr.ag" #-}+            u8 0x95+            {-# LINE 2186 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Urshift :: T_Instruction +sem_Instruction_Urshift  =+    (case (({-# LINE 182 "src/PrettyInstr.ag" #-}+            u8 0xA7+            {-# LINE 2194 "src/InstrSize.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- Instructions ------------------------------------------------+-- cata+sem_Instructions :: Instructions  ->+                    T_Instructions +sem_Instructions list  =+    (Prelude.foldr sem_Instructions_Cons sem_Instructions_Nil (Prelude.map sem_Instruction list) )+-- semantic domain+type T_Instructions  = ( )+sem_Instructions_Cons :: T_Instruction  ->+                         T_Instructions  ->+                         T_Instructions +sem_Instructions_Cons hd_ tl_  =+    ( )+sem_Instructions_Nil :: T_Instructions +sem_Instructions_Nil  =+    ( )+-- Interfaces --------------------------------------------------+-- cata+sem_Interfaces :: Interfaces  ->+                  T_Interfaces +sem_Interfaces list  =+    (Prelude.foldr sem_Interfaces_Cons sem_Interfaces_Nil list )+-- semantic domain+type T_Interfaces  = ( )+sem_Interfaces_Cons :: Word32 ->+                       T_Interfaces  ->+                       T_Interfaces +sem_Interfaces_Cons hd_ tl_  =+    ( )+sem_Interfaces_Nil :: T_Interfaces +sem_Interfaces_Nil  =+    ( )+-- MetaInfo ----------------------------------------------------+-- cata+sem_MetaInfo :: MetaInfo  ->+                T_MetaInfo +sem_MetaInfo (MetaInfo_Info _name _items )  =+    (sem_MetaInfo_Info _name (sem_MetaItems _items ) )+-- semantic domain+type T_MetaInfo  = ( )+sem_MetaInfo_Info :: Word32 ->+                     T_MetaItems  ->+                     T_MetaInfo +sem_MetaInfo_Info name_ items_  =+    ( )+-- MetaInfos ---------------------------------------------------+-- cata+sem_MetaInfos :: MetaInfos  ->+                 T_MetaInfos +sem_MetaInfos list  =+    (Prelude.foldr sem_MetaInfos_Cons sem_MetaInfos_Nil (Prelude.map sem_MetaInfo list) )+-- semantic domain+type T_MetaInfos  = ( )+sem_MetaInfos_Cons :: T_MetaInfo  ->+                      T_MetaInfos  ->+                      T_MetaInfos +sem_MetaInfos_Cons hd_ tl_  =+    ( )+sem_MetaInfos_Nil :: T_MetaInfos +sem_MetaInfos_Nil  =+    ( )+-- MetaItem ----------------------------------------------------+-- cata+sem_MetaItem :: MetaItem  ->+                T_MetaItem +sem_MetaItem (MetaItem_Item _key _value )  =+    (sem_MetaItem_Item _key _value )+-- semantic domain+type T_MetaItem  = ( )+sem_MetaItem_Item :: Word32 ->+                     Word32 ->+                     T_MetaItem +sem_MetaItem_Item key_ value_  =+    ( )+-- MetaItems ---------------------------------------------------+-- cata+sem_MetaItems :: MetaItems  ->+                 T_MetaItems +sem_MetaItems list  =+    (Prelude.foldr sem_MetaItems_Cons sem_MetaItems_Nil (Prelude.map sem_MetaItem list) )+-- semantic domain+type T_MetaItems  = ( )+sem_MetaItems_Cons :: T_MetaItem  ->+                      T_MetaItems  ->+                      T_MetaItems +sem_MetaItems_Cons hd_ tl_  =+    ( )+sem_MetaItems_Nil :: T_MetaItems +sem_MetaItems_Nil  =+    ( )+-- MethodFlag --------------------------------------------------+-- cata+sem_MethodFlag :: MethodFlag  ->+                  T_MethodFlag +sem_MethodFlag (MethodFlag_HasOptionals )  =+    (sem_MethodFlag_HasOptionals )+sem_MethodFlag (MethodFlag_HasParamNames )  =+    (sem_MethodFlag_HasParamNames )+sem_MethodFlag (MethodFlag_NeedAct )  =+    (sem_MethodFlag_NeedAct )+sem_MethodFlag (MethodFlag_NeedArgs )  =+    (sem_MethodFlag_NeedArgs )+sem_MethodFlag (MethodFlag_NeedRest )  =+    (sem_MethodFlag_NeedRest )+sem_MethodFlag (MethodFlag_SetDXNS )  =+    (sem_MethodFlag_SetDXNS )+-- semantic domain+type T_MethodFlag  = ( )+sem_MethodFlag_HasOptionals :: T_MethodFlag +sem_MethodFlag_HasOptionals  =+    ( )+sem_MethodFlag_HasParamNames :: T_MethodFlag +sem_MethodFlag_HasParamNames  =+    ( )+sem_MethodFlag_NeedAct :: T_MethodFlag +sem_MethodFlag_NeedAct  =+    ( )+sem_MethodFlag_NeedArgs :: T_MethodFlag +sem_MethodFlag_NeedArgs  =+    ( )+sem_MethodFlag_NeedRest :: T_MethodFlag +sem_MethodFlag_NeedRest  =+    ( )+sem_MethodFlag_SetDXNS :: T_MethodFlag +sem_MethodFlag_SetDXNS  =+    ( )+-- MethodFlags -------------------------------------------------+-- cata+sem_MethodFlags :: MethodFlags  ->+                   T_MethodFlags +sem_MethodFlags list  =+    (Prelude.foldr sem_MethodFlags_Cons sem_MethodFlags_Nil (Prelude.map sem_MethodFlag list) )+-- semantic domain+type T_MethodFlags  = ( )+sem_MethodFlags_Cons :: T_MethodFlag  ->+                        T_MethodFlags  ->+                        T_MethodFlags +sem_MethodFlags_Cons hd_ tl_  =+    ( )+sem_MethodFlags_Nil :: T_MethodFlags +sem_MethodFlags_Nil  =+    ( )+-- MethodInfo --------------------------------------------------+-- cata+sem_MethodInfo :: MethodInfo  ->+                  T_MethodInfo +sem_MethodInfo (MethodInfo_Info _return _params _name _flags _options _names )  =+    (sem_MethodInfo_Info _return (sem_ParamTypes _params ) _name (sem_MethodFlags _flags ) (sem_Optionals _options ) (sem_ParamNames _names ) )+-- semantic domain+type T_MethodInfo  = ( )+sem_MethodInfo_Info :: Word32 ->+                       T_ParamTypes  ->+                       Word32 ->+                       T_MethodFlags  ->+                       T_Optionals  ->+                       T_ParamNames  ->+                       T_MethodInfo +sem_MethodInfo_Info return_ params_ name_ flags_ options_ names_  =+    ( )+-- MethodInfos -------------------------------------------------+-- cata+sem_MethodInfos :: MethodInfos  ->+                   T_MethodInfos +sem_MethodInfos list  =+    (Prelude.foldr sem_MethodInfos_Cons sem_MethodInfos_Nil (Prelude.map sem_MethodInfo list) )+-- semantic domain+type T_MethodInfos  = ( )+sem_MethodInfos_Cons :: T_MethodInfo  ->+                        T_MethodInfos  ->+                        T_MethodInfos +sem_MethodInfos_Cons hd_ tl_  =+    ( )+sem_MethodInfos_Nil :: T_MethodInfos +sem_MethodInfos_Nil  =+    ( )+-- MultinameInfo -----------------------------------------------+-- cata+sem_MultinameInfo :: MultinameInfo  ->+                     T_MultinameInfo +sem_MultinameInfo (MultinameInfo_Generic _name _params )  =+    (sem_MultinameInfo_Generic _name (sem_ParamNames _params ) )+sem_MultinameInfo (MultinameInfo_Multiname _name _set )  =+    (sem_MultinameInfo_Multiname _name _set )+sem_MultinameInfo (MultinameInfo_MultinameA _name _set )  =+    (sem_MultinameInfo_MultinameA _name _set )+sem_MultinameInfo (MultinameInfo_MultinameL _set )  =+    (sem_MultinameInfo_MultinameL _set )+sem_MultinameInfo (MultinameInfo_MultinameLA _set )  =+    (sem_MultinameInfo_MultinameLA _set )+sem_MultinameInfo (MultinameInfo_QName _namespace _name )  =+    (sem_MultinameInfo_QName _namespace _name )+sem_MultinameInfo (MultinameInfo_QNameA _namespace _name )  =+    (sem_MultinameInfo_QNameA _namespace _name )+sem_MultinameInfo (MultinameInfo_RTQName _name )  =+    (sem_MultinameInfo_RTQName _name )+sem_MultinameInfo (MultinameInfo_RTQNameA _name )  =+    (sem_MultinameInfo_RTQNameA _name )+sem_MultinameInfo (MultinameInfo_RTQNameL )  =+    (sem_MultinameInfo_RTQNameL )+sem_MultinameInfo (MultinameInfo_RTQNameLA )  =+    (sem_MultinameInfo_RTQNameLA )+-- semantic domain+type T_MultinameInfo  = ( )+sem_MultinameInfo_Generic :: Word32 ->+                             T_ParamNames  ->+                             T_MultinameInfo +sem_MultinameInfo_Generic name_ params_  =+    ( )+sem_MultinameInfo_Multiname :: Word32 ->+                               Word32 ->+                               T_MultinameInfo +sem_MultinameInfo_Multiname name_ set_  =+    ( )+sem_MultinameInfo_MultinameA :: Word32 ->+                                Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameA name_ set_  =+    ( )+sem_MultinameInfo_MultinameL :: Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameL set_  =+    ( )+sem_MultinameInfo_MultinameLA :: Word32 ->+                                 T_MultinameInfo +sem_MultinameInfo_MultinameLA set_  =+    ( )+sem_MultinameInfo_QName :: Word32 ->+                           Word32 ->+                           T_MultinameInfo +sem_MultinameInfo_QName namespace_ name_  =+    ( )+sem_MultinameInfo_QNameA :: Word32 ->+                            Word32 ->+                            T_MultinameInfo +sem_MultinameInfo_QNameA namespace_ name_  =+    ( )+sem_MultinameInfo_RTQName :: Word32 ->+                             T_MultinameInfo +sem_MultinameInfo_RTQName name_  =+    ( )+sem_MultinameInfo_RTQNameA :: Word32 ->+                              T_MultinameInfo +sem_MultinameInfo_RTQNameA name_  =+    ( )+sem_MultinameInfo_RTQNameL :: T_MultinameInfo +sem_MultinameInfo_RTQNameL  =+    ( )+sem_MultinameInfo_RTQNameLA :: T_MultinameInfo +sem_MultinameInfo_RTQNameLA  =+    ( )+-- MultinameInfos ----------------------------------------------+-- cata+sem_MultinameInfos :: MultinameInfos  ->+                      T_MultinameInfos +sem_MultinameInfos list  =+    (Prelude.foldr sem_MultinameInfos_Cons sem_MultinameInfos_Nil (Prelude.map sem_MultinameInfo list) )+-- semantic domain+type T_MultinameInfos  = ( )+sem_MultinameInfos_Cons :: T_MultinameInfo  ->+                           T_MultinameInfos  ->+                           T_MultinameInfos +sem_MultinameInfos_Cons hd_ tl_  =+    ( )+sem_MultinameInfos_Nil :: T_MultinameInfos +sem_MultinameInfos_Nil  =+    ( )+-- MultinameKind -----------------------------------------------+-- cata+sem_MultinameKind :: MultinameKind  ->+                     T_MultinameKind +sem_MultinameKind (MultinameKind_Generic )  =+    (sem_MultinameKind_Generic )+sem_MultinameKind (MultinameKind_Multiname )  =+    (sem_MultinameKind_Multiname )+sem_MultinameKind (MultinameKind_MultinameA )  =+    (sem_MultinameKind_MultinameA )+sem_MultinameKind (MultinameKind_MultinameL )  =+    (sem_MultinameKind_MultinameL )+sem_MultinameKind (MultinameKind_MultinameLA )  =+    (sem_MultinameKind_MultinameLA )+sem_MultinameKind (MultinameKind_QName )  =+    (sem_MultinameKind_QName )+sem_MultinameKind (MultinameKind_QNameA )  =+    (sem_MultinameKind_QNameA )+sem_MultinameKind (MultinameKind_RTQName )  =+    (sem_MultinameKind_RTQName )+sem_MultinameKind (MultinameKind_RTQNameA )  =+    (sem_MultinameKind_RTQNameA )+sem_MultinameKind (MultinameKind_RTQNameL )  =+    (sem_MultinameKind_RTQNameL )+sem_MultinameKind (MultinameKind_RTQNameLA )  =+    (sem_MultinameKind_RTQNameLA )+-- semantic domain+type T_MultinameKind  = ( )+sem_MultinameKind_Generic :: T_MultinameKind +sem_MultinameKind_Generic  =+    ( )+sem_MultinameKind_Multiname :: T_MultinameKind +sem_MultinameKind_Multiname  =+    ( )+sem_MultinameKind_MultinameA :: T_MultinameKind +sem_MultinameKind_MultinameA  =+    ( )+sem_MultinameKind_MultinameL :: T_MultinameKind +sem_MultinameKind_MultinameL  =+    ( )+sem_MultinameKind_MultinameLA :: T_MultinameKind +sem_MultinameKind_MultinameLA  =+    ( )+sem_MultinameKind_QName :: T_MultinameKind +sem_MultinameKind_QName  =+    ( )+sem_MultinameKind_QNameA :: T_MultinameKind +sem_MultinameKind_QNameA  =+    ( )+sem_MultinameKind_RTQName :: T_MultinameKind +sem_MultinameKind_RTQName  =+    ( )+sem_MultinameKind_RTQNameA :: T_MultinameKind +sem_MultinameKind_RTQNameA  =+    ( )+sem_MultinameKind_RTQNameL :: T_MultinameKind +sem_MultinameKind_RTQNameL  =+    ( )+sem_MultinameKind_RTQNameLA :: T_MultinameKind +sem_MultinameKind_RTQNameLA  =+    ( )+-- NamespaceInfo -----------------------------------------------+-- cata+sem_NamespaceInfo :: NamespaceInfo  ->+                     T_NamespaceInfo +sem_NamespaceInfo (NamespaceInfo_Info _kind _name )  =+    (sem_NamespaceInfo_Info (sem_NamespaceKind _kind ) _name )+-- semantic domain+type T_NamespaceInfo  = ( )+sem_NamespaceInfo_Info :: T_NamespaceKind  ->+                          Word32 ->+                          T_NamespaceInfo +sem_NamespaceInfo_Info kind_ name_  =+    ( )+-- NamespaceInfos ----------------------------------------------+-- cata+sem_NamespaceInfos :: NamespaceInfos  ->+                      T_NamespaceInfos +sem_NamespaceInfos list  =+    (Prelude.foldr sem_NamespaceInfos_Cons sem_NamespaceInfos_Nil (Prelude.map sem_NamespaceInfo list) )+-- semantic domain+type T_NamespaceInfos  = ( )+sem_NamespaceInfos_Cons :: T_NamespaceInfo  ->+                           T_NamespaceInfos  ->+                           T_NamespaceInfos +sem_NamespaceInfos_Cons hd_ tl_  =+    ( )+sem_NamespaceInfos_Nil :: T_NamespaceInfos +sem_NamespaceInfos_Nil  =+    ( )+-- NamespaceKind -----------------------------------------------+-- cata+sem_NamespaceKind :: NamespaceKind  ->+                     T_NamespaceKind +sem_NamespaceKind (NamespaceKind_Explicit )  =+    (sem_NamespaceKind_Explicit )+sem_NamespaceKind (NamespaceKind_General )  =+    (sem_NamespaceKind_General )+sem_NamespaceKind (NamespaceKind_Internal )  =+    (sem_NamespaceKind_Internal )+sem_NamespaceKind (NamespaceKind_Package )  =+    (sem_NamespaceKind_Package )+sem_NamespaceKind (NamespaceKind_Private )  =+    (sem_NamespaceKind_Private )+sem_NamespaceKind (NamespaceKind_Protected )  =+    (sem_NamespaceKind_Protected )+sem_NamespaceKind (NamespaceKind_Static )  =+    (sem_NamespaceKind_Static )+-- semantic domain+type T_NamespaceKind  = ( )+sem_NamespaceKind_Explicit :: T_NamespaceKind +sem_NamespaceKind_Explicit  =+    ( )+sem_NamespaceKind_General :: T_NamespaceKind +sem_NamespaceKind_General  =+    ( )+sem_NamespaceKind_Internal :: T_NamespaceKind +sem_NamespaceKind_Internal  =+    ( )+sem_NamespaceKind_Package :: T_NamespaceKind +sem_NamespaceKind_Package  =+    ( )+sem_NamespaceKind_Private :: T_NamespaceKind +sem_NamespaceKind_Private  =+    ( )+sem_NamespaceKind_Protected :: T_NamespaceKind +sem_NamespaceKind_Protected  =+    ( )+sem_NamespaceKind_Static :: T_NamespaceKind +sem_NamespaceKind_Static  =+    ( )+-- NamespaceNames ----------------------------------------------+-- cata+sem_NamespaceNames :: NamespaceNames  ->+                      T_NamespaceNames +sem_NamespaceNames list  =+    (Prelude.foldr sem_NamespaceNames_Cons sem_NamespaceNames_Nil list )+-- semantic domain+type T_NamespaceNames  = ( )+sem_NamespaceNames_Cons :: Word32 ->+                           T_NamespaceNames  ->+                           T_NamespaceNames +sem_NamespaceNames_Cons hd_ tl_  =+    ( )+sem_NamespaceNames_Nil :: T_NamespaceNames +sem_NamespaceNames_Nil  =+    ( )+-- Optional ----------------------------------------------------+-- cata+sem_Optional :: Optional  ->+                T_Optional +sem_Optional (Optional_Detail _val _kind )  =+    (sem_Optional_Detail _val (sem_ValueKind _kind ) )+-- semantic domain+type T_Optional  = ( )+sem_Optional_Detail :: Word32 ->+                       T_ValueKind  ->+                       T_Optional +sem_Optional_Detail val_ kind_  =+    ( )+-- Optionals ---------------------------------------------------+-- cata+sem_Optionals :: Optionals  ->+                 T_Optionals +sem_Optionals list  =+    (Prelude.foldr sem_Optionals_Cons sem_Optionals_Nil (Prelude.map sem_Optional list) )+-- semantic domain+type T_Optionals  = ( )+sem_Optionals_Cons :: T_Optional  ->+                      T_Optionals  ->+                      T_Optionals +sem_Optionals_Cons hd_ tl_  =+    ( )+sem_Optionals_Nil :: T_Optionals +sem_Optionals_Nil  =+    ( )+-- ParamNames --------------------------------------------------+-- cata+sem_ParamNames :: ParamNames  ->+                  T_ParamNames +sem_ParamNames list  =+    (Prelude.foldr sem_ParamNames_Cons sem_ParamNames_Nil list )+-- semantic domain+type T_ParamNames  = ( )+sem_ParamNames_Cons :: Word32 ->+                       T_ParamNames  ->+                       T_ParamNames +sem_ParamNames_Cons hd_ tl_  =+    ( )+sem_ParamNames_Nil :: T_ParamNames +sem_ParamNames_Nil  =+    ( )+-- ParamTypes --------------------------------------------------+-- cata+sem_ParamTypes :: ParamTypes  ->+                  T_ParamTypes +sem_ParamTypes list  =+    (Prelude.foldr sem_ParamTypes_Cons sem_ParamTypes_Nil list )+-- semantic domain+type T_ParamTypes  = ( )+sem_ParamTypes_Cons :: Word32 ->+                       T_ParamTypes  ->+                       T_ParamTypes +sem_ParamTypes_Cons hd_ tl_  =+    ( )+sem_ParamTypes_Nil :: T_ParamTypes +sem_ParamTypes_Nil  =+    ( )+-- PoolDoubles -------------------------------------------------+-- cata+sem_PoolDoubles :: PoolDoubles  ->+                   T_PoolDoubles +sem_PoolDoubles list  =+    (Prelude.foldr sem_PoolDoubles_Cons sem_PoolDoubles_Nil list )+-- semantic domain+type T_PoolDoubles  = ( )+sem_PoolDoubles_Cons :: Double ->+                        T_PoolDoubles  ->+                        T_PoolDoubles +sem_PoolDoubles_Cons hd_ tl_  =+    ( )+sem_PoolDoubles_Nil :: T_PoolDoubles +sem_PoolDoubles_Nil  =+    ( )+-- PoolInfo ----------------------------------------------------+-- cata+sem_PoolInfo :: PoolInfo  ->+                T_PoolInfo +sem_PoolInfo (PoolInfo_Info _integers _uintegers _doubles _strings _namespaces _namesets _multinames )  =+    (sem_PoolInfo_Info (sem_PoolInts _integers ) (sem_PoolUInts _uintegers ) (sem_PoolDoubles _doubles ) (sem_PoolStrings _strings ) (sem_NamespaceInfos _namespaces ) (sem_SetInfos _namesets ) (sem_MultinameInfos _multinames ) )+-- semantic domain+type T_PoolInfo  = ( )+sem_PoolInfo_Info :: T_PoolInts  ->+                     T_PoolUInts  ->+                     T_PoolDoubles  ->+                     T_PoolStrings  ->+                     T_NamespaceInfos  ->+                     T_SetInfos  ->+                     T_MultinameInfos  ->+                     T_PoolInfo +sem_PoolInfo_Info integers_ uintegers_ doubles_ strings_ namespaces_ namesets_ multinames_  =+    ( )+-- PoolInts ----------------------------------------------------+-- cata+sem_PoolInts :: PoolInts  ->+                T_PoolInts +sem_PoolInts list  =+    (Prelude.foldr sem_PoolInts_Cons sem_PoolInts_Nil list )+-- semantic domain+type T_PoolInts  = ( )+sem_PoolInts_Cons :: Word32 ->+                     T_PoolInts  ->+                     T_PoolInts +sem_PoolInts_Cons hd_ tl_  =+    ( )+sem_PoolInts_Nil :: T_PoolInts +sem_PoolInts_Nil  =+    ( )+-- PoolStrings -------------------------------------------------+-- cata+sem_PoolStrings :: PoolStrings  ->+                   T_PoolStrings +sem_PoolStrings list  =+    (Prelude.foldr sem_PoolStrings_Cons sem_PoolStrings_Nil list )+-- semantic domain+type T_PoolStrings  = ( )+sem_PoolStrings_Cons :: ByteString ->+                        T_PoolStrings  ->+                        T_PoolStrings +sem_PoolStrings_Cons hd_ tl_  =+    ( )+sem_PoolStrings_Nil :: T_PoolStrings +sem_PoolStrings_Nil  =+    ( )+-- PoolUInts ---------------------------------------------------+-- cata+sem_PoolUInts :: PoolUInts  ->+                 T_PoolUInts +sem_PoolUInts list  =+    (Prelude.foldr sem_PoolUInts_Cons sem_PoolUInts_Nil list )+-- semantic domain+type T_PoolUInts  = ( )+sem_PoolUInts_Cons :: Word32 ->+                      T_PoolUInts  ->+                      T_PoolUInts +sem_PoolUInts_Cons hd_ tl_  =+    ( )+sem_PoolUInts_Nil :: T_PoolUInts +sem_PoolUInts_Nil  =+    ( )+-- Rect --------------------------------------------------------+-- cata+sem_Rect :: Rect  ->+            T_Rect +sem_Rect (Rect_Rect _bits _xMin _xMax _yMin _yMax )  =+    (sem_Rect_Rect _bits _xMin _xMax _yMin _yMax )+-- semantic domain+type T_Rect  = ( )+sem_Rect_Rect :: Int ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 T_Rect +sem_Rect_Rect bits_ xMin_ xMax_ yMin_ yMax_  =+    ( )+-- ScriptInfo --------------------------------------------------+-- cata+sem_ScriptInfo :: ScriptInfo  ->+                  T_ScriptInfo +sem_ScriptInfo (ScriptInfo_Info _method _traits )  =+    (sem_ScriptInfo_Info _method (sem_Traits _traits ) )+-- semantic domain+type T_ScriptInfo  = ( )+sem_ScriptInfo_Info :: Word32 ->+                       T_Traits  ->+                       T_ScriptInfo +sem_ScriptInfo_Info method_ traits_  =+    ( )+-- ScriptInfos -------------------------------------------------+-- cata+sem_ScriptInfos :: ScriptInfos  ->+                   T_ScriptInfos +sem_ScriptInfos list  =+    (Prelude.foldr sem_ScriptInfos_Cons sem_ScriptInfos_Nil (Prelude.map sem_ScriptInfo list) )+-- semantic domain+type T_ScriptInfos  = ( )+sem_ScriptInfos_Cons :: T_ScriptInfo  ->+                        T_ScriptInfos  ->+                        T_ScriptInfos +sem_ScriptInfos_Cons hd_ tl_  =+    ( )+sem_ScriptInfos_Nil :: T_ScriptInfos +sem_ScriptInfos_Nil  =+    ( )+-- SetInfo -----------------------------------------------------+-- cata+sem_SetInfo :: SetInfo  ->+               T_SetInfo +sem_SetInfo (SetInfo_Info _names )  =+    (sem_SetInfo_Info (sem_NamespaceNames _names ) )+-- semantic domain+type T_SetInfo  = ( )+sem_SetInfo_Info :: T_NamespaceNames  ->+                    T_SetInfo +sem_SetInfo_Info names_  =+    ( )+-- SetInfos ----------------------------------------------------+-- cata+sem_SetInfos :: SetInfos  ->+                T_SetInfos +sem_SetInfos list  =+    (Prelude.foldr sem_SetInfos_Cons sem_SetInfos_Nil (Prelude.map sem_SetInfo list) )+-- semantic domain+type T_SetInfos  = ( )+sem_SetInfos_Cons :: T_SetInfo  ->+                     T_SetInfos  ->+                     T_SetInfos +sem_SetInfos_Cons hd_ tl_  =+    ( )+sem_SetInfos_Nil :: T_SetInfos +sem_SetInfos_Nil  =+    ( )+-- SwfFile -----------------------------------------------------+-- cata+sem_SwfFile :: SwfFile  ->+               T_SwfFile +sem_SwfFile (SwfFile_File _compressed _version _length _size _rate _count _tags )  =+    (sem_SwfFile_File _compressed _version _length (sem_Rect _size ) _rate _count (sem_Tags _tags ) )+-- semantic domain+type T_SwfFile  = ( )+sem_SwfFile_File :: Bool ->+                    Word8 ->+                    Word32 ->+                    T_Rect  ->+                    Word16 ->+                    Word16 ->+                    T_Tags  ->+                    T_SwfFile +sem_SwfFile_File compressed_ version_ length_ size_ rate_ count_ tags_  =+    ( )+-- Tag ---------------------------------------------------------+-- cata+sem_Tag :: Tag  ->+           T_Tag +sem_Tag (Tag_Abc _flags _name _file )  =+    (sem_Tag_Abc (sem_AbcFlags _flags ) _name (sem_AbcFile _file ) )+sem_Tag (Tag_End )  =+    (sem_Tag_End )+sem_Tag (Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )  =+    (sem_Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )+sem_Tag (Tag_Opaque _kind _length _body )  =+    (sem_Tag_Opaque (sem_TagKind _kind ) _length _body )+-- semantic domain+type T_Tag  = ( )+sem_Tag_Abc :: T_AbcFlags  ->+               ByteString ->+               T_AbcFile  ->+               T_Tag +sem_Tag_Abc flags_ name_ file_  =+    ( )+sem_Tag_End :: T_Tag +sem_Tag_End  =+    ( )+sem_Tag_FileAttributes :: Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          T_Tag +sem_Tag_FileAttributes useDirectBlit_ useGPU_ hasMetaData_ hasAS3_ useNetwork_  =+    ( )+sem_Tag_Opaque :: T_TagKind  ->+                  Word32 ->+                  ByteString ->+                  T_Tag +sem_Tag_Opaque kind_ length_ body_  =+    ( )+-- TagKind -----------------------------------------------------+-- cata+sem_TagKind :: TagKind  ->+               T_TagKind +sem_TagKind (TagKind_CSMTextSettings )  =+    (sem_TagKind_CSMTextSettings )+sem_TagKind (TagKind_DefineBinaryData )  =+    (sem_TagKind_DefineBinaryData )+sem_TagKind (TagKind_DefineBits )  =+    (sem_TagKind_DefineBits )+sem_TagKind (TagKind_DefineBitsJPEG2 )  =+    (sem_TagKind_DefineBitsJPEG2 )+sem_TagKind (TagKind_DefineBitsJPEG3 )  =+    (sem_TagKind_DefineBitsJPEG3 )+sem_TagKind (TagKind_DefineBitsJPEG4 )  =+    (sem_TagKind_DefineBitsJPEG4 )+sem_TagKind (TagKind_DefineBitsLossless )  =+    (sem_TagKind_DefineBitsLossless )+sem_TagKind (TagKind_DefineBitsLossless2 )  =+    (sem_TagKind_DefineBitsLossless2 )+sem_TagKind (TagKind_DefineButton )  =+    (sem_TagKind_DefineButton )+sem_TagKind (TagKind_DefineButton2 )  =+    (sem_TagKind_DefineButton2 )+sem_TagKind (TagKind_DefineButtonCxform )  =+    (sem_TagKind_DefineButtonCxform )+sem_TagKind (TagKind_DefineButtonSound )  =+    (sem_TagKind_DefineButtonSound )+sem_TagKind (TagKind_DefineEditText )  =+    (sem_TagKind_DefineEditText )+sem_TagKind (TagKind_DefineFont )  =+    (sem_TagKind_DefineFont )+sem_TagKind (TagKind_DefineFont2 )  =+    (sem_TagKind_DefineFont2 )+sem_TagKind (TagKind_DefineFont3 )  =+    (sem_TagKind_DefineFont3 )+sem_TagKind (TagKind_DefineFont4 )  =+    (sem_TagKind_DefineFont4 )+sem_TagKind (TagKind_DefineFontAlignZones )  =+    (sem_TagKind_DefineFontAlignZones )+sem_TagKind (TagKind_DefineFontInfo )  =+    (sem_TagKind_DefineFontInfo )+sem_TagKind (TagKind_DefineFontInfo2 )  =+    (sem_TagKind_DefineFontInfo2 )+sem_TagKind (TagKind_DefineFontName )  =+    (sem_TagKind_DefineFontName )+sem_TagKind (TagKind_DefineMorphShape )  =+    (sem_TagKind_DefineMorphShape )+sem_TagKind (TagKind_DefineMorphShape2 )  =+    (sem_TagKind_DefineMorphShape2 )+sem_TagKind (TagKind_DefineScalingGrid )  =+    (sem_TagKind_DefineScalingGrid )+sem_TagKind (TagKind_DefineSceneAndFrameLabelData )  =+    (sem_TagKind_DefineSceneAndFrameLabelData )+sem_TagKind (TagKind_DefineShape )  =+    (sem_TagKind_DefineShape )+sem_TagKind (TagKind_DefineShape2 )  =+    (sem_TagKind_DefineShape2 )+sem_TagKind (TagKind_DefineShape3 )  =+    (sem_TagKind_DefineShape3 )+sem_TagKind (TagKind_DefineShape4 )  =+    (sem_TagKind_DefineShape4 )+sem_TagKind (TagKind_DefineSound )  =+    (sem_TagKind_DefineSound )+sem_TagKind (TagKind_DefineSprite )  =+    (sem_TagKind_DefineSprite )+sem_TagKind (TagKind_DefineText )  =+    (sem_TagKind_DefineText )+sem_TagKind (TagKind_DefineText2 )  =+    (sem_TagKind_DefineText2 )+sem_TagKind (TagKind_DefineVideoStream )  =+    (sem_TagKind_DefineVideoStream )+sem_TagKind (TagKind_DoABC )  =+    (sem_TagKind_DoABC )+sem_TagKind (TagKind_DoAction )  =+    (sem_TagKind_DoAction )+sem_TagKind (TagKind_DoInitAction )  =+    (sem_TagKind_DoInitAction )+sem_TagKind (TagKind_EnableDebugger )  =+    (sem_TagKind_EnableDebugger )+sem_TagKind (TagKind_EnableDebugger2 )  =+    (sem_TagKind_EnableDebugger2 )+sem_TagKind (TagKind_End )  =+    (sem_TagKind_End )+sem_TagKind (TagKind_ExportAssets )  =+    (sem_TagKind_ExportAssets )+sem_TagKind (TagKind_FileAttributes )  =+    (sem_TagKind_FileAttributes )+sem_TagKind (TagKind_FrameLabel )  =+    (sem_TagKind_FrameLabel )+sem_TagKind (TagKind_ImportAssets )  =+    (sem_TagKind_ImportAssets )+sem_TagKind (TagKind_ImportAssets2 )  =+    (sem_TagKind_ImportAssets2 )+sem_TagKind (TagKind_JPEGTables )  =+    (sem_TagKind_JPEGTables )+sem_TagKind (TagKind_Metadata )  =+    (sem_TagKind_Metadata )+sem_TagKind (TagKind_Other _code )  =+    (sem_TagKind_Other _code )+sem_TagKind (TagKind_PlaceObject )  =+    (sem_TagKind_PlaceObject )+sem_TagKind (TagKind_PlaceObject2 )  =+    (sem_TagKind_PlaceObject2 )+sem_TagKind (TagKind_PlaceObject3 )  =+    (sem_TagKind_PlaceObject3 )+sem_TagKind (TagKind_Protect )  =+    (sem_TagKind_Protect )+sem_TagKind (TagKind_RemoveObject )  =+    (sem_TagKind_RemoveObject )+sem_TagKind (TagKind_RemoveObject2 )  =+    (sem_TagKind_RemoveObject2 )+sem_TagKind (TagKind_ScriptLimits )  =+    (sem_TagKind_ScriptLimits )+sem_TagKind (TagKind_SetBackgroundColor )  =+    (sem_TagKind_SetBackgroundColor )+sem_TagKind (TagKind_SetTabIndex )  =+    (sem_TagKind_SetTabIndex )+sem_TagKind (TagKind_ShowFrame )  =+    (sem_TagKind_ShowFrame )+sem_TagKind (TagKind_SoundStreamBlock )  =+    (sem_TagKind_SoundStreamBlock )+sem_TagKind (TagKind_SoundStreamHead )  =+    (sem_TagKind_SoundStreamHead )+sem_TagKind (TagKind_SoundStreamHead2 )  =+    (sem_TagKind_SoundStreamHead2 )+sem_TagKind (TagKind_StartSound )  =+    (sem_TagKind_StartSound )+sem_TagKind (TagKind_StartSound2 )  =+    (sem_TagKind_StartSound2 )+sem_TagKind (TagKind_SymbolClass )  =+    (sem_TagKind_SymbolClass )+sem_TagKind (TagKind_VideoFrame )  =+    (sem_TagKind_VideoFrame )+-- semantic domain+type T_TagKind  = ( )+sem_TagKind_CSMTextSettings :: T_TagKind +sem_TagKind_CSMTextSettings  =+    ( )+sem_TagKind_DefineBinaryData :: T_TagKind +sem_TagKind_DefineBinaryData  =+    ( )+sem_TagKind_DefineBits :: T_TagKind +sem_TagKind_DefineBits  =+    ( )+sem_TagKind_DefineBitsJPEG2 :: T_TagKind +sem_TagKind_DefineBitsJPEG2  =+    ( )+sem_TagKind_DefineBitsJPEG3 :: T_TagKind +sem_TagKind_DefineBitsJPEG3  =+    ( )+sem_TagKind_DefineBitsJPEG4 :: T_TagKind +sem_TagKind_DefineBitsJPEG4  =+    ( )+sem_TagKind_DefineBitsLossless :: T_TagKind +sem_TagKind_DefineBitsLossless  =+    ( )+sem_TagKind_DefineBitsLossless2 :: T_TagKind +sem_TagKind_DefineBitsLossless2  =+    ( )+sem_TagKind_DefineButton :: T_TagKind +sem_TagKind_DefineButton  =+    ( )+sem_TagKind_DefineButton2 :: T_TagKind +sem_TagKind_DefineButton2  =+    ( )+sem_TagKind_DefineButtonCxform :: T_TagKind +sem_TagKind_DefineButtonCxform  =+    ( )+sem_TagKind_DefineButtonSound :: T_TagKind +sem_TagKind_DefineButtonSound  =+    ( )+sem_TagKind_DefineEditText :: T_TagKind +sem_TagKind_DefineEditText  =+    ( )+sem_TagKind_DefineFont :: T_TagKind +sem_TagKind_DefineFont  =+    ( )+sem_TagKind_DefineFont2 :: T_TagKind +sem_TagKind_DefineFont2  =+    ( )+sem_TagKind_DefineFont3 :: T_TagKind +sem_TagKind_DefineFont3  =+    ( )+sem_TagKind_DefineFont4 :: T_TagKind +sem_TagKind_DefineFont4  =+    ( )+sem_TagKind_DefineFontAlignZones :: T_TagKind +sem_TagKind_DefineFontAlignZones  =+    ( )+sem_TagKind_DefineFontInfo :: T_TagKind +sem_TagKind_DefineFontInfo  =+    ( )+sem_TagKind_DefineFontInfo2 :: T_TagKind +sem_TagKind_DefineFontInfo2  =+    ( )+sem_TagKind_DefineFontName :: T_TagKind +sem_TagKind_DefineFontName  =+    ( )+sem_TagKind_DefineMorphShape :: T_TagKind +sem_TagKind_DefineMorphShape  =+    ( )+sem_TagKind_DefineMorphShape2 :: T_TagKind +sem_TagKind_DefineMorphShape2  =+    ( )+sem_TagKind_DefineScalingGrid :: T_TagKind +sem_TagKind_DefineScalingGrid  =+    ( )+sem_TagKind_DefineSceneAndFrameLabelData :: T_TagKind +sem_TagKind_DefineSceneAndFrameLabelData  =+    ( )+sem_TagKind_DefineShape :: T_TagKind +sem_TagKind_DefineShape  =+    ( )+sem_TagKind_DefineShape2 :: T_TagKind +sem_TagKind_DefineShape2  =+    ( )+sem_TagKind_DefineShape3 :: T_TagKind +sem_TagKind_DefineShape3  =+    ( )+sem_TagKind_DefineShape4 :: T_TagKind +sem_TagKind_DefineShape4  =+    ( )+sem_TagKind_DefineSound :: T_TagKind +sem_TagKind_DefineSound  =+    ( )+sem_TagKind_DefineSprite :: T_TagKind +sem_TagKind_DefineSprite  =+    ( )+sem_TagKind_DefineText :: T_TagKind +sem_TagKind_DefineText  =+    ( )+sem_TagKind_DefineText2 :: T_TagKind +sem_TagKind_DefineText2  =+    ( )+sem_TagKind_DefineVideoStream :: T_TagKind +sem_TagKind_DefineVideoStream  =+    ( )+sem_TagKind_DoABC :: T_TagKind +sem_TagKind_DoABC  =+    ( )+sem_TagKind_DoAction :: T_TagKind +sem_TagKind_DoAction  =+    ( )+sem_TagKind_DoInitAction :: T_TagKind +sem_TagKind_DoInitAction  =+    ( )+sem_TagKind_EnableDebugger :: T_TagKind +sem_TagKind_EnableDebugger  =+    ( )+sem_TagKind_EnableDebugger2 :: T_TagKind +sem_TagKind_EnableDebugger2  =+    ( )+sem_TagKind_End :: T_TagKind +sem_TagKind_End  =+    ( )+sem_TagKind_ExportAssets :: T_TagKind +sem_TagKind_ExportAssets  =+    ( )+sem_TagKind_FileAttributes :: T_TagKind +sem_TagKind_FileAttributes  =+    ( )+sem_TagKind_FrameLabel :: T_TagKind +sem_TagKind_FrameLabel  =+    ( )+sem_TagKind_ImportAssets :: T_TagKind +sem_TagKind_ImportAssets  =+    ( )+sem_TagKind_ImportAssets2 :: T_TagKind +sem_TagKind_ImportAssets2  =+    ( )+sem_TagKind_JPEGTables :: T_TagKind +sem_TagKind_JPEGTables  =+    ( )+sem_TagKind_Metadata :: T_TagKind +sem_TagKind_Metadata  =+    ( )+sem_TagKind_Other :: Word16 ->+                     T_TagKind +sem_TagKind_Other code_  =+    ( )+sem_TagKind_PlaceObject :: T_TagKind +sem_TagKind_PlaceObject  =+    ( )+sem_TagKind_PlaceObject2 :: T_TagKind +sem_TagKind_PlaceObject2  =+    ( )+sem_TagKind_PlaceObject3 :: T_TagKind +sem_TagKind_PlaceObject3  =+    ( )+sem_TagKind_Protect :: T_TagKind +sem_TagKind_Protect  =+    ( )+sem_TagKind_RemoveObject :: T_TagKind +sem_TagKind_RemoveObject  =+    ( )+sem_TagKind_RemoveObject2 :: T_TagKind +sem_TagKind_RemoveObject2  =+    ( )+sem_TagKind_ScriptLimits :: T_TagKind +sem_TagKind_ScriptLimits  =+    ( )+sem_TagKind_SetBackgroundColor :: T_TagKind +sem_TagKind_SetBackgroundColor  =+    ( )+sem_TagKind_SetTabIndex :: T_TagKind +sem_TagKind_SetTabIndex  =+    ( )+sem_TagKind_ShowFrame :: T_TagKind +sem_TagKind_ShowFrame  =+    ( )+sem_TagKind_SoundStreamBlock :: T_TagKind +sem_TagKind_SoundStreamBlock  =+    ( )+sem_TagKind_SoundStreamHead :: T_TagKind +sem_TagKind_SoundStreamHead  =+    ( )+sem_TagKind_SoundStreamHead2 :: T_TagKind +sem_TagKind_SoundStreamHead2  =+    ( )+sem_TagKind_StartSound :: T_TagKind +sem_TagKind_StartSound  =+    ( )+sem_TagKind_StartSound2 :: T_TagKind +sem_TagKind_StartSound2  =+    ( )+sem_TagKind_SymbolClass :: T_TagKind +sem_TagKind_SymbolClass  =+    ( )+sem_TagKind_VideoFrame :: T_TagKind +sem_TagKind_VideoFrame  =+    ( )+-- Tags --------------------------------------------------------+-- cata+sem_Tags :: Tags  ->+            T_Tags +sem_Tags list  =+    (Prelude.foldr sem_Tags_Cons sem_Tags_Nil (Prelude.map sem_Tag list) )+-- semantic domain+type T_Tags  = ( )+sem_Tags_Cons :: T_Tag  ->+                 T_Tags  ->+                 T_Tags +sem_Tags_Cons hd_ tl_  =+    ( )+sem_Tags_Nil :: T_Tags +sem_Tags_Nil  =+    ( )+-- Trait -------------------------------------------------------+-- cata+sem_Trait :: Trait  ->+             T_Trait +sem_Trait (Trait_Trait _name _data _attrs _meta )  =+    (sem_Trait_Trait _name (sem_TraitData _data ) (sem_TraitAttrs _attrs ) (sem_TraitMeta _meta ) )+-- semantic domain+type T_Trait  = ( )+sem_Trait_Trait :: Word32 ->+                   T_TraitData  ->+                   T_TraitAttrs  ->+                   T_TraitMeta  ->+                   T_Trait +sem_Trait_Trait name_ data_ attrs_ meta_  =+    ( )+-- TraitAttr ---------------------------------------------------+-- cata+sem_TraitAttr :: TraitAttr  ->+                 T_TraitAttr +sem_TraitAttr (TraitAttr_Final )  =+    (sem_TraitAttr_Final )+sem_TraitAttr (TraitAttr_Metadata )  =+    (sem_TraitAttr_Metadata )+sem_TraitAttr (TraitAttr_Override )  =+    (sem_TraitAttr_Override )+-- semantic domain+type T_TraitAttr  = ( )+sem_TraitAttr_Final :: T_TraitAttr +sem_TraitAttr_Final  =+    ( )+sem_TraitAttr_Metadata :: T_TraitAttr +sem_TraitAttr_Metadata  =+    ( )+sem_TraitAttr_Override :: T_TraitAttr +sem_TraitAttr_Override  =+    ( )+-- TraitAttrs --------------------------------------------------+-- cata+sem_TraitAttrs :: TraitAttrs  ->+                  T_TraitAttrs +sem_TraitAttrs list  =+    (Prelude.foldr sem_TraitAttrs_Cons sem_TraitAttrs_Nil (Prelude.map sem_TraitAttr list) )+-- semantic domain+type T_TraitAttrs  = ( )+sem_TraitAttrs_Cons :: T_TraitAttr  ->+                       T_TraitAttrs  ->+                       T_TraitAttrs +sem_TraitAttrs_Cons hd_ tl_  =+    ( )+sem_TraitAttrs_Nil :: T_TraitAttrs +sem_TraitAttrs_Nil  =+    ( )+-- TraitData ---------------------------------------------------+-- cata+sem_TraitData :: TraitData  ->+                 T_TraitData +sem_TraitData (TraitData_Class _slotId _class )  =+    (sem_TraitData_Class _slotId _class )+sem_TraitData (TraitData_Const _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Const _slotId _tp _vindex (sem_ValueKind _vkind ) )+sem_TraitData (TraitData_Function _dispId _method )  =+    (sem_TraitData_Function _dispId _method )+sem_TraitData (TraitData_Getter _dispId _method )  =+    (sem_TraitData_Getter _dispId _method )+sem_TraitData (TraitData_Method _dispId _method )  =+    (sem_TraitData_Method _dispId _method )+sem_TraitData (TraitData_Setter _dispId _method )  =+    (sem_TraitData_Setter _dispId _method )+sem_TraitData (TraitData_Slot _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Slot _slotId _tp _vindex (sem_ValueKind _vkind ) )+-- semantic domain+type T_TraitData  = ( )+sem_TraitData_Class :: Word32 ->+                       Word32 ->+                       T_TraitData +sem_TraitData_Class slotId_ class_  =+    ( )+sem_TraitData_Const :: Word32 ->+                       Word32 ->+                       Word32 ->+                       T_ValueKind  ->+                       T_TraitData +sem_TraitData_Const slotId_ tp_ vindex_ vkind_  =+    ( )+sem_TraitData_Function :: Word32 ->+                          Word32 ->+                          T_TraitData +sem_TraitData_Function dispId_ method_  =+    ( )+sem_TraitData_Getter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Getter dispId_ method_  =+    ( )+sem_TraitData_Method :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Method dispId_ method_  =+    ( )+sem_TraitData_Setter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Setter dispId_ method_  =+    ( )+sem_TraitData_Slot :: Word32 ->+                      Word32 ->+                      Word32 ->+                      T_ValueKind  ->+                      T_TraitData +sem_TraitData_Slot slotId_ tp_ vindex_ vkind_  =+    ( )+-- TraitKind ---------------------------------------------------+-- cata+sem_TraitKind :: TraitKind  ->+                 T_TraitKind +sem_TraitKind (TraitKind_Class )  =+    (sem_TraitKind_Class )+sem_TraitKind (TraitKind_Const )  =+    (sem_TraitKind_Const )+sem_TraitKind (TraitKind_Function )  =+    (sem_TraitKind_Function )+sem_TraitKind (TraitKind_Getter )  =+    (sem_TraitKind_Getter )+sem_TraitKind (TraitKind_Method )  =+    (sem_TraitKind_Method )+sem_TraitKind (TraitKind_Setter )  =+    (sem_TraitKind_Setter )+sem_TraitKind (TraitKind_Slot )  =+    (sem_TraitKind_Slot )+-- semantic domain+type T_TraitKind  = ( )+sem_TraitKind_Class :: T_TraitKind +sem_TraitKind_Class  =+    ( )+sem_TraitKind_Const :: T_TraitKind +sem_TraitKind_Const  =+    ( )+sem_TraitKind_Function :: T_TraitKind +sem_TraitKind_Function  =+    ( )+sem_TraitKind_Getter :: T_TraitKind +sem_TraitKind_Getter  =+    ( )+sem_TraitKind_Method :: T_TraitKind +sem_TraitKind_Method  =+    ( )+sem_TraitKind_Setter :: T_TraitKind +sem_TraitKind_Setter  =+    ( )+sem_TraitKind_Slot :: T_TraitKind +sem_TraitKind_Slot  =+    ( )+-- TraitMeta ---------------------------------------------------+-- cata+sem_TraitMeta :: TraitMeta  ->+                 T_TraitMeta +sem_TraitMeta list  =+    (Prelude.foldr sem_TraitMeta_Cons sem_TraitMeta_Nil list )+-- semantic domain+type T_TraitMeta  = ( )+sem_TraitMeta_Cons :: Word32 ->+                      T_TraitMeta  ->+                      T_TraitMeta +sem_TraitMeta_Cons hd_ tl_  =+    ( )+sem_TraitMeta_Nil :: T_TraitMeta +sem_TraitMeta_Nil  =+    ( )+-- Traits ------------------------------------------------------+-- cata+sem_Traits :: Traits  ->+              T_Traits +sem_Traits list  =+    (Prelude.foldr sem_Traits_Cons sem_Traits_Nil (Prelude.map sem_Trait list) )+-- semantic domain+type T_Traits  = ( )+sem_Traits_Cons :: T_Trait  ->+                   T_Traits  ->+                   T_Traits +sem_Traits_Cons hd_ tl_  =+    ( )+sem_Traits_Nil :: T_Traits +sem_Traits_Nil  =+    ( )+-- ValueKind ---------------------------------------------------+-- cata+sem_ValueKind :: ValueKind  ->+                 T_ValueKind +sem_ValueKind (ValueKind_Double )  =+    (sem_ValueKind_Double )+sem_ValueKind (ValueKind_Explicit )  =+    (sem_ValueKind_Explicit )+sem_ValueKind (ValueKind_False )  =+    (sem_ValueKind_False )+sem_ValueKind (ValueKind_Int )  =+    (sem_ValueKind_Int )+sem_ValueKind (ValueKind_Internal )  =+    (sem_ValueKind_Internal )+sem_ValueKind (ValueKind_Namespace )  =+    (sem_ValueKind_Namespace )+sem_ValueKind (ValueKind_Null )  =+    (sem_ValueKind_Null )+sem_ValueKind (ValueKind_Package )  =+    (sem_ValueKind_Package )+sem_ValueKind (ValueKind_Private )  =+    (sem_ValueKind_Private )+sem_ValueKind (ValueKind_Protected )  =+    (sem_ValueKind_Protected )+sem_ValueKind (ValueKind_Static )  =+    (sem_ValueKind_Static )+sem_ValueKind (ValueKind_True )  =+    (sem_ValueKind_True )+sem_ValueKind (ValueKind_UInt )  =+    (sem_ValueKind_UInt )+sem_ValueKind (ValueKind_Undefined )  =+    (sem_ValueKind_Undefined )+sem_ValueKind (ValueKind_Utf8 )  =+    (sem_ValueKind_Utf8 )+-- semantic domain+type T_ValueKind  = ( )+sem_ValueKind_Double :: T_ValueKind +sem_ValueKind_Double  =+    ( )+sem_ValueKind_Explicit :: T_ValueKind +sem_ValueKind_Explicit  =+    ( )+sem_ValueKind_False :: T_ValueKind +sem_ValueKind_False  =+    ( )+sem_ValueKind_Int :: T_ValueKind +sem_ValueKind_Int  =+    ( )+sem_ValueKind_Internal :: T_ValueKind +sem_ValueKind_Internal  =+    ( )+sem_ValueKind_Namespace :: T_ValueKind +sem_ValueKind_Namespace  =+    ( )+sem_ValueKind_Null :: T_ValueKind +sem_ValueKind_Null  =+    ( )+sem_ValueKind_Package :: T_ValueKind +sem_ValueKind_Package  =+    ( )+sem_ValueKind_Private :: T_ValueKind +sem_ValueKind_Private  =+    ( )+sem_ValueKind_Protected :: T_ValueKind +sem_ValueKind_Protected  =+    ( )+sem_ValueKind_Static :: T_ValueKind +sem_ValueKind_Static  =+    ( )+sem_ValueKind_True :: T_ValueKind +sem_ValueKind_True  =+    ( )+sem_ValueKind_UInt :: T_ValueKind +sem_ValueKind_UInt  =+    ( )+sem_ValueKind_Undefined :: T_ValueKind +sem_ValueKind_Undefined  =+    ( )+sem_ValueKind_Utf8 :: T_ValueKind +sem_ValueKind_Utf8  =+    ( )
+ dist/build/Language.hs view
@@ -0,0 +1,124 @@+++-- UUAGC 0.9.36 (src/Language.ag)+module Language where++{-# LINE 6 "src/Language.ag" #-}++import Data.Word+{-# LINE 10 "dist/src/sdist.27680/asil-1.2/dist/build/Language.hs" #-}+-- BinOp -------------------------------------------------------+data BinOp  = BinOp_Add +            | BinOp_And +            | BinOp_Div +            | BinOp_Max +            | BinOp_Min +            | BinOp_Mod +            | BinOp_Mul +            | BinOp_Or +            | BinOp_Rel (Rel ) +            | BinOp_Sub +            deriving ( Eq,Show)+-- Coercion ----------------------------------------------------+data Coercion  = Coercion_Any +               | Coercion_Any' +               | Coercion_Double +               | Coercion_Instance +               | Coercion_Int +               | Coercion_None +               | Coercion_String +               | Coercion_UInt +               deriving ( Eq,Show)+-- Instr -------------------------------------------------------+data Instr  = Instr_Alt (Instr ) (Instr ) (Bool) +            | Instr_Assert (Val ) +            | Instr_Assign (Int) (Val ) +            | Instr_BinOp (Val ) (Val ) (Val ) (BinOp ) +            | Instr_CallFun (Val ) (Params ) (Params ) +            | Instr_CallProp (Val ) (Params ) (Params ) +            | Instr_Coerce (Coercion ) (Val ) (Val ) +            | Instr_Dyn (Instr ) +            | Instr_Fail ((Maybe String)) +            | Instr_Last (Instr ) +            | Instr_Loop (Instr ) +            | Instr_Match (Match ) +            | Instr_Nop +            | Instr_Pretty (Val ) (Params ) (Val ) +            | Instr_Scan (Val ) (Val ) (Params ) +            | Instr_Seq (Instr ) (Instr ) +            | Instr_Static (Instr ) +            | Instr_Type (Val ) (Val ) +            | Instr_TypeOf (Val ) (Val ) +            | Instr_UnOp (Val ) (Val ) (UnOp ) +            deriving ( Eq,Show)+-- Match -------------------------------------------------------+data Match  = Match_BeginCall (Val ) (Val ) (Val ) (Params ) +            | Match_BeginCoerce (Val ) (Val ) (Coercion ) +            | Match_DoneCall (Val ) (Val ) (Val ) (Params ) +            | Match_DoneCoerce (Val ) (Val ) (Coercion ) +            | Match_EnterBlock (Val ) (Val ) (Val ) +            | Match_EnterFun (Val ) (Val ) (Val ) (Params ) +            | Match_FailBlock (Val ) (Val ) +            | Match_FailFun (Val ) (Val ) (Val ) (Val ) +            | Match_FailedCall (Val ) (Val ) (Val ) (Val ) +            | Match_FailedCoerce (Val ) (Val ) (Val ) (Coercion ) +            | Match_LeaveBlock (Val ) (Val ) +            | Match_LeaveFun (Val ) (Val ) (Val ) (Params ) +            deriving ( Eq,Show)+-- MaybeVal ----------------------------------------------------+type MaybeVal  = Maybe Val +-- Param -------------------------------------------------------+data Param  = Param_Param (Val ) +            deriving ( Eq,Show)+-- Params ------------------------------------------------------+data Params  = Params_Any (Val ) +             | Params_Cons (Param ) (Params ) +             | Params_Nil +             deriving ( Eq,Show)+-- Rel ---------------------------------------------------------+data Rel  = Rel_Equal +          | Rel_Greater +          | Rel_GreaterEqual +          | Rel_Negate (Rel ) +          | Rel_Smaller +          | Rel_SmallerEqual +          deriving ( Eq,Show)+-- Spec --------------------------------------------------------+data Spec  = Spec_Instr (Instr ) +           deriving ( Eq,Show)+-- Type --------------------------------------------------------+data Type  = Type_Any +           | Type_Array (Type ) +           | Type_Base +           | Type_Bool +           | Type_Double +           | Type_Int +           | Type_Method +           | Type_Object (String) +           | Type_String +           | Type_UInt +           deriving ( Eq,Show)+-- UnOp --------------------------------------------------------+data UnOp  = UnOp_Abs +           | UnOp_ExtractJust +           | UnOp_IsJust +           | UnOp_IsNothing +           | UnOp_Length +           | UnOp_Neg +           | UnOp_Not +           deriving ( Eq,Show)+-- Val ---------------------------------------------------------+data Val  = Val_Array (Vals ) +          | Val_Bool (Bool) +          | Val_Dyn (Val ) (Val ) +          | Val_Ind (Val ) (Val ) +          | Val_Int (Int) +          | Val_Method (String) +          | Val_Prop (Val ) (String) +          | Val_String (String) +          | Val_Sym (Int) +          | Val_Type (Type ) +          | Val_UInt (Word32) +          deriving ( Eq,Show)+-- Vals --------------------------------------------------------+type Vals  = [Val ]
+ dist/build/PrettyCode.hs view
@@ -0,0 +1,6547 @@+++{-# LANGUAGE TypeSynonymInstances #-}+-- UUAGC 0.9.36 (src/PrettyCode.ag)+module PrettyCode(ppSwf,ppAbc) where++{-# LINE 12 "src/PrettyCode.ag" #-}++import Codec.Compression.Zlib+import Data.Binary.Builder+import Data.Binary.IEEE754+import qualified Data.Binary.Put as P+import Data.Bits+import Data.ByteString.Lazy(ByteString)+import qualified Data.ByteString.Lazy as B+import Data.Word+import Data.Monoid+import ByteCode+{-# LINE 20 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyCode.hs" #-}+{-# LINE 28 "src/PrettyCode.ag" #-}++ppSwf :: SwfFile -> ByteString+ppSwf m = str where+  inh = Inh_SwfFile {}+  sem = sem_SwfFile m+  syn = wrap_SwfFile sem inh+  out = output_Syn_SwfFile syn+  str = toLazyByteString out++ppAbc :: AbcFile -> ByteString+ppAbc m = str where+  inh = Inh_AbcFile {}+  sem = sem_AbcFile m+  syn = wrap_AbcFile sem inh+  out = output_Syn_AbcFile syn+  str = toLazyByteString out+{-# LINE 38 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyCode.hs" #-}++{-# LINE 46 "src/PrettyCode.ag" #-}++class ToBuilder a where+  toBuilder :: a -> Builder++instance ToBuilder ByteString where+  toBuilder = fromLazyByteString++instance ToBuilder Builder where+  toBuilder = id++instance ToBuilder Word8 where+  toBuilder = singleton++infixr 3 ##++(##) :: (ToBuilder a, ToBuilder b) => a -> b -> Builder+a ## b = toBuilder a `append` toBuilder b++u8 :: Word8 -> Builder+u8 = singleton . fromIntegral++w32 :: Word32 -> Builder+w32 = putWord32le++d64 :: Double -> Builder+d64 = toBuilder . P.runPut . putFloat64le++u16 :: Word16 -> Builder+u16 = putWord16le++s24 :: Word32 -> Builder+s24 w = u8 w1 ## u8 w2 ## u8 w3+  where w1 = fromIntegral (w .&. 0xFF)+        w2 = fromIntegral (shiftR w 8 .&. 0xFF)+        w3 = fromIntegral (shiftR w 16 .&. 0xFF)++-- Note: ignoring here the exact size.+u30 :: Word32 -> Builder+u30 = v32 False++s32 :: Word32 -> Builder+s32 = v32 True++u32 :: Word32 -> Builder+u32 = v32 False++-- Rather complicated due to compression of negative numbers.+v32 :: Bool -> Word32 -> Builder+v32 isSigned w+  | isSigned && w `testBit` 31 = negative+  | otherwise                  = positive+  where+    part w' = let r  = shiftR w' 7  -- drop seven bits, the residual bits form the remainder+                  v  = w' .&. 0x7F  -- take the first seven bits+                  ps | r > 0     = part r+                     | otherwise = []+              in fromIntegral v : ps+    ws = part w  -- non-empty sequence of 7 bits+    +    mark [x]    = [x]                         -- last byte unchanged+    mark (x:xs) = setBit x 7 : mark xs        -- mark 7th bit of all but the last byte++    positive = build (mark ws)  -- render to a sequence of bytes++    negative = let -- given a reversed byte sequence, strips off those bytes with the 7 bits set+                   strip [x] = [x]   -- least significant byte unchanged+                   strip (x:y:xs)+                     | x == 0x7F && y `testBit` 6 = strip (y:xs)  -- only if the next byte has the sign-bit set+                     | otherwise                  = x : y : xs++                   wr = reverse ws+                   wr' = (extend $ head wr) : tail wr  -- sign extend the first byte+                   +                   extend = let extend' n x | not (x `testBit` n) = bit n .|. extend' (n-1) x+                                            | otherwise           = x+                            in extend' 6  -- a n == 0 situation cannot happen: number is negative, there must be a sign bit+    +                   ws' = mark . reverse . strip $ wr'+               in build ws'+    +    build = foldr (\x r -> u8 x ## r) empty++u30size :: Int -> Builder+u30size = u30 . fromIntegral++nullString :: ByteString -> Builder+nullString s = s ## u8 0+{-# LINE 128 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyCode.hs" #-}++{-# LINE 135 "src/PrettyCode.ag" #-}++newtype BitBuilder = BitBuilder ([Bool] -> [Bool])++instance Monoid BitBuilder where+  mempty = BitBuilder id+  mappend (BitBuilder f) (BitBuilder g) = BitBuilder (f . g)++infixr 3 ###++(###) :: BitBuilder -> BitBuilder -> BitBuilder+(###) = mappend++-- | To put a number in, put the most significant bits first.+putBits :: [Bool] -> BitBuilder+putBits xs = BitBuilder (xs ++)++putBit :: Bool -> BitBuilder+putBit = putBits . return++putWord :: Word32 -> Int -> BitBuilder+putWord w n+  | n <= 0    = error "putWord: n <= 0"+  | otherwise = putBits [ testBit w (n-i) | i <- [1 .. n] ]++padded :: BitBuilder -> Builder+padded (BitBuilder f) = builder where+  bits    = f []+  len     = length bits+  pad     = (8 - (len `rem` 8)) `mod` 8+  bits'   = bits ++ replicate pad False+  bytes   = map b2w8 $ split bits'+  builder = foldr (\b r -> u8 b ## r) mempty bytes+  +  split [] = []+  split xs = let (ys,zs) = splitAt 8 xs in ys : split zs+  +  b2w8 = foldl (\r b -> shiftL r 1 .|. (if b then 1 else 0)) 0+{-# LINE 168 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyCode.hs" #-}++{-# LINE 235 "src/PrettyCode.ag" #-}++fromTagKind :: TagKind -> Word16+fromTagKind k = case k of+  TagKind_End                              -> 0+  TagKind_ShowFrame                        -> 1+  TagKind_DefineShape                      -> 2+  TagKind_PlaceObject                      -> 4+  TagKind_RemoveObject                     -> 5+  TagKind_DefineBits                       -> 6+  TagKind_DefineButton                     -> 7+  TagKind_JPEGTables                       -> 8+  TagKind_SetBackgroundColor               -> 9+  TagKind_DefineFont                       -> 10+  TagKind_DefineText                       -> 11+  TagKind_DoAction                         -> 12+  TagKind_DefineFontInfo                   -> 13+  TagKind_DefineSound                      -> 14+  TagKind_StartSound                       -> 15+  TagKind_DefineButtonSound                -> 17+  TagKind_SoundStreamHead                  -> 18+  TagKind_SoundStreamBlock                 -> 19+  TagKind_DefineBitsLossless               -> 20+  TagKind_DefineBitsJPEG2                  -> 21+  TagKind_DefineShape2                     -> 22+  TagKind_DefineButtonCxform               -> 23+  TagKind_Protect                          -> 24+  TagKind_PlaceObject2                     -> 26+  TagKind_RemoveObject2                    -> 28+  TagKind_DefineShape3                     -> 32+  TagKind_DefineText2                      -> 33+  TagKind_DefineButton2                    -> 34+  TagKind_DefineBitsJPEG3                  -> 35+  TagKind_DefineBitsLossless2              -> 36+  TagKind_DefineEditText                   -> 37+  TagKind_DefineSprite                     -> 39+  TagKind_FrameLabel                       -> 43+  TagKind_SoundStreamHead2                 -> 45+  TagKind_DefineMorphShape                 -> 46+  TagKind_DefineFont2                      -> 48+  TagKind_ExportAssets                     -> 56+  TagKind_ImportAssets                     -> 57+  TagKind_EnableDebugger                   -> 58+  TagKind_DoInitAction                     -> 59+  TagKind_DefineVideoStream                -> 60+  TagKind_VideoFrame                       -> 61+  TagKind_DefineFontInfo2                  -> 62+  TagKind_EnableDebugger2                  -> 64+  TagKind_ScriptLimits                     -> 65+  TagKind_SetTabIndex                      -> 66+  TagKind_FileAttributes                   -> 69+  TagKind_PlaceObject3                     -> 70+  TagKind_ImportAssets2                    -> 71+  TagKind_DefineFontAlignZones             -> 73+  TagKind_CSMTextSettings                  -> 74+  TagKind_DefineFont3                      -> 75+  TagKind_SymbolClass                      -> 76+  TagKind_Metadata                         -> 77+  TagKind_DefineScalingGrid                -> 78+  TagKind_DoABC                            -> 82+  TagKind_DefineShape4                     -> 83+  TagKind_DefineMorphShape2                -> 84+  TagKind_DefineSceneAndFrameLabelData     -> 86+  TagKind_DefineBinaryData                 -> 87+  TagKind_DefineFontName                   -> 88+  TagKind_StartSound2                      -> 89+  TagKind_DefineBitsJPEG4                  -> 90+  TagKind_DefineFont4                      -> 91+  TagKind_Other c                          -> c+{-# LINE 239 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyCode.hs" #-}++{-# LINE 352 "src/PrettyCode.ag" #-}++u30size1 n = u30size (if n == 0 then 0 else n+1)+{-# LINE 244 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyCode.hs" #-}++{-# LINE 365 "src/PrettyCode.ag" #-}++fromNamespaceKind k = case k of+  NamespaceKind_General   -> 0x08+  NamespaceKind_Package   -> 0x16+  NamespaceKind_Internal  -> 0x17+  NamespaceKind_Protected -> 0x18+  NamespaceKind_Explicit  -> 0x19+  NamespaceKind_Static    -> 0x1A+  NamespaceKind_Private   -> 0x05+{-# LINE 256 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyCode.hs" #-}++{-# LINE 404 "src/PrettyCode.ag" #-}++mergeMethodFlags :: MethodFlags -> Word8+mergeMethodFlags = foldr (.|.) 0 . map fromFlag+  where fromFlag fl = case fl of+          MethodFlag_NeedArgs      -> 0x01+          MethodFlag_NeedAct       -> 0x02+          MethodFlag_NeedRest      -> 0x04+          MethodFlag_HasOptionals  -> 0x08+          MethodFlag_SetDXNS       -> 0x40+          MethodFlag_HasParamNames -> 0x80+{-# LINE 269 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyCode.hs" #-}++{-# LINE 420 "src/PrettyCode.ag" #-}++fromValueKind :: ValueKind -> Word8+fromValueKind k = case k of+  ValueKind_Int       -> 0x03+  ValueKind_UInt      -> 0x04+  ValueKind_Double    -> 0x06+  ValueKind_Utf8      -> 0x01+  ValueKind_True      -> 0x0B+  ValueKind_False     -> 0x0A+  ValueKind_Null      -> 0x0C+  ValueKind_Undefined -> 0x00+  ValueKind_Namespace -> 0x08+  ValueKind_Package   -> 0x16+  ValueKind_Internal  -> 0x17+  ValueKind_Protected -> 0x18+  ValueKind_Explicit  -> 0x19+  ValueKind_Static    -> 0x1A+  ValueKind_Private   -> 0x05+{-# LINE 290 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyCode.hs" #-}++{-# LINE 456 "src/PrettyCode.ag" #-}++mergeInstanceFlags :: InstanceFlags -> Word8+mergeInstanceFlags = foldr (.|.) 0 . map fromFlag+  where fromFlag fl = case fl of+          InstanceFlag_ClassSealed     -> 0x01+          InstanceFlag_ClassFinal      -> 0x02+          InstanceFlag_ClassInterface  -> 0x04+          InstanceFlag_ClassProtected  -> 0x08+{-# LINE 301 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyCode.hs" #-}++{-# LINE 481 "src/PrettyCode.ag" #-}++mergeTraitFlags :: TraitAttrs -> Word8+mergeTraitFlags = foldr (.|.) 0 . map fromFlag+  where fromFlag fl = case fl of+          TraitAttr_Final     -> 0x01+          TraitAttr_Override  -> 0x02+          TraitAttr_Metadata  -> 0x04+{-# LINE 311 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyCode.hs" #-}+-- AbcFile -----------------------------------------------------+-- cata+sem_AbcFile :: AbcFile  ->+               T_AbcFile +sem_AbcFile (AbcFile_File _minorVersion _majorVersion _constantPool _methods _metadatas _instances _classes _scripts _bodies )  =+    (sem_AbcFile_File _minorVersion _majorVersion (sem_PoolInfo _constantPool ) (sem_MethodInfos _methods ) (sem_MetaInfos _metadatas ) (sem_InstanceInfos _instances ) (sem_ClassInfos _classes ) (sem_ScriptInfos _scripts ) (sem_BodyInfos _bodies ) )+-- semantic domain+type T_AbcFile  = ( Builder)+data Inh_AbcFile  = Inh_AbcFile {}+data Syn_AbcFile  = Syn_AbcFile {output_Syn_AbcFile :: !(Builder)}+wrap_AbcFile :: T_AbcFile  ->+                Inh_AbcFile  ->+                Syn_AbcFile +wrap_AbcFile sem (Inh_AbcFile )  =+    (let ( _lhsOoutput) | True = sem +     in  (Syn_AbcFile _lhsOoutput ))+sem_AbcFile_File :: Word16 ->+                    Word16 ->+                    T_PoolInfo  ->+                    T_MethodInfos  ->+                    T_MetaInfos  ->+                    T_InstanceInfos  ->+                    T_ClassInfos  ->+                    T_ScriptInfos  ->+                    T_BodyInfos  ->+                    T_AbcFile +sem_AbcFile_File minorVersion_ majorVersion_ constantPool_ methods_ metadatas_ instances_ classes_ scripts_ bodies_  =+    (case (bodies_ ) of+     { ( _bodiesIcount,_bodiesIoutput) | True ->+         (case (scripts_ ) of+          { ( _scriptsIcount,_scriptsIoutput) | True ->+              (case (classes_ ) of+               { ( _classesIcount,_classesIoutput) | True ->+                   (case (instances_ ) of+                    { ( _instancesIcount,_instancesIoutput) | True ->+                        (case (metadatas_ ) of+                         { ( _metadatasIcount,_metadatasIoutput) | True ->+                             (case (methods_ ) of+                              { ( _methodsIcount,_methodsIoutput) | True ->+                                  (case (constantPool_ ) of+                                   { ( _constantPoolIoutput) | True ->+                                       (case (({-# LINE 336 "src/PrettyCode.ag" #-}+                                               u16 minorVersion_ ## u16 majorVersion_ ## _constantPoolIoutput ##+                                               u30size _methodsIcount   ## _methodsIoutput   ##+                                               u30size _metadatasIcount ## _metadatasIoutput ##+                                               u30size _instancesIcount ## _instancesIoutput ## _classesIoutput ##+                                               u30size _scriptsIcount   ## _scriptsIoutput   ##+                                               u30size _bodiesIcount    ## _bodiesIoutput+                                               {-# LINE 360 "src/PrettyCode.hs" #-}+                                               )) of+                                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                        ( _lhsOoutput) }) }) }) }) }) }) }) })+-- AbcFlag -----------------------------------------------------+-- cata+sem_AbcFlag :: AbcFlag  ->+               T_AbcFlag +sem_AbcFlag (AbcFlag_LazyInit )  =+    (sem_AbcFlag_LazyInit )+-- semantic domain+type T_AbcFlag  = ( Word32)+sem_AbcFlag_LazyInit :: T_AbcFlag +sem_AbcFlag_LazyInit  =+    (case (({-# LINE 233 "src/PrettyCode.ag" #-}+            1+            {-# LINE 376 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOflags | _lhsOflags `seq` (True) ->+     ( _lhsOflags) })+-- AbcFlags ----------------------------------------------------+-- cata+sem_AbcFlags :: AbcFlags  ->+                T_AbcFlags +sem_AbcFlags list  =+    (Prelude.foldr sem_AbcFlags_Cons sem_AbcFlags_Nil (Prelude.map sem_AbcFlag list) )+-- semantic domain+type T_AbcFlags  = ( Word32)+sem_AbcFlags_Cons :: T_AbcFlag  ->+                     T_AbcFlags  ->+                     T_AbcFlags +sem_AbcFlags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIflags) | True ->+         (case (hd_ ) of+          { ( _hdIflags) | True ->+              (case (({-# LINE 185 "src/PrettyCode.ag" #-}+                      _hdIflags .|. _tlIflags+                      {-# LINE 398 "src/PrettyCode.hs" #-}+                      )) of+               { _lhsOflags | _lhsOflags `seq` (True) ->+               ( _lhsOflags) }) }) })+sem_AbcFlags_Nil :: T_AbcFlags +sem_AbcFlags_Nil  =+    (case (({-# LINE 185 "src/PrettyCode.ag" #-}+            0+            {-# LINE 406 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOflags | _lhsOflags `seq` (True) ->+     ( _lhsOflags) })+-- BodyInfo ----------------------------------------------------+-- cata+sem_BodyInfo :: BodyInfo  ->+                T_BodyInfo +sem_BodyInfo (BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth _instructions _exceptions _traits )  =+    (sem_BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth (sem_Instructions _instructions ) (sem_Exceptions _exceptions ) (sem_Traits _traits ) )+-- semantic domain+type T_BodyInfo  = ( Builder)+sem_BodyInfo_Info :: Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     T_Instructions  ->+                     T_Exceptions  ->+                     T_Traits  ->+                     T_BodyInfo +sem_BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ instructions_ exceptions_ traits_  =+    (case (instructions_ ) of+     { ( _instructionsIoutput) | True ->+         (case (({-# LINE 525 "src/PrettyCode.ag" #-}+                 toLazyByteString _instructionsIoutput+                 {-# LINE 432 "src/PrettyCode.hs" #-}+                 )) of+          { _content | _content `seq` (True) ->+          (case (({-# LINE 526 "src/PrettyCode.ag" #-}+                  fromIntegral $ B.length _content+                  {-# LINE 437 "src/PrettyCode.hs" #-}+                  )) of+           { _length | _length `seq` (True) ->+           (case (traits_ ) of+            { ( _traitsIcount,_traitsIoutput) | True ->+                (case (exceptions_ ) of+                 { ( _exceptionsIcount,_exceptionsIoutput) | True ->+                     (case (({-# LINE 520 "src/PrettyCode.ag" #-}+                             u30 method_ ## u30 maxStack_ ## u30 localCount_ ##+                             u30 initScopeDepth_ ## u30 maxScopeDepth_ ##+                             u30size _length     ## _content     ##+                             u30size _exceptionsIcount ## _exceptionsIoutput ##+                             u30size _traitsIcount ## _traitsIoutput+                             {-# LINE 450 "src/PrettyCode.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }) })+-- BodyInfos ---------------------------------------------------+-- cata+sem_BodyInfos :: BodyInfos  ->+                 T_BodyInfos +sem_BodyInfos list  =+    (Prelude.foldr sem_BodyInfos_Cons sem_BodyInfos_Nil (Prelude.map sem_BodyInfo list) )+-- semantic domain+type T_BodyInfos  = ( Int,Builder)+sem_BodyInfos_Cons :: T_BodyInfo  ->+                      T_BodyInfos  ->+                      T_BodyInfos +sem_BodyInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 317 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 470 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 317 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 475 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 317 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 480 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 487 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_BodyInfos_Nil :: T_BodyInfos +sem_BodyInfos_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 495 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 500 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- CaseOffsets -------------------------------------------------+-- cata+sem_CaseOffsets :: CaseOffsets  ->+                   T_CaseOffsets +sem_CaseOffsets list  =+    (Prelude.foldr sem_CaseOffsets_Cons sem_CaseOffsets_Nil list )+-- semantic domain+type T_CaseOffsets  = ( Int,Builder)+sem_CaseOffsets_Cons :: Word32 ->+                        T_CaseOffsets  ->+                        T_CaseOffsets +sem_CaseOffsets_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 5 "src/PrettyInstr.ag" #-}+                 _tlIcount+                 {-# LINE 520 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 5 "src/PrettyInstr.ag" #-}+                  (+1)+                  {-# LINE 525 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 5 "src/PrettyInstr.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 530 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (({-# LINE 187 "src/PrettyInstr.ag" #-}+                    s24 hd_ ## _tlIoutput+                    {-# LINE 535 "src/PrettyCode.hs" #-}+                    )) of+             { _lhsOoutput | _lhsOoutput `seq` (True) ->+             ( _lhsOcount,_lhsOoutput) }) }) }) }) })+sem_CaseOffsets_Nil :: T_CaseOffsets +sem_CaseOffsets_Nil  =+    (case (({-# LINE 4 "src/PrettyInstr.ag" #-}+            0+            {-# LINE 543 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 548 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- ClassInfo ---------------------------------------------------+-- cata+sem_ClassInfo :: ClassInfo  ->+                 T_ClassInfo +sem_ClassInfo (ClassInfo_Info _con _traits )  =+    (sem_ClassInfo_Info _con (sem_Traits _traits ) )+-- semantic domain+type T_ClassInfo  = ( Builder)+sem_ClassInfo_Info :: Word32 ->+                      T_Traits  ->+                      T_ClassInfo +sem_ClassInfo_Info con_ traits_  =+    (case (traits_ ) of+     { ( _traitsIcount,_traitsIoutput) | True ->+         (case (({-# LINE 514 "src/PrettyCode.ag" #-}+                 u30 con_ ## u30size _traitsIcount ## _traitsIoutput+                 {-# LINE 568 "src/PrettyCode.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }) })+-- ClassInfos --------------------------------------------------+-- cata+sem_ClassInfos :: ClassInfos  ->+                  T_ClassInfos +sem_ClassInfos list  =+    (Prelude.foldr sem_ClassInfos_Cons sem_ClassInfos_Nil (Prelude.map sem_ClassInfo list) )+-- semantic domain+type T_ClassInfos  = ( Int,Builder)+sem_ClassInfos_Cons :: T_ClassInfo  ->+                       T_ClassInfos  ->+                       T_ClassInfos +sem_ClassInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 315 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 588 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 315 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 593 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 315 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 598 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 605 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_ClassInfos_Nil :: T_ClassInfos +sem_ClassInfos_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 613 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 618 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- DebugType ---------------------------------------------------+-- cata+sem_DebugType :: DebugType  ->+                 T_DebugType +sem_DebugType (DebugType_Local )  =+    (sem_DebugType_Local )+-- semantic domain+type T_DebugType  = ( Builder)+sem_DebugType_Local :: T_DebugType +sem_DebugType_Local  =+    (case (({-# LINE 184 "src/PrettyInstr.ag" #-}+            u8 0x01+            {-# LINE 634 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- Exception ---------------------------------------------------+-- cata+sem_Exception :: Exception  ->+                 T_Exception +sem_Exception (Exception_Info _from _to _target _tp _name )  =+    (sem_Exception_Info _from _to _target _tp _name )+-- semantic domain+type T_Exception  = ( Builder)+sem_Exception_Info :: Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      T_Exception +sem_Exception_Info from_ to_ target_ tp_ name_  =+    (case (({-# LINE 532 "src/PrettyCode.ag" #-}+            u30 from_ ## u30 to_ ## u30 target_ ## u30 tp_ ## u30 name_+            {-# LINE 655 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- Exceptions --------------------------------------------------+-- cata+sem_Exceptions :: Exceptions  ->+                  T_Exceptions +sem_Exceptions list  =+    (Prelude.foldr sem_Exceptions_Cons sem_Exceptions_Nil (Prelude.map sem_Exception list) )+-- semantic domain+type T_Exceptions  = ( Int,Builder)+sem_Exceptions_Cons :: T_Exception  ->+                       T_Exceptions  ->+                       T_Exceptions +sem_Exceptions_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 333 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 675 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 333 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 680 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 333 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 685 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 692 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_Exceptions_Nil :: T_Exceptions +sem_Exceptions_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 700 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 705 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- InstanceFlag ------------------------------------------------+-- cata+sem_InstanceFlag :: InstanceFlag  ->+                    T_InstanceFlag +sem_InstanceFlag (InstanceFlag_ClassFinal )  =+    (sem_InstanceFlag_ClassFinal )+sem_InstanceFlag (InstanceFlag_ClassInterface )  =+    (sem_InstanceFlag_ClassInterface )+sem_InstanceFlag (InstanceFlag_ClassProtected )  =+    (sem_InstanceFlag_ClassProtected )+sem_InstanceFlag (InstanceFlag_ClassSealed )  =+    (sem_InstanceFlag_ClassSealed )+-- semantic domain+type T_InstanceFlag  = ( InstanceFlag ,Builder)+sem_InstanceFlag_ClassFinal :: T_InstanceFlag +sem_InstanceFlag_ClassFinal  =+    (case (({-# LINE 446 "src/PrettyCode.ag" #-}+            InstanceFlag_ClassFinal+            {-# LINE 727 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 446 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 732 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 737 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+sem_InstanceFlag_ClassInterface :: T_InstanceFlag +sem_InstanceFlag_ClassInterface  =+    (case (({-# LINE 446 "src/PrettyCode.ag" #-}+            InstanceFlag_ClassInterface+            {-# LINE 745 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 446 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 750 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 755 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+sem_InstanceFlag_ClassProtected :: T_InstanceFlag +sem_InstanceFlag_ClassProtected  =+    (case (({-# LINE 446 "src/PrettyCode.ag" #-}+            InstanceFlag_ClassProtected+            {-# LINE 763 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 446 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 768 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 773 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+sem_InstanceFlag_ClassSealed :: T_InstanceFlag +sem_InstanceFlag_ClassSealed  =+    (case (({-# LINE 446 "src/PrettyCode.ag" #-}+            InstanceFlag_ClassSealed+            {-# LINE 781 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 446 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 786 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 791 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+-- InstanceFlags -----------------------------------------------+-- cata+sem_InstanceFlags :: InstanceFlags  ->+                     T_InstanceFlags +sem_InstanceFlags list  =+    (Prelude.foldr sem_InstanceFlags_Cons sem_InstanceFlags_Nil (Prelude.map sem_InstanceFlag list) )+-- semantic domain+type T_InstanceFlags  = ( InstanceFlags ,Builder)+sem_InstanceFlags_Cons :: T_InstanceFlag  ->+                          T_InstanceFlags  ->+                          T_InstanceFlags +sem_InstanceFlags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIflags,_tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIflags,_hdIoutput) | True ->+              (case (({-# LINE 446 "src/PrettyCode.ag" #-}+                      (:) _hdIflags _tlIflags+                      {-# LINE 813 "src/PrettyCode.hs" #-}+                      )) of+               { _flags | _flags `seq` (True) ->+               (case (({-# LINE 446 "src/PrettyCode.ag" #-}+                       _flags+                       {-# LINE 818 "src/PrettyCode.hs" #-}+                       )) of+                { _lhsOflags | _lhsOflags `seq` (True) ->+                (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                        _hdIoutput ## _tlIoutput+                        {-# LINE 823 "src/PrettyCode.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOflags,_lhsOoutput) }) }) }) }) })+sem_InstanceFlags_Nil :: T_InstanceFlags +sem_InstanceFlags_Nil  =+    (case (({-# LINE 446 "src/PrettyCode.ag" #-}+            []+            {-# LINE 831 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 446 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 836 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 841 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+-- InstanceInfo ------------------------------------------------+-- cata+sem_InstanceInfo :: InstanceInfo  ->+                    T_InstanceInfo +sem_InstanceInfo (InstanceInfo_Info _name _super _flags _protectedNs _interfaces _constructor _traits )  =+    (sem_InstanceInfo_Info _name _super (sem_InstanceFlags _flags ) _protectedNs (sem_Interfaces _interfaces ) _constructor (sem_Traits _traits ) )+-- semantic domain+type T_InstanceInfo  = ( Builder)+sem_InstanceInfo_Info :: Word32 ->+                         Word32 ->+                         T_InstanceFlags  ->+                         Word32 ->+                         T_Interfaces  ->+                         Word32 ->+                         T_Traits  ->+                         T_InstanceInfo +sem_InstanceInfo_Info name_ super_ flags_ protectedNs_ interfaces_ constructor_ traits_  =+    (case (flags_ ) of+     { ( _flagsIflags,_flagsIoutput) | True ->+         (case (({-# LINE 452 "src/PrettyCode.ag" #-}+                 if InstanceFlag_ClassProtected `elem` _flagsIflags+                 then u30 protectedNs_+                 else empty+                 {-# LINE 868 "src/PrettyCode.hs" #-}+                 )) of+          { _prot | _prot `seq` (True) ->+          (case (traits_ ) of+           { ( _traitsIcount,_traitsIoutput) | True ->+               (case (interfaces_ ) of+                { ( _interfacesIcount,_interfacesIoutput) | True ->+                    (case (({-# LINE 449 "src/PrettyCode.ag" #-}+                            u30 name_ ## u30 super_ ## u8 (mergeInstanceFlags _flagsIflags) ## _prot     ##+                            u30size _interfacesIcount ## _interfacesIoutput ## u30 constructor_ ##+                            u30size _traitsIcount ## _traitsIoutput+                            {-# LINE 879 "src/PrettyCode.hs" #-}+                            )) of+                     { _lhsOoutput | _lhsOoutput `seq` (True) ->+                     ( _lhsOoutput) }) }) }) }) })+-- InstanceInfos -----------------------------------------------+-- cata+sem_InstanceInfos :: InstanceInfos  ->+                     T_InstanceInfos +sem_InstanceInfos list  =+    (Prelude.foldr sem_InstanceInfos_Cons sem_InstanceInfos_Nil (Prelude.map sem_InstanceInfo list) )+-- semantic domain+type T_InstanceInfos  = ( Int,Builder)+sem_InstanceInfos_Cons :: T_InstanceInfo  ->+                          T_InstanceInfos  ->+                          T_InstanceInfos +sem_InstanceInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 314 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 899 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 314 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 904 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 314 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 909 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 916 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_InstanceInfos_Nil :: T_InstanceInfos +sem_InstanceInfos_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 924 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 929 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- Instruction -------------------------------------------------+-- cata+sem_Instruction :: Instruction  ->+                   T_Instruction +sem_Instruction (Instruction_Add )  =+    (sem_Instruction_Add )+sem_Instruction (Instruction_Add_d )  =+    (sem_Instruction_Add_d )+sem_Instruction (Instruction_Add_i )  =+    (sem_Instruction_Add_i )+sem_Instruction (Instruction_ApplyType _name )  =+    (sem_Instruction_ApplyType _name )+sem_Instruction (Instruction_AsType _name )  =+    (sem_Instruction_AsType _name )+sem_Instruction (Instruction_AsTypeLate )  =+    (sem_Instruction_AsTypeLate )+sem_Instruction (Instruction_BitAnd )  =+    (sem_Instruction_BitAnd )+sem_Instruction (Instruction_BitNot )  =+    (sem_Instruction_BitNot )+sem_Instruction (Instruction_BitOr )  =+    (sem_Instruction_BitOr )+sem_Instruction (Instruction_BitXor )  =+    (sem_Instruction_BitXor )+sem_Instruction (Instruction_BreakLine _line )  =+    (sem_Instruction_BreakLine _line )+sem_Instruction (Instruction_Breakpoint )  =+    (sem_Instruction_Breakpoint )+sem_Instruction (Instruction_Call _argCount )  =+    (sem_Instruction_Call _argCount )+sem_Instruction (Instruction_CallInterface _name _argCount )  =+    (sem_Instruction_CallInterface _name _argCount )+sem_Instruction (Instruction_CallMethod _index _argCount )  =+    (sem_Instruction_CallMethod _index _argCount )+sem_Instruction (Instruction_CallProp _name _argCount )  =+    (sem_Instruction_CallProp _name _argCount )+sem_Instruction (Instruction_CallPropLex _name _argCount )  =+    (sem_Instruction_CallPropLex _name _argCount )+sem_Instruction (Instruction_CallPropVoid _name _argCount )  =+    (sem_Instruction_CallPropVoid _name _argCount )+sem_Instruction (Instruction_CallStatic _method _argCount )  =+    (sem_Instruction_CallStatic _method _argCount )+sem_Instruction (Instruction_CallSuper _name _argCount )  =+    (sem_Instruction_CallSuper _name _argCount )+sem_Instruction (Instruction_CallSuperId )  =+    (sem_Instruction_CallSuperId )+sem_Instruction (Instruction_CallSuperVoid _name _argCount )  =+    (sem_Instruction_CallSuperVoid _name _argCount )+sem_Instruction (Instruction_CheckFilter )  =+    (sem_Instruction_CheckFilter )+sem_Instruction (Instruction_Coerce _name )  =+    (sem_Instruction_Coerce _name )+sem_Instruction (Instruction_Coerce_a )  =+    (sem_Instruction_Coerce_a )+sem_Instruction (Instruction_Coerce_b )  =+    (sem_Instruction_Coerce_b )+sem_Instruction (Instruction_Coerce_d )  =+    (sem_Instruction_Coerce_d )+sem_Instruction (Instruction_Coerce_i )  =+    (sem_Instruction_Coerce_i )+sem_Instruction (Instruction_Coerce_o )  =+    (sem_Instruction_Coerce_o )+sem_Instruction (Instruction_Coerce_s )  =+    (sem_Instruction_Coerce_s )+sem_Instruction (Instruction_Coerce_u )  =+    (sem_Instruction_Coerce_u )+sem_Instruction (Instruction_Concat )  =+    (sem_Instruction_Concat )+sem_Instruction (Instruction_Construct _argCount )  =+    (sem_Instruction_Construct _argCount )+sem_Instruction (Instruction_ConstructProp _name _argCount )  =+    (sem_Instruction_ConstructProp _name _argCount )+sem_Instruction (Instruction_ConstructSuper _argCount )  =+    (sem_Instruction_ConstructSuper _argCount )+sem_Instruction (Instruction_Convert_b )  =+    (sem_Instruction_Convert_b )+sem_Instruction (Instruction_Convert_d )  =+    (sem_Instruction_Convert_d )+sem_Instruction (Instruction_Convert_i )  =+    (sem_Instruction_Convert_i )+sem_Instruction (Instruction_Convert_o )  =+    (sem_Instruction_Convert_o )+sem_Instruction (Instruction_Convert_s )  =+    (sem_Instruction_Convert_s )+sem_Instruction (Instruction_Convert_u )  =+    (sem_Instruction_Convert_u )+sem_Instruction (Instruction_Debug _tp _name _reg _extra )  =+    (sem_Instruction_Debug (sem_DebugType _tp ) _name _reg _extra )+sem_Instruction (Instruction_DebugFile _name )  =+    (sem_Instruction_DebugFile _name )+sem_Instruction (Instruction_DebugLine _line )  =+    (sem_Instruction_DebugLine _line )+sem_Instruction (Instruction_DecLocal _reg )  =+    (sem_Instruction_DecLocal _reg )+sem_Instruction (Instruction_DecLocal_i _reg )  =+    (sem_Instruction_DecLocal_i _reg )+sem_Instruction (Instruction_Decrement )  =+    (sem_Instruction_Decrement )+sem_Instruction (Instruction_Decrement_i )  =+    (sem_Instruction_Decrement_i )+sem_Instruction (Instruction_DeleteProperty _name )  =+    (sem_Instruction_DeleteProperty _name )+sem_Instruction (Instruction_DeletePropertyLate )  =+    (sem_Instruction_DeletePropertyLate )+sem_Instruction (Instruction_Divide )  =+    (sem_Instruction_Divide )+sem_Instruction (Instruction_Dup )  =+    (sem_Instruction_Dup )+sem_Instruction (Instruction_Dxns _name )  =+    (sem_Instruction_Dxns _name )+sem_Instruction (Instruction_DxnsLate )  =+    (sem_Instruction_DxnsLate )+sem_Instruction (Instruction_Equals )  =+    (sem_Instruction_Equals )+sem_Instruction (Instruction_EscXAttr )  =+    (sem_Instruction_EscXAttr )+sem_Instruction (Instruction_EscXElem )  =+    (sem_Instruction_EscXElem )+sem_Instruction (Instruction_FindDef _name )  =+    (sem_Instruction_FindDef _name )+sem_Instruction (Instruction_FindPropStrict _name )  =+    (sem_Instruction_FindPropStrict _name )+sem_Instruction (Instruction_FindProperty _name )  =+    (sem_Instruction_FindProperty _name )+sem_Instruction (Instruction_FindPropertyGlobal _name )  =+    (sem_Instruction_FindPropertyGlobal _name )+sem_Instruction (Instruction_FindPropertyGlobalStrict _name )  =+    (sem_Instruction_FindPropertyGlobalStrict _name )+sem_Instruction (Instruction_GetDescendants _name )  =+    (sem_Instruction_GetDescendants _name )+sem_Instruction (Instruction_GetGlobalScope )  =+    (sem_Instruction_GetGlobalScope )+sem_Instruction (Instruction_GetGlobalSlot _slot )  =+    (sem_Instruction_GetGlobalSlot _slot )+sem_Instruction (Instruction_GetLex _name )  =+    (sem_Instruction_GetLex _name )+sem_Instruction (Instruction_GetLocal _reg )  =+    (sem_Instruction_GetLocal _reg )+sem_Instruction (Instruction_GetLocal0 )  =+    (sem_Instruction_GetLocal0 )+sem_Instruction (Instruction_GetLocal1 )  =+    (sem_Instruction_GetLocal1 )+sem_Instruction (Instruction_GetLocal2 )  =+    (sem_Instruction_GetLocal2 )+sem_Instruction (Instruction_GetLocal3 )  =+    (sem_Instruction_GetLocal3 )+sem_Instruction (Instruction_GetOuterScope _name )  =+    (sem_Instruction_GetOuterScope _name )+sem_Instruction (Instruction_GetProperty _name )  =+    (sem_Instruction_GetProperty _name )+sem_Instruction (Instruction_GetScopeObject _index )  =+    (sem_Instruction_GetScopeObject _index )+sem_Instruction (Instruction_GetSlot _slot )  =+    (sem_Instruction_GetSlot _slot )+sem_Instruction (Instruction_GetSuper _name )  =+    (sem_Instruction_GetSuper _name )+sem_Instruction (Instruction_GreaterEquals )  =+    (sem_Instruction_GreaterEquals )+sem_Instruction (Instruction_GreaterThan )  =+    (sem_Instruction_GreaterThan )+sem_Instruction (Instruction_HasNext )  =+    (sem_Instruction_HasNext )+sem_Instruction (Instruction_HasNext2 _objectReg _indexReg )  =+    (sem_Instruction_HasNext2 _objectReg _indexReg )+sem_Instruction (Instruction_IfEq _offset )  =+    (sem_Instruction_IfEq _offset )+sem_Instruction (Instruction_IfFalse _offset )  =+    (sem_Instruction_IfFalse _offset )+sem_Instruction (Instruction_IfGe _offset )  =+    (sem_Instruction_IfGe _offset )+sem_Instruction (Instruction_IfGt _offset )  =+    (sem_Instruction_IfGt _offset )+sem_Instruction (Instruction_IfLe _offset )  =+    (sem_Instruction_IfLe _offset )+sem_Instruction (Instruction_IfLt _offset )  =+    (sem_Instruction_IfLt _offset )+sem_Instruction (Instruction_IfNGe _offset )  =+    (sem_Instruction_IfNGe _offset )+sem_Instruction (Instruction_IfNGt _offset )  =+    (sem_Instruction_IfNGt _offset )+sem_Instruction (Instruction_IfNLe _offset )  =+    (sem_Instruction_IfNLe _offset )+sem_Instruction (Instruction_IfNLt _offset )  =+    (sem_Instruction_IfNLt _offset )+sem_Instruction (Instruction_IfNe _offset )  =+    (sem_Instruction_IfNe _offset )+sem_Instruction (Instruction_IfStrictEq _offset )  =+    (sem_Instruction_IfStrictEq _offset )+sem_Instruction (Instruction_IfStrictNe _offset )  =+    (sem_Instruction_IfStrictNe _offset )+sem_Instruction (Instruction_IfTrue _offset )  =+    (sem_Instruction_IfTrue _offset )+sem_Instruction (Instruction_In )  =+    (sem_Instruction_In )+sem_Instruction (Instruction_IncLocal _reg )  =+    (sem_Instruction_IncLocal _reg )+sem_Instruction (Instruction_IncLocal_i _reg )  =+    (sem_Instruction_IncLocal_i _reg )+sem_Instruction (Instruction_Increment )  =+    (sem_Instruction_Increment )+sem_Instruction (Instruction_Increment_i )  =+    (sem_Instruction_Increment_i )+sem_Instruction (Instruction_InitProperty _name )  =+    (sem_Instruction_InitProperty _name )+sem_Instruction (Instruction_InstanceOf )  =+    (sem_Instruction_InstanceOf )+sem_Instruction (Instruction_IsType _name )  =+    (sem_Instruction_IsType _name )+sem_Instruction (Instruction_IsTypeLate )  =+    (sem_Instruction_IsTypeLate )+sem_Instruction (Instruction_Jump _offset )  =+    (sem_Instruction_Jump _offset )+sem_Instruction (Instruction_Kill _reg )  =+    (sem_Instruction_Kill _reg )+sem_Instruction (Instruction_Label )  =+    (sem_Instruction_Label )+sem_Instruction (Instruction_LessEquals )  =+    (sem_Instruction_LessEquals )+sem_Instruction (Instruction_LessThan )  =+    (sem_Instruction_LessThan )+sem_Instruction (Instruction_LoadFloat32 )  =+    (sem_Instruction_LoadFloat32 )+sem_Instruction (Instruction_LoadFloat64 )  =+    (sem_Instruction_LoadFloat64 )+sem_Instruction (Instruction_LoadIndirect16 )  =+    (sem_Instruction_LoadIndirect16 )+sem_Instruction (Instruction_LoadIndirect32 )  =+    (sem_Instruction_LoadIndirect32 )+sem_Instruction (Instruction_LoadIndirect8 )  =+    (sem_Instruction_LoadIndirect8 )+sem_Instruction (Instruction_Location _index )  =+    (sem_Instruction_Location _index )+sem_Instruction (Instruction_LookupSwitch _defaultOffset _caseOffsets )  =+    (sem_Instruction_LookupSwitch _defaultOffset (sem_CaseOffsets _caseOffsets ) )+sem_Instruction (Instruction_Lshift )  =+    (sem_Instruction_Lshift )+sem_Instruction (Instruction_Modulo )  =+    (sem_Instruction_Modulo )+sem_Instruction (Instruction_Multiply )  =+    (sem_Instruction_Multiply )+sem_Instruction (Instruction_Multiply_i )  =+    (sem_Instruction_Multiply_i )+sem_Instruction (Instruction_Negate )  =+    (sem_Instruction_Negate )+sem_Instruction (Instruction_Negate_i )  =+    (sem_Instruction_Negate_i )+sem_Instruction (Instruction_NewActivation )  =+    (sem_Instruction_NewActivation )+sem_Instruction (Instruction_NewArray _argCount )  =+    (sem_Instruction_NewArray _argCount )+sem_Instruction (Instruction_NewCatch _exception )  =+    (sem_Instruction_NewCatch _exception )+sem_Instruction (Instruction_NewClass _class )  =+    (sem_Instruction_NewClass _class )+sem_Instruction (Instruction_NewFunction _method )  =+    (sem_Instruction_NewFunction _method )+sem_Instruction (Instruction_NewObject _argCount )  =+    (sem_Instruction_NewObject _argCount )+sem_Instruction (Instruction_NextName )  =+    (sem_Instruction_NextName )+sem_Instruction (Instruction_NextValue )  =+    (sem_Instruction_NextValue )+sem_Instruction (Instruction_Nop )  =+    (sem_Instruction_Nop )+sem_Instruction (Instruction_Not )  =+    (sem_Instruction_Not )+sem_Instruction (Instruction_Pop )  =+    (sem_Instruction_Pop )+sem_Instruction (Instruction_PopScope )  =+    (sem_Instruction_PopScope )+sem_Instruction (Instruction_PushByte _val )  =+    (sem_Instruction_PushByte _val )+sem_Instruction (Instruction_PushDouble _name )  =+    (sem_Instruction_PushDouble _name )+sem_Instruction (Instruction_PushFalse )  =+    (sem_Instruction_PushFalse )+sem_Instruction (Instruction_PushInt _name )  =+    (sem_Instruction_PushInt _name )+sem_Instruction (Instruction_PushNaN )  =+    (sem_Instruction_PushNaN )+sem_Instruction (Instruction_PushNamespace _name )  =+    (sem_Instruction_PushNamespace _name )+sem_Instruction (Instruction_PushNull )  =+    (sem_Instruction_PushNull )+sem_Instruction (Instruction_PushScope )  =+    (sem_Instruction_PushScope )+sem_Instruction (Instruction_PushShort _val )  =+    (sem_Instruction_PushShort _val )+sem_Instruction (Instruction_PushString _name )  =+    (sem_Instruction_PushString _name )+sem_Instruction (Instruction_PushTrue )  =+    (sem_Instruction_PushTrue )+sem_Instruction (Instruction_PushUInt _name )  =+    (sem_Instruction_PushUInt _name )+sem_Instruction (Instruction_PushUndefined )  =+    (sem_Instruction_PushUndefined )+sem_Instruction (Instruction_PushWith )  =+    (sem_Instruction_PushWith )+sem_Instruction (Instruction_ReturnValue )  =+    (sem_Instruction_ReturnValue )+sem_Instruction (Instruction_ReturnVoid )  =+    (sem_Instruction_ReturnVoid )+sem_Instruction (Instruction_Rshift )  =+    (sem_Instruction_Rshift )+sem_Instruction (Instruction_SetGlobalSlot _slot )  =+    (sem_Instruction_SetGlobalSlot _slot )+sem_Instruction (Instruction_SetLocal _reg )  =+    (sem_Instruction_SetLocal _reg )+sem_Instruction (Instruction_SetLocal0 )  =+    (sem_Instruction_SetLocal0 )+sem_Instruction (Instruction_SetLocal1 )  =+    (sem_Instruction_SetLocal1 )+sem_Instruction (Instruction_SetLocal2 )  =+    (sem_Instruction_SetLocal2 )+sem_Instruction (Instruction_SetLocal3 )  =+    (sem_Instruction_SetLocal3 )+sem_Instruction (Instruction_SetProperty _name )  =+    (sem_Instruction_SetProperty _name )+sem_Instruction (Instruction_SetPropertyLate )  =+    (sem_Instruction_SetPropertyLate )+sem_Instruction (Instruction_SetSlot _slot )  =+    (sem_Instruction_SetSlot _slot )+sem_Instruction (Instruction_SetSuper _name )  =+    (sem_Instruction_SetSuper _name )+sem_Instruction (Instruction_SignExtend1 )  =+    (sem_Instruction_SignExtend1 )+sem_Instruction (Instruction_SignExtend16 )  =+    (sem_Instruction_SignExtend16 )+sem_Instruction (Instruction_SignExtend8 )  =+    (sem_Instruction_SignExtend8 )+sem_Instruction (Instruction_StoreFloat32 )  =+    (sem_Instruction_StoreFloat32 )+sem_Instruction (Instruction_StoreFloat64 )  =+    (sem_Instruction_StoreFloat64 )+sem_Instruction (Instruction_StoreIndirect16 )  =+    (sem_Instruction_StoreIndirect16 )+sem_Instruction (Instruction_StoreIndirect32 )  =+    (sem_Instruction_StoreIndirect32 )+sem_Instruction (Instruction_StoreIndirect8 )  =+    (sem_Instruction_StoreIndirect8 )+sem_Instruction (Instruction_StrictEquals )  =+    (sem_Instruction_StrictEquals )+sem_Instruction (Instruction_Substract )  =+    (sem_Instruction_Substract )+sem_Instruction (Instruction_Substract_i )  =+    (sem_Instruction_Substract_i )+sem_Instruction (Instruction_Swap )  =+    (sem_Instruction_Swap )+sem_Instruction (Instruction_Throw )  =+    (sem_Instruction_Throw )+sem_Instruction (Instruction_Timestamp )  =+    (sem_Instruction_Timestamp )+sem_Instruction (Instruction_TypeOf )  =+    (sem_Instruction_TypeOf )+sem_Instruction (Instruction_Urshift )  =+    (sem_Instruction_Urshift )+-- semantic domain+type T_Instruction  = ( Builder)+sem_Instruction_Add :: T_Instruction +sem_Instruction_Add  =+    (case (({-# LINE 8 "src/PrettyInstr.ag" #-}+            u8 0xA0+            {-# LINE 1295 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Add_d :: T_Instruction +sem_Instruction_Add_d  =+    (case (({-# LINE 10 "src/PrettyInstr.ag" #-}+            u8 0x9B+            {-# LINE 1303 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Add_i :: T_Instruction +sem_Instruction_Add_i  =+    (case (({-# LINE 9 "src/PrettyInstr.ag" #-}+            u8 0xC5+            {-# LINE 1311 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_ApplyType :: Word32 ->+                             T_Instruction +sem_Instruction_ApplyType name_  =+    (case (({-# LINE 11 "src/PrettyInstr.ag" #-}+            u8 0x53 ## u30 name_+            {-# LINE 1320 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_AsType :: Word32 ->+                          T_Instruction +sem_Instruction_AsType name_  =+    (case (({-# LINE 12 "src/PrettyInstr.ag" #-}+            u8 0x86 ## u30 name_+            {-# LINE 1329 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_AsTypeLate :: T_Instruction +sem_Instruction_AsTypeLate  =+    (case (({-# LINE 13 "src/PrettyInstr.ag" #-}+            u8 0x87+            {-# LINE 1337 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_BitAnd :: T_Instruction +sem_Instruction_BitAnd  =+    (case (({-# LINE 14 "src/PrettyInstr.ag" #-}+            u8 0xA8+            {-# LINE 1345 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_BitNot :: T_Instruction +sem_Instruction_BitNot  =+    (case (({-# LINE 15 "src/PrettyInstr.ag" #-}+            u8 0x97+            {-# LINE 1353 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_BitOr :: T_Instruction +sem_Instruction_BitOr  =+    (case (({-# LINE 16 "src/PrettyInstr.ag" #-}+            u8 0xA9+            {-# LINE 1361 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_BitXor :: T_Instruction +sem_Instruction_BitXor  =+    (case (({-# LINE 17 "src/PrettyInstr.ag" #-}+            u8 0xAA+            {-# LINE 1369 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_BreakLine :: Word32 ->+                             T_Instruction +sem_Instruction_BreakLine line_  =+    (case (({-# LINE 19 "src/PrettyInstr.ag" #-}+            u8 0xF2 ## u30 line_+            {-# LINE 1378 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Breakpoint :: T_Instruction +sem_Instruction_Breakpoint  =+    (case (({-# LINE 18 "src/PrettyInstr.ag" #-}+            u8 0x01+            {-# LINE 1386 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Call :: Word32 ->+                        T_Instruction +sem_Instruction_Call argCount_  =+    (case (({-# LINE 20 "src/PrettyInstr.ag" #-}+            u8 0x41 ## u30 argCount_+            {-# LINE 1395 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallInterface :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallInterface name_ argCount_  =+    (case (({-# LINE 21 "src/PrettyInstr.ag" #-}+            u8 0x4D ## u30 name_ ## u30 argCount_+            {-# LINE 1405 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallMethod :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallMethod index_ argCount_  =+    (case (({-# LINE 22 "src/PrettyInstr.ag" #-}+            u8 0x43 ## u30 index_ ## u30 argCount_+            {-# LINE 1415 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallProp :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_CallProp name_ argCount_  =+    (case (({-# LINE 23 "src/PrettyInstr.ag" #-}+            u8 0x46 ## u30 name_ ## u30 argCount_+            {-# LINE 1425 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallPropLex :: Word32 ->+                               Word32 ->+                               T_Instruction +sem_Instruction_CallPropLex name_ argCount_  =+    (case (({-# LINE 24 "src/PrettyInstr.ag" #-}+            u8 0x4C ## u30 name_ ## u30 argCount_+            {-# LINE 1435 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallPropVoid :: Word32 ->+                                Word32 ->+                                T_Instruction +sem_Instruction_CallPropVoid name_ argCount_  =+    (case (({-# LINE 25 "src/PrettyInstr.ag" #-}+            u8 0x4F ## u30 name_ ## u30 argCount_+            {-# LINE 1445 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallStatic :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallStatic method_ argCount_  =+    (case (({-# LINE 26 "src/PrettyInstr.ag" #-}+            u8 0x44 ## u30 method_ ## u30 argCount_+            {-# LINE 1455 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallSuper :: Word32 ->+                             Word32 ->+                             T_Instruction +sem_Instruction_CallSuper name_ argCount_  =+    (case (({-# LINE 27 "src/PrettyInstr.ag" #-}+            u8 0x45 ## u30 name_ ## u30 argCount_+            {-# LINE 1465 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallSuperId :: T_Instruction +sem_Instruction_CallSuperId  =+    (case (({-# LINE 28 "src/PrettyInstr.ag" #-}+            u8 0x4B+            {-# LINE 1473 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CallSuperVoid :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallSuperVoid name_ argCount_  =+    (case (({-# LINE 29 "src/PrettyInstr.ag" #-}+            u8 0x4E ## u30 name_ ## u30 argCount_+            {-# LINE 1483 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_CheckFilter :: T_Instruction +sem_Instruction_CheckFilter  =+    (case (({-# LINE 30 "src/PrettyInstr.ag" #-}+            u8 0x78+            {-# LINE 1491 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce :: Word32 ->+                          T_Instruction +sem_Instruction_Coerce name_  =+    (case (({-# LINE 31 "src/PrettyInstr.ag" #-}+            u8 0x80 ## u30 name_+            {-# LINE 1500 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_a :: T_Instruction +sem_Instruction_Coerce_a  =+    (case (({-# LINE 33 "src/PrettyInstr.ag" #-}+            u8 0x82+            {-# LINE 1508 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_b :: T_Instruction +sem_Instruction_Coerce_b  =+    (case (({-# LINE 32 "src/PrettyInstr.ag" #-}+            u8 0x81+            {-# LINE 1516 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_d :: T_Instruction +sem_Instruction_Coerce_d  =+    (case (({-# LINE 35 "src/PrettyInstr.ag" #-}+            u8 0x84+            {-# LINE 1524 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_i :: T_Instruction +sem_Instruction_Coerce_i  =+    (case (({-# LINE 34 "src/PrettyInstr.ag" #-}+            u8 0x83+            {-# LINE 1532 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_o :: T_Instruction +sem_Instruction_Coerce_o  =+    (case (({-# LINE 38 "src/PrettyInstr.ag" #-}+            u8 0x89+            {-# LINE 1540 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_s :: T_Instruction +sem_Instruction_Coerce_s  =+    (case (({-# LINE 36 "src/PrettyInstr.ag" #-}+            u8 0x85+            {-# LINE 1548 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Coerce_u :: T_Instruction +sem_Instruction_Coerce_u  =+    (case (({-# LINE 37 "src/PrettyInstr.ag" #-}+            u8 0x88+            {-# LINE 1556 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Concat :: T_Instruction +sem_Instruction_Concat  =+    (case (({-# LINE 39 "src/PrettyInstr.ag" #-}+            u8 0x9A+            {-# LINE 1564 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Construct :: Word32 ->+                             T_Instruction +sem_Instruction_Construct argCount_  =+    (case (({-# LINE 40 "src/PrettyInstr.ag" #-}+            u8 0x42 ## u30 argCount_+            {-# LINE 1573 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_ConstructProp :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_ConstructProp name_ argCount_  =+    (case (({-# LINE 41 "src/PrettyInstr.ag" #-}+            u8 0x4A ## u30 name_ ## u30 argCount_+            {-# LINE 1583 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_ConstructSuper :: Word32 ->+                                  T_Instruction +sem_Instruction_ConstructSuper argCount_  =+    (case (({-# LINE 42 "src/PrettyInstr.ag" #-}+            u8 0x49 ## u30 argCount_+            {-# LINE 1592 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Convert_b :: T_Instruction +sem_Instruction_Convert_b  =+    (case (({-# LINE 43 "src/PrettyInstr.ag" #-}+            u8 0x76+            {-# LINE 1600 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Convert_d :: T_Instruction +sem_Instruction_Convert_d  =+    (case (({-# LINE 45 "src/PrettyInstr.ag" #-}+            u8 0x75+            {-# LINE 1608 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Convert_i :: T_Instruction +sem_Instruction_Convert_i  =+    (case (({-# LINE 44 "src/PrettyInstr.ag" #-}+            u8 0x73+            {-# LINE 1616 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Convert_o :: T_Instruction +sem_Instruction_Convert_o  =+    (case (({-# LINE 46 "src/PrettyInstr.ag" #-}+            u8 0x77+            {-# LINE 1624 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Convert_s :: T_Instruction +sem_Instruction_Convert_s  =+    (case (({-# LINE 48 "src/PrettyInstr.ag" #-}+            u8 0x70+            {-# LINE 1632 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Convert_u :: T_Instruction +sem_Instruction_Convert_u  =+    (case (({-# LINE 47 "src/PrettyInstr.ag" #-}+            u8 0x74+            {-# LINE 1640 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Debug :: T_DebugType  ->+                         Word32 ->+                         Word32 ->+                         Word32 ->+                         T_Instruction +sem_Instruction_Debug tp_ name_ reg_ extra_  =+    (case (tp_ ) of+     { ( _tpIoutput) | True ->+         (case (({-# LINE 49 "src/PrettyInstr.ag" #-}+                 u8 0xEF ## _tpIoutput ## u30 name_ ## u30 reg_ ## u30 extra_+                 {-# LINE 1654 "src/PrettyCode.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }) })+sem_Instruction_DebugFile :: Word32 ->+                             T_Instruction +sem_Instruction_DebugFile name_  =+    (case (({-# LINE 50 "src/PrettyInstr.ag" #-}+            u8 0xF1 ## u30 name_+            {-# LINE 1663 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_DebugLine :: Word32 ->+                             T_Instruction +sem_Instruction_DebugLine line_  =+    (case (({-# LINE 51 "src/PrettyInstr.ag" #-}+            u8 0xF0 ## u30 line_+            {-# LINE 1672 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_DecLocal :: Word32 ->+                            T_Instruction +sem_Instruction_DecLocal reg_  =+    (case (({-# LINE 52 "src/PrettyInstr.ag" #-}+            u8 0x94 ## u30 reg_+            {-# LINE 1681 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_DecLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_DecLocal_i reg_  =+    (case (({-# LINE 53 "src/PrettyInstr.ag" #-}+            u8 0xC3 ## u30 reg_+            {-# LINE 1690 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Decrement :: T_Instruction +sem_Instruction_Decrement  =+    (case (({-# LINE 54 "src/PrettyInstr.ag" #-}+            u8 0x93+            {-# LINE 1698 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Decrement_i :: T_Instruction +sem_Instruction_Decrement_i  =+    (case (({-# LINE 55 "src/PrettyInstr.ag" #-}+            u8 0xC1+            {-# LINE 1706 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_DeleteProperty :: Word32 ->+                                  T_Instruction +sem_Instruction_DeleteProperty name_  =+    (case (({-# LINE 56 "src/PrettyInstr.ag" #-}+            u8 0x6A ## u30 name_+            {-# LINE 1715 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_DeletePropertyLate :: T_Instruction +sem_Instruction_DeletePropertyLate  =+    (case (({-# LINE 57 "src/PrettyInstr.ag" #-}+            u8 0x6B+            {-# LINE 1723 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Divide :: T_Instruction +sem_Instruction_Divide  =+    (case (({-# LINE 58 "src/PrettyInstr.ag" #-}+            u8 0xA3+            {-# LINE 1731 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Dup :: T_Instruction +sem_Instruction_Dup  =+    (case (({-# LINE 59 "src/PrettyInstr.ag" #-}+            u8 0x2A+            {-# LINE 1739 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Dxns :: Word32 ->+                        T_Instruction +sem_Instruction_Dxns name_  =+    (case (({-# LINE 60 "src/PrettyInstr.ag" #-}+            u8 0x06 ## u30 name_+            {-# LINE 1748 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_DxnsLate :: T_Instruction +sem_Instruction_DxnsLate  =+    (case (({-# LINE 61 "src/PrettyInstr.ag" #-}+            u8 0x07+            {-# LINE 1756 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Equals :: T_Instruction +sem_Instruction_Equals  =+    (case (({-# LINE 62 "src/PrettyInstr.ag" #-}+            u8 0xAB+            {-# LINE 1764 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_EscXAttr :: T_Instruction +sem_Instruction_EscXAttr  =+    (case (({-# LINE 63 "src/PrettyInstr.ag" #-}+            u8 0x72+            {-# LINE 1772 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_EscXElem :: T_Instruction +sem_Instruction_EscXElem  =+    (case (({-# LINE 64 "src/PrettyInstr.ag" #-}+            u8 0x71+            {-# LINE 1780 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_FindDef :: Word32 ->+                           T_Instruction +sem_Instruction_FindDef name_  =+    (case (({-# LINE 65 "src/PrettyInstr.ag" #-}+            u8 0x5F ## u30 name_+            {-# LINE 1789 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_FindPropStrict :: Word32 ->+                                  T_Instruction +sem_Instruction_FindPropStrict name_  =+    (case (({-# LINE 69 "src/PrettyInstr.ag" #-}+            u8 0x5D ## u30 name_+            {-# LINE 1798 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_FindProperty :: Word32 ->+                                T_Instruction +sem_Instruction_FindProperty name_  =+    (case (({-# LINE 68 "src/PrettyInstr.ag" #-}+            u8 0x5E ## u30 name_+            {-# LINE 1807 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_FindPropertyGlobal :: Word32 ->+                                      T_Instruction +sem_Instruction_FindPropertyGlobal name_  =+    (case (({-# LINE 67 "src/PrettyInstr.ag" #-}+            u8 0x5C ## u30 name_+            {-# LINE 1816 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_FindPropertyGlobalStrict :: Word32 ->+                                            T_Instruction +sem_Instruction_FindPropertyGlobalStrict name_  =+    (case (({-# LINE 66 "src/PrettyInstr.ag" #-}+            u8 0x5B ## u30 name_+            {-# LINE 1825 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetDescendants :: Word32 ->+                                  T_Instruction +sem_Instruction_GetDescendants name_  =+    (case (({-# LINE 70 "src/PrettyInstr.ag" #-}+            u8 0x59 ## u30 name_+            {-# LINE 1834 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetGlobalScope :: T_Instruction +sem_Instruction_GetGlobalScope  =+    (case (({-# LINE 71 "src/PrettyInstr.ag" #-}+            u8 0x64+            {-# LINE 1842 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_GetGlobalSlot slot_  =+    (case (({-# LINE 72 "src/PrettyInstr.ag" #-}+            u8 0x6E ## u30 slot_+            {-# LINE 1851 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetLex :: Word32 ->+                          T_Instruction +sem_Instruction_GetLex name_  =+    (case (({-# LINE 73 "src/PrettyInstr.ag" #-}+            u8 0x60 ## u30 name_+            {-# LINE 1860 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_GetLocal reg_  =+    (case (({-# LINE 74 "src/PrettyInstr.ag" #-}+            u8 0x62 ## u30 reg_+            {-# LINE 1869 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetLocal0 :: T_Instruction +sem_Instruction_GetLocal0  =+    (case (({-# LINE 75 "src/PrettyInstr.ag" #-}+            u8 0xD0+            {-# LINE 1877 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetLocal1 :: T_Instruction +sem_Instruction_GetLocal1  =+    (case (({-# LINE 76 "src/PrettyInstr.ag" #-}+            u8 0xD1+            {-# LINE 1885 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetLocal2 :: T_Instruction +sem_Instruction_GetLocal2  =+    (case (({-# LINE 77 "src/PrettyInstr.ag" #-}+            u8 0xD2+            {-# LINE 1893 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetLocal3 :: T_Instruction +sem_Instruction_GetLocal3  =+    (case (({-# LINE 78 "src/PrettyInstr.ag" #-}+            u8 0xD3+            {-# LINE 1901 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetOuterScope :: Word32 ->+                                 T_Instruction +sem_Instruction_GetOuterScope name_  =+    (case (({-# LINE 79 "src/PrettyInstr.ag" #-}+            u8 0x67+            {-# LINE 1910 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_GetProperty name_  =+    (case (({-# LINE 80 "src/PrettyInstr.ag" #-}+            u8 0x66 ## u30 name_+            {-# LINE 1919 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetScopeObject :: Word8 ->+                                  T_Instruction +sem_Instruction_GetScopeObject index_  =+    (case (({-# LINE 81 "src/PrettyInstr.ag" #-}+            u8 0x65 ## u8 index_+            {-# LINE 1928 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_GetSlot slot_  =+    (case (({-# LINE 82 "src/PrettyInstr.ag" #-}+            u8 0x6C ## u30 slot_+            {-# LINE 1937 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_GetSuper name_  =+    (case (({-# LINE 83 "src/PrettyInstr.ag" #-}+            u8 0x04 ## u30 name_+            {-# LINE 1946 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GreaterEquals :: T_Instruction +sem_Instruction_GreaterEquals  =+    (case (({-# LINE 84 "src/PrettyInstr.ag" #-}+            u8 0xB0+            {-# LINE 1954 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_GreaterThan :: T_Instruction +sem_Instruction_GreaterThan  =+    (case (({-# LINE 85 "src/PrettyInstr.ag" #-}+            u8 0xAF+            {-# LINE 1962 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_HasNext :: T_Instruction +sem_Instruction_HasNext  =+    (case (({-# LINE 86 "src/PrettyInstr.ag" #-}+            u8 0x1F+            {-# LINE 1970 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_HasNext2 :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_HasNext2 objectReg_ indexReg_  =+    (case (({-# LINE 87 "src/PrettyInstr.ag" #-}+            u8 0x32 ## u30 objectReg_ ## u30 indexReg_+            {-# LINE 1980 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfEq :: Word32 ->+                        T_Instruction +sem_Instruction_IfEq offset_  =+    (case (({-# LINE 88 "src/PrettyInstr.ag" #-}+            u8 0x13 ## s24 offset_+            {-# LINE 1989 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfFalse :: Word32 ->+                           T_Instruction +sem_Instruction_IfFalse offset_  =+    (case (({-# LINE 89 "src/PrettyInstr.ag" #-}+            u8 0x12 ## s24 offset_+            {-# LINE 1998 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfGe :: Word32 ->+                        T_Instruction +sem_Instruction_IfGe offset_  =+    (case (({-# LINE 90 "src/PrettyInstr.ag" #-}+            u8 0x18 ## s24 offset_+            {-# LINE 2007 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfGt :: Word32 ->+                        T_Instruction +sem_Instruction_IfGt offset_  =+    (case (({-# LINE 91 "src/PrettyInstr.ag" #-}+            u8 0x17 ## s24 offset_+            {-# LINE 2016 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfLe :: Word32 ->+                        T_Instruction +sem_Instruction_IfLe offset_  =+    (case (({-# LINE 92 "src/PrettyInstr.ag" #-}+            u8 0x16 ## s24 offset_+            {-# LINE 2025 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfLt :: Word32 ->+                        T_Instruction +sem_Instruction_IfLt offset_  =+    (case (({-# LINE 93 "src/PrettyInstr.ag" #-}+            u8 0x15 ## s24 offset_+            {-# LINE 2034 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfNGe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGe offset_  =+    (case (({-# LINE 94 "src/PrettyInstr.ag" #-}+            u8 0x0F ## s24 offset_+            {-# LINE 2043 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfNGt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGt offset_  =+    (case (({-# LINE 95 "src/PrettyInstr.ag" #-}+            u8 0x0E ## s24 offset_+            {-# LINE 2052 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfNLe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLe offset_  =+    (case (({-# LINE 96 "src/PrettyInstr.ag" #-}+            u8 0x0D ## s24 offset_+            {-# LINE 2061 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfNLt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLt offset_  =+    (case (({-# LINE 97 "src/PrettyInstr.ag" #-}+            u8 0x0C ## s24 offset_+            {-# LINE 2070 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfNe :: Word32 ->+                        T_Instruction +sem_Instruction_IfNe offset_  =+    (case (({-# LINE 98 "src/PrettyInstr.ag" #-}+            u8 0x14 ## s24 offset_+            {-# LINE 2079 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfStrictEq :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictEq offset_  =+    (case (({-# LINE 99 "src/PrettyInstr.ag" #-}+            u8 0x19 ## s24 offset_+            {-# LINE 2088 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfStrictNe :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictNe offset_  =+    (case (({-# LINE 100 "src/PrettyInstr.ag" #-}+            u8 0x1A ## s24 offset_+            {-# LINE 2097 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IfTrue :: Word32 ->+                          T_Instruction +sem_Instruction_IfTrue offset_  =+    (case (({-# LINE 101 "src/PrettyInstr.ag" #-}+            u8 0x11 ## s24 offset_+            {-# LINE 2106 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_In :: T_Instruction +sem_Instruction_In  =+    (case (({-# LINE 102 "src/PrettyInstr.ag" #-}+            u8 0xB4+            {-# LINE 2114 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IncLocal :: Word32 ->+                            T_Instruction +sem_Instruction_IncLocal reg_  =+    (case (({-# LINE 103 "src/PrettyInstr.ag" #-}+            u8 0x92 ## u30 reg_+            {-# LINE 2123 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IncLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_IncLocal_i reg_  =+    (case (({-# LINE 104 "src/PrettyInstr.ag" #-}+            u8 0xC2 ## u30 reg_+            {-# LINE 2132 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Increment :: T_Instruction +sem_Instruction_Increment  =+    (case (({-# LINE 105 "src/PrettyInstr.ag" #-}+            u8 0x91+            {-# LINE 2140 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Increment_i :: T_Instruction +sem_Instruction_Increment_i  =+    (case (({-# LINE 106 "src/PrettyInstr.ag" #-}+            u8 0xC0+            {-# LINE 2148 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_InitProperty :: Word32 ->+                                T_Instruction +sem_Instruction_InitProperty name_  =+    (case (({-# LINE 107 "src/PrettyInstr.ag" #-}+            u8 0x68 ## u30 name_+            {-# LINE 2157 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_InstanceOf :: T_Instruction +sem_Instruction_InstanceOf  =+    (case (({-# LINE 108 "src/PrettyInstr.ag" #-}+            u8 0xB1+            {-# LINE 2165 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IsType :: Word32 ->+                          T_Instruction +sem_Instruction_IsType name_  =+    (case (({-# LINE 109 "src/PrettyInstr.ag" #-}+            u8 0xB2 ## u30 name_+            {-# LINE 2174 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_IsTypeLate :: T_Instruction +sem_Instruction_IsTypeLate  =+    (case (({-# LINE 110 "src/PrettyInstr.ag" #-}+            u8 0xB3+            {-# LINE 2182 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Jump :: Word32 ->+                        T_Instruction +sem_Instruction_Jump offset_  =+    (case (({-# LINE 111 "src/PrettyInstr.ag" #-}+            u8 0x10 ## s24 offset_+            {-# LINE 2191 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Kill :: Word32 ->+                        T_Instruction +sem_Instruction_Kill reg_  =+    (case (({-# LINE 112 "src/PrettyInstr.ag" #-}+            u8 0x08 ## u30 reg_+            {-# LINE 2200 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Label :: T_Instruction +sem_Instruction_Label  =+    (case (({-# LINE 113 "src/PrettyInstr.ag" #-}+            u8 0x09+            {-# LINE 2208 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LessEquals :: T_Instruction +sem_Instruction_LessEquals  =+    (case (({-# LINE 114 "src/PrettyInstr.ag" #-}+            u8 0xAE+            {-# LINE 2216 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LessThan :: T_Instruction +sem_Instruction_LessThan  =+    (case (({-# LINE 115 "src/PrettyInstr.ag" #-}+            u8 0xAD+            {-# LINE 2224 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LoadFloat32 :: T_Instruction +sem_Instruction_LoadFloat32  =+    (case (({-# LINE 116 "src/PrettyInstr.ag" #-}+            u8 0x38+            {-# LINE 2232 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LoadFloat64 :: T_Instruction +sem_Instruction_LoadFloat64  =+    (case (({-# LINE 117 "src/PrettyInstr.ag" #-}+            u8 0x39+            {-# LINE 2240 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LoadIndirect16 :: T_Instruction +sem_Instruction_LoadIndirect16  =+    (case (({-# LINE 119 "src/PrettyInstr.ag" #-}+            u8 0x36+            {-# LINE 2248 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LoadIndirect32 :: T_Instruction +sem_Instruction_LoadIndirect32  =+    (case (({-# LINE 120 "src/PrettyInstr.ag" #-}+            u8 0x37+            {-# LINE 2256 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LoadIndirect8 :: T_Instruction +sem_Instruction_LoadIndirect8  =+    (case (({-# LINE 118 "src/PrettyInstr.ag" #-}+            u8 0x35+            {-# LINE 2264 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Location :: Int ->+                            T_Instruction +sem_Instruction_Location index_  =+    (case (({-# LINE 529 "src/PrettyCode.ag" #-}+            mempty+            {-# LINE 2273 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_LookupSwitch :: Word32 ->+                                T_CaseOffsets  ->+                                T_Instruction +sem_Instruction_LookupSwitch defaultOffset_ caseOffsets_  =+    (case (caseOffsets_ ) of+     { ( _caseOffsetsIcount,_caseOffsetsIoutput) | True ->+         (case (({-# LINE 121 "src/PrettyInstr.ag" #-}+                 u8 0x1B ## s24 defaultOffset_ ## u30size (_caseOffsetsIcount - 1) ## _caseOffsetsIoutput+                 {-# LINE 2285 "src/PrettyCode.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }) })+sem_Instruction_Lshift :: T_Instruction +sem_Instruction_Lshift  =+    (case (({-# LINE 122 "src/PrettyInstr.ag" #-}+            u8 0xA5+            {-# LINE 2293 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Modulo :: T_Instruction +sem_Instruction_Modulo  =+    (case (({-# LINE 123 "src/PrettyInstr.ag" #-}+            u8 0xA4+            {-# LINE 2301 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Multiply :: T_Instruction +sem_Instruction_Multiply  =+    (case (({-# LINE 124 "src/PrettyInstr.ag" #-}+            u8 0xA2+            {-# LINE 2309 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Multiply_i :: T_Instruction +sem_Instruction_Multiply_i  =+    (case (({-# LINE 125 "src/PrettyInstr.ag" #-}+            u8 0xC7+            {-# LINE 2317 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Negate :: T_Instruction +sem_Instruction_Negate  =+    (case (({-# LINE 126 "src/PrettyInstr.ag" #-}+            u8 0x90+            {-# LINE 2325 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Negate_i :: T_Instruction +sem_Instruction_Negate_i  =+    (case (({-# LINE 127 "src/PrettyInstr.ag" #-}+            u8 0xC4+            {-# LINE 2333 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NewActivation :: T_Instruction +sem_Instruction_NewActivation  =+    (case (({-# LINE 128 "src/PrettyInstr.ag" #-}+            u8 0x57+            {-# LINE 2341 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NewArray :: Word32 ->+                            T_Instruction +sem_Instruction_NewArray argCount_  =+    (case (({-# LINE 129 "src/PrettyInstr.ag" #-}+            u8 0x56 ## u30 argCount_+            {-# LINE 2350 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NewCatch :: Word32 ->+                            T_Instruction +sem_Instruction_NewCatch exception_  =+    (case (({-# LINE 130 "src/PrettyInstr.ag" #-}+            u8 0x5A ## u30 exception_+            {-# LINE 2359 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NewClass :: Word32 ->+                            T_Instruction +sem_Instruction_NewClass class_  =+    (case (({-# LINE 131 "src/PrettyInstr.ag" #-}+            u8 0x58 ## u30 class_+            {-# LINE 2368 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NewFunction :: Word32 ->+                               T_Instruction +sem_Instruction_NewFunction method_  =+    (case (({-# LINE 132 "src/PrettyInstr.ag" #-}+            u8 0x40 ## u30 method_+            {-# LINE 2377 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NewObject :: Word32 ->+                             T_Instruction +sem_Instruction_NewObject argCount_  =+    (case (({-# LINE 133 "src/PrettyInstr.ag" #-}+            u8 0x55 ## u30 argCount_+            {-# LINE 2386 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NextName :: T_Instruction +sem_Instruction_NextName  =+    (case (({-# LINE 134 "src/PrettyInstr.ag" #-}+            u8 0x1E+            {-# LINE 2394 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_NextValue :: T_Instruction +sem_Instruction_NextValue  =+    (case (({-# LINE 135 "src/PrettyInstr.ag" #-}+            u8 0x23+            {-# LINE 2402 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Nop :: T_Instruction +sem_Instruction_Nop  =+    (case (({-# LINE 136 "src/PrettyInstr.ag" #-}+            u8 0x02+            {-# LINE 2410 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Not :: T_Instruction +sem_Instruction_Not  =+    (case (({-# LINE 137 "src/PrettyInstr.ag" #-}+            u8 0x96+            {-# LINE 2418 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Pop :: T_Instruction +sem_Instruction_Pop  =+    (case (({-# LINE 138 "src/PrettyInstr.ag" #-}+            u8 0x29+            {-# LINE 2426 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PopScope :: T_Instruction +sem_Instruction_PopScope  =+    (case (({-# LINE 139 "src/PrettyInstr.ag" #-}+            u8 0x1D+            {-# LINE 2434 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushByte :: Word8 ->+                            T_Instruction +sem_Instruction_PushByte val_  =+    (case (({-# LINE 140 "src/PrettyInstr.ag" #-}+            u8 0x24 ## u8 val_+            {-# LINE 2443 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushDouble :: Word32 ->+                              T_Instruction +sem_Instruction_PushDouble name_  =+    (case (({-# LINE 141 "src/PrettyInstr.ag" #-}+            u8 0x2F ## u30 name_+            {-# LINE 2452 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushFalse :: T_Instruction +sem_Instruction_PushFalse  =+    (case (({-# LINE 142 "src/PrettyInstr.ag" #-}+            u8 0x27+            {-# LINE 2460 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushInt :: Word32 ->+                           T_Instruction +sem_Instruction_PushInt name_  =+    (case (({-# LINE 143 "src/PrettyInstr.ag" #-}+            u8 0x2D ## u30 name_+            {-# LINE 2469 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushNaN :: T_Instruction +sem_Instruction_PushNaN  =+    (case (({-# LINE 145 "src/PrettyInstr.ag" #-}+            u8 0x28+            {-# LINE 2477 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushNamespace :: Word32 ->+                                 T_Instruction +sem_Instruction_PushNamespace name_  =+    (case (({-# LINE 144 "src/PrettyInstr.ag" #-}+            u8 0x31 ## u30 name_+            {-# LINE 2486 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushNull :: T_Instruction +sem_Instruction_PushNull  =+    (case (({-# LINE 146 "src/PrettyInstr.ag" #-}+            u8 0x20+            {-# LINE 2494 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushScope :: T_Instruction +sem_Instruction_PushScope  =+    (case (({-# LINE 147 "src/PrettyInstr.ag" #-}+            u8 0x30+            {-# LINE 2502 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushShort :: Word32 ->+                             T_Instruction +sem_Instruction_PushShort val_  =+    (case (({-# LINE 148 "src/PrettyInstr.ag" #-}+            u8 0x25 ## u30 val_+            {-# LINE 2511 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushString :: Word32 ->+                              T_Instruction +sem_Instruction_PushString name_  =+    (case (({-# LINE 149 "src/PrettyInstr.ag" #-}+            u8 0x2C ## u30 name_+            {-# LINE 2520 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushTrue :: T_Instruction +sem_Instruction_PushTrue  =+    (case (({-# LINE 150 "src/PrettyInstr.ag" #-}+            u8 0x26+            {-# LINE 2528 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushUInt :: Word32 ->+                            T_Instruction +sem_Instruction_PushUInt name_  =+    (case (({-# LINE 151 "src/PrettyInstr.ag" #-}+            u8 0x2E ## u30 name_+            {-# LINE 2537 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushUndefined :: T_Instruction +sem_Instruction_PushUndefined  =+    (case (({-# LINE 152 "src/PrettyInstr.ag" #-}+            u8 0x21+            {-# LINE 2545 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_PushWith :: T_Instruction +sem_Instruction_PushWith  =+    (case (({-# LINE 153 "src/PrettyInstr.ag" #-}+            u8 0x1C+            {-# LINE 2553 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_ReturnValue :: T_Instruction +sem_Instruction_ReturnValue  =+    (case (({-# LINE 154 "src/PrettyInstr.ag" #-}+            u8 0x48+            {-# LINE 2561 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_ReturnVoid :: T_Instruction +sem_Instruction_ReturnVoid  =+    (case (({-# LINE 155 "src/PrettyInstr.ag" #-}+            u8 0x47+            {-# LINE 2569 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Rshift :: T_Instruction +sem_Instruction_Rshift  =+    (case (({-# LINE 156 "src/PrettyInstr.ag" #-}+            u8 0xA6+            {-# LINE 2577 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_SetGlobalSlot slot_  =+    (case (({-# LINE 162 "src/PrettyInstr.ag" #-}+            u8 0x6F ## u30 slot_+            {-# LINE 2586 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_SetLocal reg_  =+    (case (({-# LINE 157 "src/PrettyInstr.ag" #-}+            u8 0x63 ## u30 reg_+            {-# LINE 2595 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetLocal0 :: T_Instruction +sem_Instruction_SetLocal0  =+    (case (({-# LINE 158 "src/PrettyInstr.ag" #-}+            u8 0xD4+            {-# LINE 2603 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetLocal1 :: T_Instruction +sem_Instruction_SetLocal1  =+    (case (({-# LINE 159 "src/PrettyInstr.ag" #-}+            u8 0xD5+            {-# LINE 2611 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetLocal2 :: T_Instruction +sem_Instruction_SetLocal2  =+    (case (({-# LINE 160 "src/PrettyInstr.ag" #-}+            u8 0xD6+            {-# LINE 2619 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetLocal3 :: T_Instruction +sem_Instruction_SetLocal3  =+    (case (({-# LINE 161 "src/PrettyInstr.ag" #-}+            u8 0xD7+            {-# LINE 2627 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_SetProperty name_  =+    (case (({-# LINE 163 "src/PrettyInstr.ag" #-}+            u8 0x61 ## u30 name_+            {-# LINE 2636 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetPropertyLate :: T_Instruction +sem_Instruction_SetPropertyLate  =+    (case (({-# LINE 164 "src/PrettyInstr.ag" #-}+            u8 0x69+            {-# LINE 2644 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_SetSlot slot_  =+    (case (({-# LINE 165 "src/PrettyInstr.ag" #-}+            u8 0x6D ## u30 slot_+            {-# LINE 2653 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_SetSuper name_  =+    (case (({-# LINE 166 "src/PrettyInstr.ag" #-}+            u8 0x05 ## u30 name_+            {-# LINE 2662 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SignExtend1 :: T_Instruction +sem_Instruction_SignExtend1  =+    (case (({-# LINE 167 "src/PrettyInstr.ag" #-}+            u8 0x50+            {-# LINE 2670 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SignExtend16 :: T_Instruction +sem_Instruction_SignExtend16  =+    (case (({-# LINE 169 "src/PrettyInstr.ag" #-}+            u8 0x52+            {-# LINE 2678 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_SignExtend8 :: T_Instruction +sem_Instruction_SignExtend8  =+    (case (({-# LINE 168 "src/PrettyInstr.ag" #-}+            u8 0x51+            {-# LINE 2686 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_StoreFloat32 :: T_Instruction +sem_Instruction_StoreFloat32  =+    (case (({-# LINE 170 "src/PrettyInstr.ag" #-}+            u8 0x3D+            {-# LINE 2694 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_StoreFloat64 :: T_Instruction +sem_Instruction_StoreFloat64  =+    (case (({-# LINE 171 "src/PrettyInstr.ag" #-}+            u8 0x3E+            {-# LINE 2702 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_StoreIndirect16 :: T_Instruction +sem_Instruction_StoreIndirect16  =+    (case (({-# LINE 173 "src/PrettyInstr.ag" #-}+            u8 0x3B+            {-# LINE 2710 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_StoreIndirect32 :: T_Instruction +sem_Instruction_StoreIndirect32  =+    (case (({-# LINE 174 "src/PrettyInstr.ag" #-}+            u8 0x3C+            {-# LINE 2718 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_StoreIndirect8 :: T_Instruction +sem_Instruction_StoreIndirect8  =+    (case (({-# LINE 172 "src/PrettyInstr.ag" #-}+            u8 0x3A+            {-# LINE 2726 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_StrictEquals :: T_Instruction +sem_Instruction_StrictEquals  =+    (case (({-# LINE 175 "src/PrettyInstr.ag" #-}+            u8 0xAC+            {-# LINE 2734 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Substract :: T_Instruction +sem_Instruction_Substract  =+    (case (({-# LINE 176 "src/PrettyInstr.ag" #-}+            u8 0xA1+            {-# LINE 2742 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Substract_i :: T_Instruction +sem_Instruction_Substract_i  =+    (case (({-# LINE 177 "src/PrettyInstr.ag" #-}+            u8 0xC6+            {-# LINE 2750 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Swap :: T_Instruction +sem_Instruction_Swap  =+    (case (({-# LINE 178 "src/PrettyInstr.ag" #-}+            u8 0x2B+            {-# LINE 2758 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Throw :: T_Instruction +sem_Instruction_Throw  =+    (case (({-# LINE 179 "src/PrettyInstr.ag" #-}+            u8 0x03+            {-# LINE 2766 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Timestamp :: T_Instruction +sem_Instruction_Timestamp  =+    (case (({-# LINE 180 "src/PrettyInstr.ag" #-}+            u8 0xF3+            {-# LINE 2774 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_TypeOf :: T_Instruction +sem_Instruction_TypeOf  =+    (case (({-# LINE 181 "src/PrettyInstr.ag" #-}+            u8 0x95+            {-# LINE 2782 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Instruction_Urshift :: T_Instruction +sem_Instruction_Urshift  =+    (case (({-# LINE 182 "src/PrettyInstr.ag" #-}+            u8 0xA7+            {-# LINE 2790 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- Instructions ------------------------------------------------+-- cata+sem_Instructions :: Instructions  ->+                    T_Instructions +sem_Instructions list  =+    (Prelude.foldr sem_Instructions_Cons sem_Instructions_Nil (Prelude.map sem_Instruction list) )+-- semantic domain+type T_Instructions  = ( Builder)+sem_Instructions_Cons :: T_Instruction  ->+                         T_Instructions  ->+                         T_Instructions +sem_Instructions_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                      _hdIoutput ## _tlIoutput+                      {-# LINE 2812 "src/PrettyCode.hs" #-}+                      )) of+               { _lhsOoutput | _lhsOoutput `seq` (True) ->+               ( _lhsOoutput) }) }) })+sem_Instructions_Nil :: T_Instructions +sem_Instructions_Nil  =+    (case (({-# LINE 181 "src/PrettyCode.ag" #-}+            mempty+            {-# LINE 2820 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- Interfaces --------------------------------------------------+-- cata+sem_Interfaces :: Interfaces  ->+                  T_Interfaces +sem_Interfaces list  =+    (Prelude.foldr sem_Interfaces_Cons sem_Interfaces_Nil list )+-- semantic domain+type T_Interfaces  = ( Int,Builder)+sem_Interfaces_Cons :: Word32 ->+                       T_Interfaces  ->+                       T_Interfaces +sem_Interfaces_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 331 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 2840 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 331 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 2845 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 331 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 2850 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (({-# LINE 467 "src/PrettyCode.ag" #-}+                    u30 hd_ ## _tlIoutput+                    {-# LINE 2855 "src/PrettyCode.hs" #-}+                    )) of+             { _lhsOoutput | _lhsOoutput `seq` (True) ->+             ( _lhsOcount,_lhsOoutput) }) }) }) }) })+sem_Interfaces_Nil :: T_Interfaces +sem_Interfaces_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 2863 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 2868 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- MetaInfo ----------------------------------------------------+-- cata+sem_MetaInfo :: MetaInfo  ->+                T_MetaInfo +sem_MetaInfo (MetaInfo_Info _name _items )  =+    (sem_MetaInfo_Info _name (sem_MetaItems _items ) )+-- semantic domain+type T_MetaInfo  = ( Builder)+sem_MetaInfo_Info :: Word32 ->+                     T_MetaItems  ->+                     T_MetaInfo +sem_MetaInfo_Info name_ items_  =+    (case (items_ ) of+     { ( _itemsIcount,_itemsIoutput) | True ->+         (case (({-# LINE 441 "src/PrettyCode.ag" #-}+                 u30 name_ ## u30size _itemsIcount ## _itemsIoutput+                 {-# LINE 2888 "src/PrettyCode.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }) })+-- MetaInfos ---------------------------------------------------+-- cata+sem_MetaInfos :: MetaInfos  ->+                 T_MetaInfos +sem_MetaInfos list  =+    (Prelude.foldr sem_MetaInfos_Cons sem_MetaInfos_Nil (Prelude.map sem_MetaInfo list) )+-- semantic domain+type T_MetaInfos  = ( Int,Builder)+sem_MetaInfos_Cons :: T_MetaInfo  ->+                      T_MetaInfos  ->+                      T_MetaInfos +sem_MetaInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 313 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 2908 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 313 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 2913 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 313 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 2918 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 2925 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_MetaInfos_Nil :: T_MetaInfos +sem_MetaInfos_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 2933 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 2938 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- MetaItem ----------------------------------------------------+-- cata+sem_MetaItem :: MetaItem  ->+                T_MetaItem +sem_MetaItem (MetaItem_Item _key _value )  =+    (sem_MetaItem_Item _key _value )+-- semantic domain+type T_MetaItem  = ( Builder)+sem_MetaItem_Item :: Word32 ->+                     Word32 ->+                     T_MetaItem +sem_MetaItem_Item key_ value_  =+    (case (({-# LINE 444 "src/PrettyCode.ag" #-}+            u30 key_ ## u30 value_+            {-# LINE 2956 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- MetaItems ---------------------------------------------------+-- cata+sem_MetaItems :: MetaItems  ->+                 T_MetaItems +sem_MetaItems list  =+    (Prelude.foldr sem_MetaItems_Cons sem_MetaItems_Nil (Prelude.map sem_MetaItem list) )+-- semantic domain+type T_MetaItems  = ( Int,Builder)+sem_MetaItems_Cons :: T_MetaItem  ->+                      T_MetaItems  ->+                      T_MetaItems +sem_MetaItems_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 329 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 2976 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 329 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 2981 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 329 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 2986 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 2993 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_MetaItems_Nil :: T_MetaItems +sem_MetaItems_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 3001 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 3006 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- MethodFlag --------------------------------------------------+-- cata+sem_MethodFlag :: MethodFlag  ->+                  T_MethodFlag +sem_MethodFlag (MethodFlag_HasOptionals )  =+    (sem_MethodFlag_HasOptionals )+sem_MethodFlag (MethodFlag_HasParamNames )  =+    (sem_MethodFlag_HasParamNames )+sem_MethodFlag (MethodFlag_NeedAct )  =+    (sem_MethodFlag_NeedAct )+sem_MethodFlag (MethodFlag_NeedArgs )  =+    (sem_MethodFlag_NeedArgs )+sem_MethodFlag (MethodFlag_NeedRest )  =+    (sem_MethodFlag_NeedRest )+sem_MethodFlag (MethodFlag_SetDXNS )  =+    (sem_MethodFlag_SetDXNS )+-- semantic domain+type T_MethodFlag  = ( MethodFlag ,Builder)+sem_MethodFlag_HasOptionals :: T_MethodFlag +sem_MethodFlag_HasOptionals  =+    (case (({-# LINE 396 "src/PrettyCode.ag" #-}+            MethodFlag_HasOptionals+            {-# LINE 3032 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 396 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 3037 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3042 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+sem_MethodFlag_HasParamNames :: T_MethodFlag +sem_MethodFlag_HasParamNames  =+    (case (({-# LINE 396 "src/PrettyCode.ag" #-}+            MethodFlag_HasParamNames+            {-# LINE 3050 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 396 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 3055 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3060 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+sem_MethodFlag_NeedAct :: T_MethodFlag +sem_MethodFlag_NeedAct  =+    (case (({-# LINE 396 "src/PrettyCode.ag" #-}+            MethodFlag_NeedAct+            {-# LINE 3068 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 396 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 3073 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3078 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+sem_MethodFlag_NeedArgs :: T_MethodFlag +sem_MethodFlag_NeedArgs  =+    (case (({-# LINE 396 "src/PrettyCode.ag" #-}+            MethodFlag_NeedArgs+            {-# LINE 3086 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 396 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 3091 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3096 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+sem_MethodFlag_NeedRest :: T_MethodFlag +sem_MethodFlag_NeedRest  =+    (case (({-# LINE 396 "src/PrettyCode.ag" #-}+            MethodFlag_NeedRest+            {-# LINE 3104 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 396 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 3109 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3114 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+sem_MethodFlag_SetDXNS :: T_MethodFlag +sem_MethodFlag_SetDXNS  =+    (case (({-# LINE 396 "src/PrettyCode.ag" #-}+            MethodFlag_SetDXNS+            {-# LINE 3122 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 396 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 3127 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3132 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+-- MethodFlags -------------------------------------------------+-- cata+sem_MethodFlags :: MethodFlags  ->+                   T_MethodFlags +sem_MethodFlags list  =+    (Prelude.foldr sem_MethodFlags_Cons sem_MethodFlags_Nil (Prelude.map sem_MethodFlag list) )+-- semantic domain+type T_MethodFlags  = ( MethodFlags ,Builder)+sem_MethodFlags_Cons :: T_MethodFlag  ->+                        T_MethodFlags  ->+                        T_MethodFlags +sem_MethodFlags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIflags,_tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIflags,_hdIoutput) | True ->+              (case (({-# LINE 396 "src/PrettyCode.ag" #-}+                      (:) _hdIflags _tlIflags+                      {-# LINE 3154 "src/PrettyCode.hs" #-}+                      )) of+               { _flags | _flags `seq` (True) ->+               (case (({-# LINE 396 "src/PrettyCode.ag" #-}+                       _flags+                       {-# LINE 3159 "src/PrettyCode.hs" #-}+                       )) of+                { _lhsOflags | _lhsOflags `seq` (True) ->+                (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                        _hdIoutput ## _tlIoutput+                        {-# LINE 3164 "src/PrettyCode.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOflags,_lhsOoutput) }) }) }) }) })+sem_MethodFlags_Nil :: T_MethodFlags +sem_MethodFlags_Nil  =+    (case (({-# LINE 396 "src/PrettyCode.ag" #-}+            []+            {-# LINE 3172 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 396 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 3177 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3182 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+-- MethodInfo --------------------------------------------------+-- cata+sem_MethodInfo :: MethodInfo  ->+                  T_MethodInfo +sem_MethodInfo (MethodInfo_Info _return _params _name _flags _options _names )  =+    (sem_MethodInfo_Info _return (sem_ParamTypes _params ) _name (sem_MethodFlags _flags ) (sem_Optionals _options ) (sem_ParamNames _names ) )+-- semantic domain+type T_MethodInfo  = ( Builder)+sem_MethodInfo_Info :: Word32 ->+                       T_ParamTypes  ->+                       Word32 ->+                       T_MethodFlags  ->+                       T_Optionals  ->+                       T_ParamNames  ->+                       T_MethodInfo +sem_MethodInfo_Info return_ params_ name_ flags_ options_ names_  =+    (case (names_ ) of+     { ( _namesIcount,_namesIoutput) | True ->+         (case (flags_ ) of+          { ( _flagsIflags,_flagsIoutput) | True ->+              (case (({-# LINE 402 "src/PrettyCode.ag" #-}+                      if MethodFlag_HasParamNames `elem` _flagsIflags then _namesIoutput else empty+                      {-# LINE 3208 "src/PrettyCode.hs" #-}+                      )) of+               { _names | _names `seq` (True) ->+               (case (options_ ) of+                { ( _optionsIcount,_optionsIoutput) | True ->+                    (case (({-# LINE 401 "src/PrettyCode.ag" #-}+                            if MethodFlag_HasOptionals  `elem` _flagsIflags then u30size _optionsIcount ## _optionsIoutput else empty+                            {-# LINE 3215 "src/PrettyCode.hs" #-}+                            )) of+                     { _options | _options `seq` (True) ->+                     (case (params_ ) of+                      { ( _paramsIcount,_paramsIoutput) | True ->+                          (case (({-# LINE 399 "src/PrettyCode.ag" #-}+                                  u30size _paramsIcount ## u30 return_ ## _paramsIoutput ## u30 name_ ##+                                  u8 (mergeMethodFlags _flagsIflags) ## _options     ## _names+                                  {-# LINE 3223 "src/PrettyCode.hs" #-}+                                  )) of+                           { _lhsOoutput | _lhsOoutput `seq` (True) ->+                           ( _lhsOoutput) }) }) }) }) }) }) })+-- MethodInfos -------------------------------------------------+-- cata+sem_MethodInfos :: MethodInfos  ->+                   T_MethodInfos +sem_MethodInfos list  =+    (Prelude.foldr sem_MethodInfos_Cons sem_MethodInfos_Nil (Prelude.map sem_MethodInfo list) )+-- semantic domain+type T_MethodInfos  = ( Int,Builder)+sem_MethodInfos_Cons :: T_MethodInfo  ->+                        T_MethodInfos  ->+                        T_MethodInfos +sem_MethodInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 312 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 3243 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 312 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 3248 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 312 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 3253 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 3260 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_MethodInfos_Nil :: T_MethodInfos +sem_MethodInfos_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 3268 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 3273 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- MultinameInfo -----------------------------------------------+-- cata+sem_MultinameInfo :: MultinameInfo  ->+                     T_MultinameInfo +sem_MultinameInfo (MultinameInfo_Generic _name _params )  =+    (sem_MultinameInfo_Generic _name (sem_ParamNames _params ) )+sem_MultinameInfo (MultinameInfo_Multiname _name _set )  =+    (sem_MultinameInfo_Multiname _name _set )+sem_MultinameInfo (MultinameInfo_MultinameA _name _set )  =+    (sem_MultinameInfo_MultinameA _name _set )+sem_MultinameInfo (MultinameInfo_MultinameL _set )  =+    (sem_MultinameInfo_MultinameL _set )+sem_MultinameInfo (MultinameInfo_MultinameLA _set )  =+    (sem_MultinameInfo_MultinameLA _set )+sem_MultinameInfo (MultinameInfo_QName _namespace _name )  =+    (sem_MultinameInfo_QName _namespace _name )+sem_MultinameInfo (MultinameInfo_QNameA _namespace _name )  =+    (sem_MultinameInfo_QNameA _namespace _name )+sem_MultinameInfo (MultinameInfo_RTQName _name )  =+    (sem_MultinameInfo_RTQName _name )+sem_MultinameInfo (MultinameInfo_RTQNameA _name )  =+    (sem_MultinameInfo_RTQNameA _name )+sem_MultinameInfo (MultinameInfo_RTQNameL )  =+    (sem_MultinameInfo_RTQNameL )+sem_MultinameInfo (MultinameInfo_RTQNameLA )  =+    (sem_MultinameInfo_RTQNameLA )+-- semantic domain+type T_MultinameInfo  = ( Builder)+sem_MultinameInfo_Generic :: Word32 ->+                             T_ParamNames  ->+                             T_MultinameInfo +sem_MultinameInfo_Generic name_ params_  =+    (case (params_ ) of+     { ( _paramsIcount,_paramsIoutput) | True ->+         (case (({-# LINE 392 "src/PrettyCode.ag" #-}+                 u8 0x1D ## u30 name_ ## u30size _paramsIcount ## _paramsIoutput+                 {-# LINE 3313 "src/PrettyCode.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }) })+sem_MultinameInfo_Multiname :: Word32 ->+                               Word32 ->+                               T_MultinameInfo +sem_MultinameInfo_Multiname name_ set_  =+    (case (({-# LINE 388 "src/PrettyCode.ag" #-}+            u8 0x09 ## u30 name_ ## u30 set_+            {-# LINE 3323 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_MultinameInfo_MultinameA :: Word32 ->+                                Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameA name_ set_  =+    (case (({-# LINE 389 "src/PrettyCode.ag" #-}+            u8 0x0E ## u30 name_ ## u30 set_+            {-# LINE 3333 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_MultinameInfo_MultinameL :: Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameL set_  =+    (case (({-# LINE 390 "src/PrettyCode.ag" #-}+            u8 0x1B ## u30 set_+            {-# LINE 3342 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_MultinameInfo_MultinameLA :: Word32 ->+                                 T_MultinameInfo +sem_MultinameInfo_MultinameLA set_  =+    (case (({-# LINE 391 "src/PrettyCode.ag" #-}+            u8 0x1C ## u30 set_+            {-# LINE 3351 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_MultinameInfo_QName :: Word32 ->+                           Word32 ->+                           T_MultinameInfo +sem_MultinameInfo_QName namespace_ name_  =+    (case (({-# LINE 382 "src/PrettyCode.ag" #-}+            u8 0x07 ## u30 namespace_ ## u30 name_+            {-# LINE 3361 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_MultinameInfo_QNameA :: Word32 ->+                            Word32 ->+                            T_MultinameInfo +sem_MultinameInfo_QNameA namespace_ name_  =+    (case (({-# LINE 383 "src/PrettyCode.ag" #-}+            u8 0x0D ## u30 namespace_ ## u30 name_+            {-# LINE 3371 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_MultinameInfo_RTQName :: Word32 ->+                             T_MultinameInfo +sem_MultinameInfo_RTQName name_  =+    (case (({-# LINE 384 "src/PrettyCode.ag" #-}+            u8 0x0F ## u30 name_+            {-# LINE 3380 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_MultinameInfo_RTQNameA :: Word32 ->+                              T_MultinameInfo +sem_MultinameInfo_RTQNameA name_  =+    (case (({-# LINE 385 "src/PrettyCode.ag" #-}+            u8 0x10 ## u30 name_+            {-# LINE 3389 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_MultinameInfo_RTQNameL :: T_MultinameInfo +sem_MultinameInfo_RTQNameL  =+    (case (({-# LINE 386 "src/PrettyCode.ag" #-}+            u8 0x11+            {-# LINE 3397 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_MultinameInfo_RTQNameLA :: T_MultinameInfo +sem_MultinameInfo_RTQNameLA  =+    (case (({-# LINE 387 "src/PrettyCode.ag" #-}+            u8 0x12+            {-# LINE 3405 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- MultinameInfos ----------------------------------------------+-- cata+sem_MultinameInfos :: MultinameInfos  ->+                      T_MultinameInfos +sem_MultinameInfos list  =+    (Prelude.foldr sem_MultinameInfos_Cons sem_MultinameInfos_Nil (Prelude.map sem_MultinameInfo list) )+-- semantic domain+type T_MultinameInfos  = ( Int,Builder)+sem_MultinameInfos_Cons :: T_MultinameInfo  ->+                           T_MultinameInfos  ->+                           T_MultinameInfos +sem_MultinameInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 325 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 3425 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 325 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 3430 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 325 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 3435 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 3442 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_MultinameInfos_Nil :: T_MultinameInfos +sem_MultinameInfos_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 3450 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 3455 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- MultinameKind -----------------------------------------------+-- cata+sem_MultinameKind :: MultinameKind  ->+                     T_MultinameKind +sem_MultinameKind (MultinameKind_Generic )  =+    (sem_MultinameKind_Generic )+sem_MultinameKind (MultinameKind_Multiname )  =+    (sem_MultinameKind_Multiname )+sem_MultinameKind (MultinameKind_MultinameA )  =+    (sem_MultinameKind_MultinameA )+sem_MultinameKind (MultinameKind_MultinameL )  =+    (sem_MultinameKind_MultinameL )+sem_MultinameKind (MultinameKind_MultinameLA )  =+    (sem_MultinameKind_MultinameLA )+sem_MultinameKind (MultinameKind_QName )  =+    (sem_MultinameKind_QName )+sem_MultinameKind (MultinameKind_QNameA )  =+    (sem_MultinameKind_QNameA )+sem_MultinameKind (MultinameKind_RTQName )  =+    (sem_MultinameKind_RTQName )+sem_MultinameKind (MultinameKind_RTQNameA )  =+    (sem_MultinameKind_RTQNameA )+sem_MultinameKind (MultinameKind_RTQNameL )  =+    (sem_MultinameKind_RTQNameL )+sem_MultinameKind (MultinameKind_RTQNameLA )  =+    (sem_MultinameKind_RTQNameLA )+-- semantic domain+type T_MultinameKind  = ( MultinameKind ,Builder)+sem_MultinameKind_Generic :: T_MultinameKind +sem_MultinameKind_Generic  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            MultinameKind_Generic+            {-# LINE 3491 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3496 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3501 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_MultinameKind_Multiname :: T_MultinameKind +sem_MultinameKind_Multiname  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            MultinameKind_Multiname+            {-# LINE 3509 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3514 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3519 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_MultinameKind_MultinameA :: T_MultinameKind +sem_MultinameKind_MultinameA  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            MultinameKind_MultinameA+            {-# LINE 3527 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3532 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3537 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_MultinameKind_MultinameL :: T_MultinameKind +sem_MultinameKind_MultinameL  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            MultinameKind_MultinameL+            {-# LINE 3545 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3550 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3555 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_MultinameKind_MultinameLA :: T_MultinameKind +sem_MultinameKind_MultinameLA  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            MultinameKind_MultinameLA+            {-# LINE 3563 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3568 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3573 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_MultinameKind_QName :: T_MultinameKind +sem_MultinameKind_QName  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            MultinameKind_QName+            {-# LINE 3581 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3586 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3591 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_MultinameKind_QNameA :: T_MultinameKind +sem_MultinameKind_QNameA  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            MultinameKind_QNameA+            {-# LINE 3599 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3604 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3609 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_MultinameKind_RTQName :: T_MultinameKind +sem_MultinameKind_RTQName  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            MultinameKind_RTQName+            {-# LINE 3617 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3622 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3627 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_MultinameKind_RTQNameA :: T_MultinameKind +sem_MultinameKind_RTQNameA  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            MultinameKind_RTQNameA+            {-# LINE 3635 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3640 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3645 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_MultinameKind_RTQNameL :: T_MultinameKind +sem_MultinameKind_RTQNameL  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            MultinameKind_RTQNameL+            {-# LINE 3653 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3658 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3663 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_MultinameKind_RTQNameLA :: T_MultinameKind +sem_MultinameKind_RTQNameLA  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            MultinameKind_RTQNameLA+            {-# LINE 3671 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3676 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3681 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+-- NamespaceInfo -----------------------------------------------+-- cata+sem_NamespaceInfo :: NamespaceInfo  ->+                     T_NamespaceInfo +sem_NamespaceInfo (NamespaceInfo_Info _kind _name )  =+    (sem_NamespaceInfo_Info (sem_NamespaceKind _kind ) _name )+-- semantic domain+type T_NamespaceInfo  = ( Builder)+sem_NamespaceInfo_Info :: T_NamespaceKind  ->+                          Word32 ->+                          T_NamespaceInfo +sem_NamespaceInfo_Info kind_ name_  =+    (case (kind_ ) of+     { ( _kindIkind,_kindIoutput) | True ->+         (case (({-# LINE 363 "src/PrettyCode.ag" #-}+                 u8 (fromNamespaceKind _kindIkind) ## u30 name_+                 {-# LINE 3701 "src/PrettyCode.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }) })+-- NamespaceInfos ----------------------------------------------+-- cata+sem_NamespaceInfos :: NamespaceInfos  ->+                      T_NamespaceInfos +sem_NamespaceInfos list  =+    (Prelude.foldr sem_NamespaceInfos_Cons sem_NamespaceInfos_Nil (Prelude.map sem_NamespaceInfo list) )+-- semantic domain+type T_NamespaceInfos  = ( Int,Builder)+sem_NamespaceInfos_Cons :: T_NamespaceInfo  ->+                           T_NamespaceInfos  ->+                           T_NamespaceInfos +sem_NamespaceInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 322 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 3721 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 322 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 3726 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 322 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 3731 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 3738 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_NamespaceInfos_Nil :: T_NamespaceInfos +sem_NamespaceInfos_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 3746 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 3751 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- NamespaceKind -----------------------------------------------+-- cata+sem_NamespaceKind :: NamespaceKind  ->+                     T_NamespaceKind +sem_NamespaceKind (NamespaceKind_Explicit )  =+    (sem_NamespaceKind_Explicit )+sem_NamespaceKind (NamespaceKind_General )  =+    (sem_NamespaceKind_General )+sem_NamespaceKind (NamespaceKind_Internal )  =+    (sem_NamespaceKind_Internal )+sem_NamespaceKind (NamespaceKind_Package )  =+    (sem_NamespaceKind_Package )+sem_NamespaceKind (NamespaceKind_Private )  =+    (sem_NamespaceKind_Private )+sem_NamespaceKind (NamespaceKind_Protected )  =+    (sem_NamespaceKind_Protected )+sem_NamespaceKind (NamespaceKind_Static )  =+    (sem_NamespaceKind_Static )+-- semantic domain+type T_NamespaceKind  = ( NamespaceKind ,Builder)+sem_NamespaceKind_Explicit :: T_NamespaceKind +sem_NamespaceKind_Explicit  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            NamespaceKind_Explicit+            {-# LINE 3779 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3784 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3789 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_NamespaceKind_General :: T_NamespaceKind +sem_NamespaceKind_General  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            NamespaceKind_General+            {-# LINE 3797 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3802 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3807 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_NamespaceKind_Internal :: T_NamespaceKind +sem_NamespaceKind_Internal  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            NamespaceKind_Internal+            {-# LINE 3815 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3820 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3825 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_NamespaceKind_Package :: T_NamespaceKind +sem_NamespaceKind_Package  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            NamespaceKind_Package+            {-# LINE 3833 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3838 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3843 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_NamespaceKind_Private :: T_NamespaceKind +sem_NamespaceKind_Private  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            NamespaceKind_Private+            {-# LINE 3851 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3856 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3861 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_NamespaceKind_Protected :: T_NamespaceKind +sem_NamespaceKind_Protected  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            NamespaceKind_Protected+            {-# LINE 3869 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3874 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3879 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_NamespaceKind_Static :: T_NamespaceKind +sem_NamespaceKind_Static  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            NamespaceKind_Static+            {-# LINE 3887 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 3892 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 3897 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+-- NamespaceNames ----------------------------------------------+-- cata+sem_NamespaceNames :: NamespaceNames  ->+                      T_NamespaceNames +sem_NamespaceNames list  =+    (Prelude.foldr sem_NamespaceNames_Cons sem_NamespaceNames_Nil list )+-- semantic domain+type T_NamespaceNames  = ( Int,Builder)+sem_NamespaceNames_Cons :: Word32 ->+                           T_NamespaceNames  ->+                           T_NamespaceNames +sem_NamespaceNames_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 324 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 3917 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 324 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 3922 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 324 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 3927 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (({-# LINE 379 "src/PrettyCode.ag" #-}+                    u30 hd_ ## _tlIoutput+                    {-# LINE 3932 "src/PrettyCode.hs" #-}+                    )) of+             { _lhsOoutput | _lhsOoutput `seq` (True) ->+             ( _lhsOcount,_lhsOoutput) }) }) }) }) })+sem_NamespaceNames_Nil :: T_NamespaceNames +sem_NamespaceNames_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 3940 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 3945 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- Optional ----------------------------------------------------+-- cata+sem_Optional :: Optional  ->+                T_Optional +sem_Optional (Optional_Detail _val _kind )  =+    (sem_Optional_Detail _val (sem_ValueKind _kind ) )+-- semantic domain+type T_Optional  = ( Builder)+sem_Optional_Detail :: Word32 ->+                       T_ValueKind  ->+                       T_Optional +sem_Optional_Detail val_ kind_  =+    (case (kind_ ) of+     { ( _kindIkind,_kindIoutput) | True ->+         (case (({-# LINE 418 "src/PrettyCode.ag" #-}+                 u32 val_ ## u8 (fromValueKind _kindIkind)+                 {-# LINE 3965 "src/PrettyCode.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }) })+-- Optionals ---------------------------------------------------+-- cata+sem_Optionals :: Optionals  ->+                 T_Optionals +sem_Optionals list  =+    (Prelude.foldr sem_Optionals_Cons sem_Optionals_Nil (Prelude.map sem_Optional list) )+-- semantic domain+type T_Optionals  = ( Int,Builder)+sem_Optionals_Cons :: T_Optional  ->+                      T_Optionals  ->+                      T_Optionals +sem_Optionals_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 326 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 3985 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 326 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 3990 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 326 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 3995 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 4002 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_Optionals_Nil :: T_Optionals +sem_Optionals_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 4010 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 4015 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- ParamNames --------------------------------------------------+-- cata+sem_ParamNames :: ParamNames  ->+                  T_ParamNames +sem_ParamNames list  =+    (Prelude.foldr sem_ParamNames_Cons sem_ParamNames_Nil list )+-- semantic domain+type T_ParamNames  = ( Int,Builder)+sem_ParamNames_Cons :: Word32 ->+                       T_ParamNames  ->+                       T_ParamNames +sem_ParamNames_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 327 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 4035 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 327 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 4040 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 327 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 4045 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (({-# LINE 394 "src/PrettyCode.ag" #-}+                    u30 hd_ ## _tlIoutput+                    {-# LINE 4050 "src/PrettyCode.hs" #-}+                    )) of+             { _lhsOoutput | _lhsOoutput `seq` (True) ->+             ( _lhsOcount,_lhsOoutput) }) }) }) }) })+sem_ParamNames_Nil :: T_ParamNames +sem_ParamNames_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 4058 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 4063 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- ParamTypes --------------------------------------------------+-- cata+sem_ParamTypes :: ParamTypes  ->+                  T_ParamTypes +sem_ParamTypes list  =+    (Prelude.foldr sem_ParamTypes_Cons sem_ParamTypes_Nil list )+-- semantic domain+type T_ParamTypes  = ( Int,Builder)+sem_ParamTypes_Cons :: Word32 ->+                       T_ParamTypes  ->+                       T_ParamTypes +sem_ParamTypes_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 328 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 4083 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 328 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 4088 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 328 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 4093 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (({-# LINE 416 "src/PrettyCode.ag" #-}+                    u30 hd_ ## _tlIoutput+                    {-# LINE 4098 "src/PrettyCode.hs" #-}+                    )) of+             { _lhsOoutput | _lhsOoutput `seq` (True) ->+             ( _lhsOcount,_lhsOoutput) }) }) }) }) })+sem_ParamTypes_Nil :: T_ParamTypes +sem_ParamTypes_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 4106 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 4111 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- PoolDoubles -------------------------------------------------+-- cata+sem_PoolDoubles :: PoolDoubles  ->+                   T_PoolDoubles +sem_PoolDoubles list  =+    (Prelude.foldr sem_PoolDoubles_Cons sem_PoolDoubles_Nil list )+-- semantic domain+type T_PoolDoubles  = ( Int,Builder)+sem_PoolDoubles_Cons :: Double ->+                        T_PoolDoubles  ->+                        T_PoolDoubles +sem_PoolDoubles_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 320 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 4131 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 320 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 4136 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 320 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 4141 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (({-# LINE 358 "src/PrettyCode.ag" #-}+                    d64 hd_ ## _tlIoutput+                    {-# LINE 4146 "src/PrettyCode.hs" #-}+                    )) of+             { _lhsOoutput | _lhsOoutput `seq` (True) ->+             ( _lhsOcount,_lhsOoutput) }) }) }) }) })+sem_PoolDoubles_Nil :: T_PoolDoubles +sem_PoolDoubles_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 4154 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 4159 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- PoolInfo ----------------------------------------------------+-- cata+sem_PoolInfo :: PoolInfo  ->+                T_PoolInfo +sem_PoolInfo (PoolInfo_Info _integers _uintegers _doubles _strings _namespaces _namesets _multinames )  =+    (sem_PoolInfo_Info (sem_PoolInts _integers ) (sem_PoolUInts _uintegers ) (sem_PoolDoubles _doubles ) (sem_PoolStrings _strings ) (sem_NamespaceInfos _namespaces ) (sem_SetInfos _namesets ) (sem_MultinameInfos _multinames ) )+-- semantic domain+type T_PoolInfo  = ( Builder)+sem_PoolInfo_Info :: T_PoolInts  ->+                     T_PoolUInts  ->+                     T_PoolDoubles  ->+                     T_PoolStrings  ->+                     T_NamespaceInfos  ->+                     T_SetInfos  ->+                     T_MultinameInfos  ->+                     T_PoolInfo +sem_PoolInfo_Info integers_ uintegers_ doubles_ strings_ namespaces_ namesets_ multinames_  =+    (case (multinames_ ) of+     { ( _multinamesIcount,_multinamesIoutput) | True ->+         (case (namesets_ ) of+          { ( _namesetsIcount,_namesetsIoutput) | True ->+              (case (namespaces_ ) of+               { ( _namespacesIcount,_namespacesIoutput) | True ->+                   (case (strings_ ) of+                    { ( _stringsIcount,_stringsIoutput) | True ->+                        (case (doubles_ ) of+                         { ( _doublesIcount,_doublesIoutput) | True ->+                             (case (uintegers_ ) of+                              { ( _uintegersIcount,_uintegersIoutput) | True ->+                                  (case (integers_ ) of+                                   { ( _integersIcount,_integersIoutput) | True ->+                                       (case (({-# LINE 344 "src/PrettyCode.ag" #-}+                                               u30size1 _integersIcount   ## _integersIoutput   ##+                                               u30size1 _uintegersIcount  ## _uintegersIoutput  ##+                                               u30size1 _doublesIcount    ## _doublesIoutput    ##+                                               u30size1 _stringsIcount    ## _stringsIoutput    ##+                                               u30size1 _namespacesIcount ## _namespacesIoutput ##+                                               u30size1 _namesetsIcount   ## _namesetsIoutput   ##+                                               u30size1 _multinamesIcount ## _multinamesIoutput+                                               {-# LINE 4202 "src/PrettyCode.hs" #-}+                                               )) of+                                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                        ( _lhsOoutput) }) }) }) }) }) }) }) })+-- PoolInts ----------------------------------------------------+-- cata+sem_PoolInts :: PoolInts  ->+                T_PoolInts +sem_PoolInts list  =+    (Prelude.foldr sem_PoolInts_Cons sem_PoolInts_Nil list )+-- semantic domain+type T_PoolInts  = ( Int,Builder)+sem_PoolInts_Cons :: Word32 ->+                     T_PoolInts  ->+                     T_PoolInts +sem_PoolInts_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 318 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 4222 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 318 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 4227 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 318 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 4232 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (({-# LINE 356 "src/PrettyCode.ag" #-}+                    s32 hd_ ## _tlIoutput+                    {-# LINE 4237 "src/PrettyCode.hs" #-}+                    )) of+             { _lhsOoutput | _lhsOoutput `seq` (True) ->+             ( _lhsOcount,_lhsOoutput) }) }) }) }) })+sem_PoolInts_Nil :: T_PoolInts +sem_PoolInts_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 4245 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 4250 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- PoolStrings -------------------------------------------------+-- cata+sem_PoolStrings :: PoolStrings  ->+                   T_PoolStrings +sem_PoolStrings list  =+    (Prelude.foldr sem_PoolStrings_Cons sem_PoolStrings_Nil list )+-- semantic domain+type T_PoolStrings  = ( Int,Builder)+sem_PoolStrings_Cons :: ByteString ->+                        T_PoolStrings  ->+                        T_PoolStrings +sem_PoolStrings_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 321 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 4270 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 321 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 4275 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 321 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 4280 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (({-# LINE 359 "src/PrettyCode.ag" #-}+                    fromIntegral $ B.length hd_+                    {-# LINE 4285 "src/PrettyCode.hs" #-}+                    )) of+             { _blen | _blen `seq` (True) ->+             (case (({-# LINE 360 "src/PrettyCode.ag" #-}+                     u30size _blen     ## hd_ ## _tlIoutput+                     {-# LINE 4290 "src/PrettyCode.hs" #-}+                     )) of+              { _lhsOoutput | _lhsOoutput `seq` (True) ->+              ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_PoolStrings_Nil :: T_PoolStrings +sem_PoolStrings_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 4298 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 4303 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- PoolUInts ---------------------------------------------------+-- cata+sem_PoolUInts :: PoolUInts  ->+                 T_PoolUInts +sem_PoolUInts list  =+    (Prelude.foldr sem_PoolUInts_Cons sem_PoolUInts_Nil list )+-- semantic domain+type T_PoolUInts  = ( Int,Builder)+sem_PoolUInts_Cons :: Word32 ->+                      T_PoolUInts  ->+                      T_PoolUInts +sem_PoolUInts_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 319 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 4323 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 319 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 4328 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 319 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 4333 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (({-# LINE 357 "src/PrettyCode.ag" #-}+                    u32 hd_ ## _tlIoutput+                    {-# LINE 4338 "src/PrettyCode.hs" #-}+                    )) of+             { _lhsOoutput | _lhsOoutput `seq` (True) ->+             ( _lhsOcount,_lhsOoutput) }) }) }) }) })+sem_PoolUInts_Nil :: T_PoolUInts +sem_PoolUInts_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 4346 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 4351 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- Rect --------------------------------------------------------+-- cata+sem_Rect :: Rect  ->+            T_Rect +sem_Rect (Rect_Rect _bits _xMin _xMax _yMin _yMax )  =+    (sem_Rect_Rect _bits _xMin _xMax _yMin _yMax )+-- semantic domain+type T_Rect  = ( BitBuilder)+sem_Rect_Rect :: Int ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 T_Rect +sem_Rect_Rect bits_ xMin_ xMax_ yMin_ yMax_  =+    (case (({-# LINE 204 "src/PrettyCode.ag" #-}+            putWord (fromIntegral bits_) 5+              ### putWord xMin_ bits_ ### putWord yMin_ bits_+              ### putWord xMax_ bits_ ### putWord yMax_ bits_+            {-# LINE 4374 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- ScriptInfo --------------------------------------------------+-- cata+sem_ScriptInfo :: ScriptInfo  ->+                  T_ScriptInfo +sem_ScriptInfo (ScriptInfo_Info _method _traits )  =+    (sem_ScriptInfo_Info _method (sem_Traits _traits ) )+-- semantic domain+type T_ScriptInfo  = ( Builder)+sem_ScriptInfo_Info :: Word32 ->+                       T_Traits  ->+                       T_ScriptInfo +sem_ScriptInfo_Info method_ traits_  =+    (case (traits_ ) of+     { ( _traitsIcount,_traitsIoutput) | True ->+         (case (({-# LINE 517 "src/PrettyCode.ag" #-}+                 u30 method_ ## u30size _traitsIcount ## _traitsIoutput+                 {-# LINE 4394 "src/PrettyCode.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }) })+-- ScriptInfos -------------------------------------------------+-- cata+sem_ScriptInfos :: ScriptInfos  ->+                   T_ScriptInfos +sem_ScriptInfos list  =+    (Prelude.foldr sem_ScriptInfos_Cons sem_ScriptInfos_Nil (Prelude.map sem_ScriptInfo list) )+-- semantic domain+type T_ScriptInfos  = ( Int,Builder)+sem_ScriptInfos_Cons :: T_ScriptInfo  ->+                        T_ScriptInfos  ->+                        T_ScriptInfos +sem_ScriptInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 316 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 4414 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 316 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 4419 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 316 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 4424 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 4431 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_ScriptInfos_Nil :: T_ScriptInfos +sem_ScriptInfos_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 4439 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 4444 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- SetInfo -----------------------------------------------------+-- cata+sem_SetInfo :: SetInfo  ->+               T_SetInfo +sem_SetInfo (SetInfo_Info _names )  =+    (sem_SetInfo_Info (sem_NamespaceNames _names ) )+-- semantic domain+type T_SetInfo  = ( Builder)+sem_SetInfo_Info :: T_NamespaceNames  ->+                    T_SetInfo +sem_SetInfo_Info names_  =+    (case (names_ ) of+     { ( _namesIcount,_namesIoutput) | True ->+         (case (({-# LINE 377 "src/PrettyCode.ag" #-}+                 u30size _namesIcount ## _namesIoutput+                 {-# LINE 4463 "src/PrettyCode.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }) })+-- SetInfos ----------------------------------------------------+-- cata+sem_SetInfos :: SetInfos  ->+                T_SetInfos +sem_SetInfos list  =+    (Prelude.foldr sem_SetInfos_Cons sem_SetInfos_Nil (Prelude.map sem_SetInfo list) )+-- semantic domain+type T_SetInfos  = ( Int,Builder)+sem_SetInfos_Cons :: T_SetInfo  ->+                     T_SetInfos  ->+                     T_SetInfos +sem_SetInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 323 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 4483 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 323 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 4488 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 323 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 4493 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 4500 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_SetInfos_Nil :: T_SetInfos +sem_SetInfos_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 4508 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 4513 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- SwfFile -----------------------------------------------------+-- cata+sem_SwfFile :: SwfFile  ->+               T_SwfFile +sem_SwfFile (SwfFile_File _compressed _version _length _size _rate _count _tags )  =+    (sem_SwfFile_File _compressed _version _length (sem_Rect _size ) _rate _count (sem_Tags _tags ) )+-- semantic domain+type T_SwfFile  = ( Builder)+data Inh_SwfFile  = Inh_SwfFile {}+data Syn_SwfFile  = Syn_SwfFile {output_Syn_SwfFile :: !(Builder)}+wrap_SwfFile :: T_SwfFile  ->+                Inh_SwfFile  ->+                Syn_SwfFile +wrap_SwfFile sem (Inh_SwfFile )  =+    (let ( _lhsOoutput) | True = sem +     in  (Syn_SwfFile _lhsOoutput ))+sem_SwfFile_File :: Bool ->+                    Word8 ->+                    Word32 ->+                    T_Rect  ->+                    Word16 ->+                    Word16 ->+                    T_Tags  ->+                    T_SwfFile +sem_SwfFile_File compressed_ version_ length_ size_ rate_ count_ tags_  =+    (case (tags_ ) of+     { ( _tagsIoutput) | True ->+         (case (size_ ) of+          { ( _sizeIoutput) | True ->+              (case (({-# LINE 198 "src/PrettyCode.ag" #-}+                      padded _sizeIoutput+                        ## u16 rate_+                        ## u16 count_+                        ## _tagsIoutput+                      {-# LINE 4551 "src/PrettyCode.hs" #-}+                      )) of+               { _body | _body `seq` (True) ->+               (case (({-# LINE 197 "src/PrettyCode.ag" #-}+                       toLazyByteString _body+                       {-# LINE 4556 "src/PrettyCode.hs" #-}+                       )) of+                { _bodyStr | _bodyStr `seq` (True) ->+                (case (({-# LINE 194 "src/PrettyCode.ag" #-}+                        if compressed_+                        then compressWith defaultCompressParams { compressLevel = bestCompression } _bodyStr+                        else _bodyStr+                        {-# LINE 4563 "src/PrettyCode.hs" #-}+                        )) of+                 { _content | _content `seq` (True) ->+                 (case (({-# LINE 193 "src/PrettyCode.ag" #-}+                         fromIntegral (8 + B.length _bodyStr    )+                         {-# LINE 4568 "src/PrettyCode.hs" #-}+                         )) of+                  { _length | _length `seq` (True) ->+                  (case (({-# LINE 192 "src/PrettyCode.ag" #-}+                          u8 (if compressed_ then 0x43 else 0x46) ## u8 0x57 ## u8 0x53+                          {-# LINE 4573 "src/PrettyCode.hs" #-}+                          )) of+                   { _head | _head `seq` (True) ->+                   (case (({-# LINE 191 "src/PrettyCode.ag" #-}+                           _head     ## u8 version_ ## w32 _length     ## _content+                           {-# LINE 4578 "src/PrettyCode.hs" #-}+                           )) of+                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                    ( _lhsOoutput) }) }) }) }) }) }) }) })+-- Tag ---------------------------------------------------------+-- cata+sem_Tag :: Tag  ->+           T_Tag +sem_Tag (Tag_Abc _flags _name _file )  =+    (sem_Tag_Abc (sem_AbcFlags _flags ) _name (sem_AbcFile _file ) )+sem_Tag (Tag_End )  =+    (sem_Tag_End )+sem_Tag (Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )  =+    (sem_Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )+sem_Tag (Tag_Opaque _kind _length _body )  =+    (sem_Tag_Opaque (sem_TagKind _kind ) _length _body )+-- semantic domain+type T_Tag  = ( Builder)+sem_Tag_Abc :: T_AbcFlags  ->+               ByteString ->+               T_AbcFile  ->+               T_Tag +sem_Tag_Abc flags_ name_ file_  =+    (case (file_ ) of+     { ( _fileIoutput) | True ->+         (case (flags_ ) of+          { ( _flagsIflags) | True ->+              (case (({-# LINE 211 "src/PrettyCode.ag" #-}+                      w32 _flagsIflags ## nullString name_ ## _fileIoutput+                      {-# LINE 4607 "src/PrettyCode.hs" #-}+                      )) of+               { _file | _file `seq` (True) ->+               (case (({-# LINE 212 "src/PrettyCode.ag" #-}+                       toLazyByteString _file+                       {-# LINE 4612 "src/PrettyCode.hs" #-}+                       )) of+                { _content | _content `seq` (True) ->+                (case (({-# LINE 213 "src/PrettyCode.ag" #-}+                        fromIntegral $ B.length _content+                        {-# LINE 4617 "src/PrettyCode.hs" #-}+                        )) of+                 { _length | _length `seq` (True) ->+                 (case (({-# LINE 210 "src/PrettyCode.ag" #-}+                         Tag_Opaque TagKind_DoABC _length     _content+                         {-# LINE 4622 "src/PrettyCode.hs" #-}+                         )) of+                  { body_val_ | body_val_ `seq` (True) ->+                  (case ((sem_Tag body_val_ )) of+                   { body_inst_ | body_inst_ `seq` (True) ->+                   (case (body_inst_ ) of+                    { ( _bodyIoutput) | True ->+                        (case (({-# LINE 214 "src/PrettyCode.ag" #-}+                                _bodyIoutput+                                {-# LINE 4631 "src/PrettyCode.hs" #-}+                                )) of+                         { _lhsOoutput | _lhsOoutput `seq` (True) ->+                         ( _lhsOoutput) }) }) }) }) }) }) }) }) })+sem_Tag_End :: T_Tag +sem_Tag_End  =+    (case (({-# LINE 230 "src/PrettyCode.ag" #-}+            u16 0+            {-# LINE 4639 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_Tag_FileAttributes :: Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          T_Tag +sem_Tag_FileAttributes useDirectBlit_ useGPU_ hasMetaData_ hasAS3_ useNetwork_  =+    (case (({-# LINE 218 "src/PrettyCode.ag" #-}+            padded (   putWord 0 1 ### putBit useDirectBlit_ ### putBit useGPU_ ### putBit hasMetaData_+                   ### putBit hasAS3_ ### putWord 0 2 ### putBit useNetwork_ ### putWord 0 24)+            {-# LINE 4653 "src/PrettyCode.hs" #-}+            )) of+     { _data | _data `seq` (True) ->+     (case (({-# LINE 220 "src/PrettyCode.ag" #-}+             toLazyByteString _data+             {-# LINE 4658 "src/PrettyCode.hs" #-}+             )) of+      { _content | _content `seq` (True) ->+      (case (({-# LINE 221 "src/PrettyCode.ag" #-}+              fromIntegral $ B.length _content+              {-# LINE 4663 "src/PrettyCode.hs" #-}+              )) of+       { _length | _length `seq` (True) ->+       (case (({-# LINE 217 "src/PrettyCode.ag" #-}+               Tag_Opaque TagKind_FileAttributes _length     _content+               {-# LINE 4668 "src/PrettyCode.hs" #-}+               )) of+        { body_val_ | body_val_ `seq` (True) ->+        (case ((sem_Tag body_val_ )) of+         { body_inst_ | body_inst_ `seq` (True) ->+         (case (body_inst_ ) of+          { ( _bodyIoutput) | True ->+              (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                      _bodyIoutput+                      {-# LINE 4677 "src/PrettyCode.hs" #-}+                      )) of+               { _lhsOoutput | _lhsOoutput `seq` (True) ->+               ( _lhsOoutput) }) }) }) }) }) }) })+sem_Tag_Opaque :: T_TagKind  ->+                  Word32 ->+                  ByteString ->+                  T_Tag +sem_Tag_Opaque kind_ length_ body_  =+    (case (kind_ ) of+     { ( _kindIkind) | True ->+         (case (({-# LINE 223 "src/PrettyCode.ag" #-}+                 fromTagKind _kindIkind+                 {-# LINE 4690 "src/PrettyCode.hs" #-}+                 )) of+          { _code | _code `seq` (True) ->+          (case (({-# LINE 222 "src/PrettyCode.ag" #-}+                  min length_ 0x3f+                  {-# LINE 4695 "src/PrettyCode.hs" #-}+                  )) of+           { _len' | _len' `seq` (True) ->+           (case (({-# LINE 224 "src/PrettyCode.ag" #-}+                   shiftL _code     6 .|. (fromIntegral _len'    )+                   {-# LINE 4700 "src/PrettyCode.hs" #-}+                   )) of+            { _key | _key `seq` (True) ->+            (case (({-# LINE 225 "src/PrettyCode.ag" #-}+                    u16 _key     ##+                     if length_ >= 0x3F+                     then w32 length_+                     else empty+                    {-# LINE 4708 "src/PrettyCode.hs" #-}+                    )) of+             { _header | _header `seq` (True) ->+             (case (({-# LINE 229 "src/PrettyCode.ag" #-}+                     _header     ## body_+                     {-# LINE 4713 "src/PrettyCode.hs" #-}+                     )) of+              { _lhsOoutput | _lhsOoutput `seq` (True) ->+              ( _lhsOoutput) }) }) }) }) }) })+-- TagKind -----------------------------------------------------+-- cata+sem_TagKind :: TagKind  ->+               T_TagKind +sem_TagKind (TagKind_CSMTextSettings )  =+    (sem_TagKind_CSMTextSettings )+sem_TagKind (TagKind_DefineBinaryData )  =+    (sem_TagKind_DefineBinaryData )+sem_TagKind (TagKind_DefineBits )  =+    (sem_TagKind_DefineBits )+sem_TagKind (TagKind_DefineBitsJPEG2 )  =+    (sem_TagKind_DefineBitsJPEG2 )+sem_TagKind (TagKind_DefineBitsJPEG3 )  =+    (sem_TagKind_DefineBitsJPEG3 )+sem_TagKind (TagKind_DefineBitsJPEG4 )  =+    (sem_TagKind_DefineBitsJPEG4 )+sem_TagKind (TagKind_DefineBitsLossless )  =+    (sem_TagKind_DefineBitsLossless )+sem_TagKind (TagKind_DefineBitsLossless2 )  =+    (sem_TagKind_DefineBitsLossless2 )+sem_TagKind (TagKind_DefineButton )  =+    (sem_TagKind_DefineButton )+sem_TagKind (TagKind_DefineButton2 )  =+    (sem_TagKind_DefineButton2 )+sem_TagKind (TagKind_DefineButtonCxform )  =+    (sem_TagKind_DefineButtonCxform )+sem_TagKind (TagKind_DefineButtonSound )  =+    (sem_TagKind_DefineButtonSound )+sem_TagKind (TagKind_DefineEditText )  =+    (sem_TagKind_DefineEditText )+sem_TagKind (TagKind_DefineFont )  =+    (sem_TagKind_DefineFont )+sem_TagKind (TagKind_DefineFont2 )  =+    (sem_TagKind_DefineFont2 )+sem_TagKind (TagKind_DefineFont3 )  =+    (sem_TagKind_DefineFont3 )+sem_TagKind (TagKind_DefineFont4 )  =+    (sem_TagKind_DefineFont4 )+sem_TagKind (TagKind_DefineFontAlignZones )  =+    (sem_TagKind_DefineFontAlignZones )+sem_TagKind (TagKind_DefineFontInfo )  =+    (sem_TagKind_DefineFontInfo )+sem_TagKind (TagKind_DefineFontInfo2 )  =+    (sem_TagKind_DefineFontInfo2 )+sem_TagKind (TagKind_DefineFontName )  =+    (sem_TagKind_DefineFontName )+sem_TagKind (TagKind_DefineMorphShape )  =+    (sem_TagKind_DefineMorphShape )+sem_TagKind (TagKind_DefineMorphShape2 )  =+    (sem_TagKind_DefineMorphShape2 )+sem_TagKind (TagKind_DefineScalingGrid )  =+    (sem_TagKind_DefineScalingGrid )+sem_TagKind (TagKind_DefineSceneAndFrameLabelData )  =+    (sem_TagKind_DefineSceneAndFrameLabelData )+sem_TagKind (TagKind_DefineShape )  =+    (sem_TagKind_DefineShape )+sem_TagKind (TagKind_DefineShape2 )  =+    (sem_TagKind_DefineShape2 )+sem_TagKind (TagKind_DefineShape3 )  =+    (sem_TagKind_DefineShape3 )+sem_TagKind (TagKind_DefineShape4 )  =+    (sem_TagKind_DefineShape4 )+sem_TagKind (TagKind_DefineSound )  =+    (sem_TagKind_DefineSound )+sem_TagKind (TagKind_DefineSprite )  =+    (sem_TagKind_DefineSprite )+sem_TagKind (TagKind_DefineText )  =+    (sem_TagKind_DefineText )+sem_TagKind (TagKind_DefineText2 )  =+    (sem_TagKind_DefineText2 )+sem_TagKind (TagKind_DefineVideoStream )  =+    (sem_TagKind_DefineVideoStream )+sem_TagKind (TagKind_DoABC )  =+    (sem_TagKind_DoABC )+sem_TagKind (TagKind_DoAction )  =+    (sem_TagKind_DoAction )+sem_TagKind (TagKind_DoInitAction )  =+    (sem_TagKind_DoInitAction )+sem_TagKind (TagKind_EnableDebugger )  =+    (sem_TagKind_EnableDebugger )+sem_TagKind (TagKind_EnableDebugger2 )  =+    (sem_TagKind_EnableDebugger2 )+sem_TagKind (TagKind_End )  =+    (sem_TagKind_End )+sem_TagKind (TagKind_ExportAssets )  =+    (sem_TagKind_ExportAssets )+sem_TagKind (TagKind_FileAttributes )  =+    (sem_TagKind_FileAttributes )+sem_TagKind (TagKind_FrameLabel )  =+    (sem_TagKind_FrameLabel )+sem_TagKind (TagKind_ImportAssets )  =+    (sem_TagKind_ImportAssets )+sem_TagKind (TagKind_ImportAssets2 )  =+    (sem_TagKind_ImportAssets2 )+sem_TagKind (TagKind_JPEGTables )  =+    (sem_TagKind_JPEGTables )+sem_TagKind (TagKind_Metadata )  =+    (sem_TagKind_Metadata )+sem_TagKind (TagKind_Other _code )  =+    (sem_TagKind_Other _code )+sem_TagKind (TagKind_PlaceObject )  =+    (sem_TagKind_PlaceObject )+sem_TagKind (TagKind_PlaceObject2 )  =+    (sem_TagKind_PlaceObject2 )+sem_TagKind (TagKind_PlaceObject3 )  =+    (sem_TagKind_PlaceObject3 )+sem_TagKind (TagKind_Protect )  =+    (sem_TagKind_Protect )+sem_TagKind (TagKind_RemoveObject )  =+    (sem_TagKind_RemoveObject )+sem_TagKind (TagKind_RemoveObject2 )  =+    (sem_TagKind_RemoveObject2 )+sem_TagKind (TagKind_ScriptLimits )  =+    (sem_TagKind_ScriptLimits )+sem_TagKind (TagKind_SetBackgroundColor )  =+    (sem_TagKind_SetBackgroundColor )+sem_TagKind (TagKind_SetTabIndex )  =+    (sem_TagKind_SetTabIndex )+sem_TagKind (TagKind_ShowFrame )  =+    (sem_TagKind_ShowFrame )+sem_TagKind (TagKind_SoundStreamBlock )  =+    (sem_TagKind_SoundStreamBlock )+sem_TagKind (TagKind_SoundStreamHead )  =+    (sem_TagKind_SoundStreamHead )+sem_TagKind (TagKind_SoundStreamHead2 )  =+    (sem_TagKind_SoundStreamHead2 )+sem_TagKind (TagKind_StartSound )  =+    (sem_TagKind_StartSound )+sem_TagKind (TagKind_StartSound2 )  =+    (sem_TagKind_StartSound2 )+sem_TagKind (TagKind_SymbolClass )  =+    (sem_TagKind_SymbolClass )+sem_TagKind (TagKind_VideoFrame )  =+    (sem_TagKind_VideoFrame )+-- semantic domain+type T_TagKind  = ( TagKind )+sem_TagKind_CSMTextSettings :: T_TagKind +sem_TagKind_CSMTextSettings  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_CSMTextSettings+            {-# LINE 4857 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 4862 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineBinaryData :: T_TagKind +sem_TagKind_DefineBinaryData  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineBinaryData+            {-# LINE 4870 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 4875 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineBits :: T_TagKind +sem_TagKind_DefineBits  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineBits+            {-# LINE 4883 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 4888 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineBitsJPEG2 :: T_TagKind +sem_TagKind_DefineBitsJPEG2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineBitsJPEG2+            {-# LINE 4896 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 4901 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineBitsJPEG3 :: T_TagKind +sem_TagKind_DefineBitsJPEG3  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineBitsJPEG3+            {-# LINE 4909 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 4914 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineBitsJPEG4 :: T_TagKind +sem_TagKind_DefineBitsJPEG4  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineBitsJPEG4+            {-# LINE 4922 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 4927 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineBitsLossless :: T_TagKind +sem_TagKind_DefineBitsLossless  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineBitsLossless+            {-# LINE 4935 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 4940 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineBitsLossless2 :: T_TagKind +sem_TagKind_DefineBitsLossless2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineBitsLossless2+            {-# LINE 4948 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 4953 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineButton :: T_TagKind +sem_TagKind_DefineButton  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineButton+            {-# LINE 4961 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 4966 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineButton2 :: T_TagKind +sem_TagKind_DefineButton2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineButton2+            {-# LINE 4974 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 4979 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineButtonCxform :: T_TagKind +sem_TagKind_DefineButtonCxform  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineButtonCxform+            {-# LINE 4987 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 4992 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineButtonSound :: T_TagKind +sem_TagKind_DefineButtonSound  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineButtonSound+            {-# LINE 5000 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5005 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineEditText :: T_TagKind +sem_TagKind_DefineEditText  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineEditText+            {-# LINE 5013 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5018 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineFont :: T_TagKind +sem_TagKind_DefineFont  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineFont+            {-# LINE 5026 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5031 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineFont2 :: T_TagKind +sem_TagKind_DefineFont2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineFont2+            {-# LINE 5039 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5044 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineFont3 :: T_TagKind +sem_TagKind_DefineFont3  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineFont3+            {-# LINE 5052 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5057 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineFont4 :: T_TagKind +sem_TagKind_DefineFont4  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineFont4+            {-# LINE 5065 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5070 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineFontAlignZones :: T_TagKind +sem_TagKind_DefineFontAlignZones  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineFontAlignZones+            {-# LINE 5078 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5083 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineFontInfo :: T_TagKind +sem_TagKind_DefineFontInfo  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineFontInfo+            {-# LINE 5091 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5096 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineFontInfo2 :: T_TagKind +sem_TagKind_DefineFontInfo2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineFontInfo2+            {-# LINE 5104 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5109 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineFontName :: T_TagKind +sem_TagKind_DefineFontName  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineFontName+            {-# LINE 5117 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5122 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineMorphShape :: T_TagKind +sem_TagKind_DefineMorphShape  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineMorphShape+            {-# LINE 5130 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5135 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineMorphShape2 :: T_TagKind +sem_TagKind_DefineMorphShape2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineMorphShape2+            {-# LINE 5143 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5148 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineScalingGrid :: T_TagKind +sem_TagKind_DefineScalingGrid  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineScalingGrid+            {-# LINE 5156 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5161 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineSceneAndFrameLabelData :: T_TagKind +sem_TagKind_DefineSceneAndFrameLabelData  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineSceneAndFrameLabelData+            {-# LINE 5169 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5174 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineShape :: T_TagKind +sem_TagKind_DefineShape  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineShape+            {-# LINE 5182 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5187 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineShape2 :: T_TagKind +sem_TagKind_DefineShape2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineShape2+            {-# LINE 5195 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5200 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineShape3 :: T_TagKind +sem_TagKind_DefineShape3  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineShape3+            {-# LINE 5208 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5213 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineShape4 :: T_TagKind +sem_TagKind_DefineShape4  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineShape4+            {-# LINE 5221 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5226 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineSound :: T_TagKind +sem_TagKind_DefineSound  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineSound+            {-# LINE 5234 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5239 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineSprite :: T_TagKind +sem_TagKind_DefineSprite  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineSprite+            {-# LINE 5247 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5252 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineText :: T_TagKind +sem_TagKind_DefineText  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineText+            {-# LINE 5260 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5265 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineText2 :: T_TagKind +sem_TagKind_DefineText2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineText2+            {-# LINE 5273 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5278 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DefineVideoStream :: T_TagKind +sem_TagKind_DefineVideoStream  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DefineVideoStream+            {-# LINE 5286 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5291 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DoABC :: T_TagKind +sem_TagKind_DoABC  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DoABC+            {-# LINE 5299 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5304 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DoAction :: T_TagKind +sem_TagKind_DoAction  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DoAction+            {-# LINE 5312 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5317 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_DoInitAction :: T_TagKind +sem_TagKind_DoInitAction  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_DoInitAction+            {-# LINE 5325 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5330 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_EnableDebugger :: T_TagKind +sem_TagKind_EnableDebugger  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_EnableDebugger+            {-# LINE 5338 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5343 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_EnableDebugger2 :: T_TagKind +sem_TagKind_EnableDebugger2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_EnableDebugger2+            {-# LINE 5351 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5356 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_End :: T_TagKind +sem_TagKind_End  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_End+            {-# LINE 5364 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5369 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_ExportAssets :: T_TagKind +sem_TagKind_ExportAssets  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_ExportAssets+            {-# LINE 5377 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5382 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_FileAttributes :: T_TagKind +sem_TagKind_FileAttributes  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_FileAttributes+            {-# LINE 5390 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5395 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_FrameLabel :: T_TagKind +sem_TagKind_FrameLabel  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_FrameLabel+            {-# LINE 5403 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5408 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_ImportAssets :: T_TagKind +sem_TagKind_ImportAssets  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_ImportAssets+            {-# LINE 5416 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5421 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_ImportAssets2 :: T_TagKind +sem_TagKind_ImportAssets2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_ImportAssets2+            {-# LINE 5429 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5434 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_JPEGTables :: T_TagKind +sem_TagKind_JPEGTables  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_JPEGTables+            {-# LINE 5442 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5447 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_Metadata :: T_TagKind +sem_TagKind_Metadata  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_Metadata+            {-# LINE 5455 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5460 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_Other :: Word16 ->+                     T_TagKind +sem_TagKind_Other code_  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_Other code_+            {-# LINE 5469 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5474 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_PlaceObject :: T_TagKind +sem_TagKind_PlaceObject  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_PlaceObject+            {-# LINE 5482 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5487 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_PlaceObject2 :: T_TagKind +sem_TagKind_PlaceObject2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_PlaceObject2+            {-# LINE 5495 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5500 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_PlaceObject3 :: T_TagKind +sem_TagKind_PlaceObject3  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_PlaceObject3+            {-# LINE 5508 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5513 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_Protect :: T_TagKind +sem_TagKind_Protect  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_Protect+            {-# LINE 5521 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5526 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_RemoveObject :: T_TagKind +sem_TagKind_RemoveObject  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_RemoveObject+            {-# LINE 5534 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5539 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_RemoveObject2 :: T_TagKind +sem_TagKind_RemoveObject2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_RemoveObject2+            {-# LINE 5547 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5552 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_ScriptLimits :: T_TagKind +sem_TagKind_ScriptLimits  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_ScriptLimits+            {-# LINE 5560 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5565 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_SetBackgroundColor :: T_TagKind +sem_TagKind_SetBackgroundColor  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_SetBackgroundColor+            {-# LINE 5573 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5578 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_SetTabIndex :: T_TagKind +sem_TagKind_SetTabIndex  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_SetTabIndex+            {-# LINE 5586 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5591 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_ShowFrame :: T_TagKind +sem_TagKind_ShowFrame  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_ShowFrame+            {-# LINE 5599 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5604 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_SoundStreamBlock :: T_TagKind +sem_TagKind_SoundStreamBlock  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_SoundStreamBlock+            {-# LINE 5612 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5617 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_SoundStreamHead :: T_TagKind +sem_TagKind_SoundStreamHead  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_SoundStreamHead+            {-# LINE 5625 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5630 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_SoundStreamHead2 :: T_TagKind +sem_TagKind_SoundStreamHead2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_SoundStreamHead2+            {-# LINE 5638 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5643 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_StartSound :: T_TagKind +sem_TagKind_StartSound  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_StartSound+            {-# LINE 5651 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5656 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_StartSound2 :: T_TagKind +sem_TagKind_StartSound2  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_StartSound2+            {-# LINE 5664 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5669 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_SymbolClass :: T_TagKind +sem_TagKind_SymbolClass  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_SymbolClass+            {-# LINE 5677 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5682 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+sem_TagKind_VideoFrame :: T_TagKind +sem_TagKind_VideoFrame  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            TagKind_VideoFrame+            {-# LINE 5690 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 5695 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      ( _lhsOkind) }) })+-- Tags --------------------------------------------------------+-- cata+sem_Tags :: Tags  ->+            T_Tags +sem_Tags list  =+    (Prelude.foldr sem_Tags_Cons sem_Tags_Nil (Prelude.map sem_Tag list) )+-- semantic domain+type T_Tags  = ( Builder)+sem_Tags_Cons :: T_Tag  ->+                 T_Tags  ->+                 T_Tags +sem_Tags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                      _hdIoutput ## _tlIoutput+                      {-# LINE 5717 "src/PrettyCode.hs" #-}+                      )) of+               { _lhsOoutput | _lhsOoutput `seq` (True) ->+               ( _lhsOoutput) }) }) })+sem_Tags_Nil :: T_Tags +sem_Tags_Nil  =+    (case (({-# LINE 181 "src/PrettyCode.ag" #-}+            mempty+            {-# LINE 5725 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- Trait -------------------------------------------------------+-- cata+sem_Trait :: Trait  ->+             T_Trait +sem_Trait (Trait_Trait _name _data _attrs _meta )  =+    (sem_Trait_Trait _name (sem_TraitData _data ) (sem_TraitAttrs _attrs ) (sem_TraitMeta _meta ) )+-- semantic domain+type T_Trait  = ( Builder)+sem_Trait_Trait :: Word32 ->+                   T_TraitData  ->+                   T_TraitAttrs  ->+                   T_TraitMeta  ->+                   T_Trait +sem_Trait_Trait name_ data_ attrs_ meta_  =+    (case (attrs_ ) of+     { ( _attrsIflags,_attrsIoutput) | True ->+         (case (({-# LINE 477 "src/PrettyCode.ag" #-}+                 mergeTraitFlags _attrsIflags+                 {-# LINE 5747 "src/PrettyCode.hs" #-}+                 )) of+          { _dataOflags | _dataOflags `seq` (True) ->+          (case (meta_ ) of+           { ( _metaIcount,_metaIoutput) | True ->+               (case (({-# LINE 474 "src/PrettyCode.ag" #-}+                       if TraitAttr_Metadata `elem` _attrsIflags+                       then u30size _metaIcount ## _metaIoutput+                       else empty+                       {-# LINE 5756 "src/PrettyCode.hs" #-}+                       )) of+                { _optMet | _optMet `seq` (True) ->+                (case (data_ _dataOflags ) of+                 { ( _dataIoutput) | True ->+                     (case (({-# LINE 473 "src/PrettyCode.ag" #-}+                             u30 name_ ## _dataIoutput ## _optMet+                             {-# LINE 5763 "src/PrettyCode.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }) })+-- TraitAttr ---------------------------------------------------+-- cata+sem_TraitAttr :: TraitAttr  ->+                 T_TraitAttr +sem_TraitAttr (TraitAttr_Final )  =+    (sem_TraitAttr_Final )+sem_TraitAttr (TraitAttr_Metadata )  =+    (sem_TraitAttr_Metadata )+sem_TraitAttr (TraitAttr_Override )  =+    (sem_TraitAttr_Override )+-- semantic domain+type T_TraitAttr  = ( TraitAttr ,Builder)+sem_TraitAttr_Final :: T_TraitAttr +sem_TraitAttr_Final  =+    (case (({-# LINE 479 "src/PrettyCode.ag" #-}+            TraitAttr_Final+            {-# LINE 5783 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 479 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 5788 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 5793 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+sem_TraitAttr_Metadata :: T_TraitAttr +sem_TraitAttr_Metadata  =+    (case (({-# LINE 479 "src/PrettyCode.ag" #-}+            TraitAttr_Metadata+            {-# LINE 5801 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 479 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 5806 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 5811 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+sem_TraitAttr_Override :: T_TraitAttr +sem_TraitAttr_Override  =+    (case (({-# LINE 479 "src/PrettyCode.ag" #-}+            TraitAttr_Override+            {-# LINE 5819 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 479 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 5824 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 5829 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+-- TraitAttrs --------------------------------------------------+-- cata+sem_TraitAttrs :: TraitAttrs  ->+                  T_TraitAttrs +sem_TraitAttrs list  =+    (Prelude.foldr sem_TraitAttrs_Cons sem_TraitAttrs_Nil (Prelude.map sem_TraitAttr list) )+-- semantic domain+type T_TraitAttrs  = ( TraitAttrs ,Builder)+sem_TraitAttrs_Cons :: T_TraitAttr  ->+                       T_TraitAttrs  ->+                       T_TraitAttrs +sem_TraitAttrs_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIflags,_tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIflags,_hdIoutput) | True ->+              (case (({-# LINE 479 "src/PrettyCode.ag" #-}+                      (:) _hdIflags _tlIflags+                      {-# LINE 5851 "src/PrettyCode.hs" #-}+                      )) of+               { _flags | _flags `seq` (True) ->+               (case (({-# LINE 479 "src/PrettyCode.ag" #-}+                       _flags+                       {-# LINE 5856 "src/PrettyCode.hs" #-}+                       )) of+                { _lhsOflags | _lhsOflags `seq` (True) ->+                (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                        _hdIoutput ## _tlIoutput+                        {-# LINE 5861 "src/PrettyCode.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOflags,_lhsOoutput) }) }) }) }) })+sem_TraitAttrs_Nil :: T_TraitAttrs +sem_TraitAttrs_Nil  =+    (case (({-# LINE 479 "src/PrettyCode.ag" #-}+            []+            {-# LINE 5869 "src/PrettyCode.hs" #-}+            )) of+     { _flags | _flags `seq` (True) ->+     (case (({-# LINE 479 "src/PrettyCode.ag" #-}+             _flags+             {-# LINE 5874 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOflags | _lhsOflags `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 5879 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOflags,_lhsOoutput) }) }) })+-- TraitData ---------------------------------------------------+-- cata+sem_TraitData :: TraitData  ->+                 T_TraitData +sem_TraitData (TraitData_Class _slotId _class )  =+    (sem_TraitData_Class _slotId _class )+sem_TraitData (TraitData_Const _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Const _slotId _tp _vindex (sem_ValueKind _vkind ) )+sem_TraitData (TraitData_Function _dispId _method )  =+    (sem_TraitData_Function _dispId _method )+sem_TraitData (TraitData_Getter _dispId _method )  =+    (sem_TraitData_Getter _dispId _method )+sem_TraitData (TraitData_Method _dispId _method )  =+    (sem_TraitData_Method _dispId _method )+sem_TraitData (TraitData_Setter _dispId _method )  =+    (sem_TraitData_Setter _dispId _method )+sem_TraitData (TraitData_Slot _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Slot _slotId _tp _vindex (sem_ValueKind _vkind ) )+-- semantic domain+type T_TraitData  = Word8 ->+                    ( Builder)+sem_TraitData_Class :: Word32 ->+                       Word32 ->+                       T_TraitData +sem_TraitData_Class slotId_ class_  =+    (\ _lhsIflags ->+         (case (({-# LINE 510 "src/PrettyCode.ag" #-}+                 u30 slotId_ ## u30 class_+                 {-# LINE 5911 "src/PrettyCode.hs" #-}+                 )) of+          { _body | _body `seq` (True) ->+          (case (({-# LINE 497 "src/PrettyCode.ag" #-}+                  4+                  {-# LINE 5916 "src/PrettyCode.hs" #-}+                  )) of+           { _tp | _tp `seq` (True) ->+           (case (({-# LINE 502 "src/PrettyCode.ag" #-}+                   u8 (shiftL _lhsIflags 4 .|. _tp    ) ## _body+                   {-# LINE 5921 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOoutput | _lhsOoutput `seq` (True) ->+            ( _lhsOoutput) }) }) }))+sem_TraitData_Const :: Word32 ->+                       Word32 ->+                       Word32 ->+                       T_ValueKind  ->+                       T_TraitData +sem_TraitData_Const slotId_ tp_ vindex_ vkind_  =+    (\ _lhsIflags ->+         (case (vkind_ ) of+          { ( _vkindIkind,_vkindIoutput) | True ->+              (case (({-# LINE 507 "src/PrettyCode.ag" #-}+                      if vindex_ > 0 then u8 (fromValueKind _vkindIkind) else empty+                      {-# LINE 5936 "src/PrettyCode.hs" #-}+                      )) of+               { _kind | _kind `seq` (True) ->+               (case (({-# LINE 499 "src/PrettyCode.ag" #-}+                       6+                       {-# LINE 5941 "src/PrettyCode.hs" #-}+                       )) of+                { _tp | _tp `seq` (True) ->+                (case (({-# LINE 506 "src/PrettyCode.ag" #-}+                        u30 slotId_ ## u30 tp_ ## u30 vindex_ ## _kind+                        {-# LINE 5946 "src/PrettyCode.hs" #-}+                        )) of+                 { _body | _body `seq` (True) ->+                 (case (({-# LINE 502 "src/PrettyCode.ag" #-}+                         u8 (shiftL _lhsIflags 4 .|. _tp    ) ## _body+                         {-# LINE 5951 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOoutput) }) }) }) }) }))+sem_TraitData_Function :: Word32 ->+                          Word32 ->+                          T_TraitData +sem_TraitData_Function dispId_ method_  =+    (\ _lhsIflags ->+         (case (({-# LINE 509 "src/PrettyCode.ag" #-}+                 u30 dispId_ ## u30 method_+                 {-# LINE 5962 "src/PrettyCode.hs" #-}+                 )) of+          { _body | _body `seq` (True) ->+          (case (({-# LINE 498 "src/PrettyCode.ag" #-}+                  5+                  {-# LINE 5967 "src/PrettyCode.hs" #-}+                  )) of+           { _tp | _tp `seq` (True) ->+           (case (({-# LINE 502 "src/PrettyCode.ag" #-}+                   u8 (shiftL _lhsIflags 4 .|. _tp    ) ## _body+                   {-# LINE 5972 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOoutput | _lhsOoutput `seq` (True) ->+            ( _lhsOoutput) }) }) }))+sem_TraitData_Getter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Getter dispId_ method_  =+    (\ _lhsIflags ->+         (case (({-# LINE 509 "src/PrettyCode.ag" #-}+                 u30 dispId_ ## u30 method_+                 {-# LINE 5983 "src/PrettyCode.hs" #-}+                 )) of+          { _body | _body `seq` (True) ->+          (case (({-# LINE 495 "src/PrettyCode.ag" #-}+                  2+                  {-# LINE 5988 "src/PrettyCode.hs" #-}+                  )) of+           { _tp | _tp `seq` (True) ->+           (case (({-# LINE 502 "src/PrettyCode.ag" #-}+                   u8 (shiftL _lhsIflags 4 .|. _tp    ) ## _body+                   {-# LINE 5993 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOoutput | _lhsOoutput `seq` (True) ->+            ( _lhsOoutput) }) }) }))+sem_TraitData_Method :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Method dispId_ method_  =+    (\ _lhsIflags ->+         (case (({-# LINE 509 "src/PrettyCode.ag" #-}+                 u30 dispId_ ## u30 method_+                 {-# LINE 6004 "src/PrettyCode.hs" #-}+                 )) of+          { _body | _body `seq` (True) ->+          (case (({-# LINE 494 "src/PrettyCode.ag" #-}+                  1+                  {-# LINE 6009 "src/PrettyCode.hs" #-}+                  )) of+           { _tp | _tp `seq` (True) ->+           (case (({-# LINE 502 "src/PrettyCode.ag" #-}+                   u8 (shiftL _lhsIflags 4 .|. _tp    ) ## _body+                   {-# LINE 6014 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOoutput | _lhsOoutput `seq` (True) ->+            ( _lhsOoutput) }) }) }))+sem_TraitData_Setter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Setter dispId_ method_  =+    (\ _lhsIflags ->+         (case (({-# LINE 509 "src/PrettyCode.ag" #-}+                 u30 dispId_ ## u30 method_+                 {-# LINE 6025 "src/PrettyCode.hs" #-}+                 )) of+          { _body | _body `seq` (True) ->+          (case (({-# LINE 496 "src/PrettyCode.ag" #-}+                  3+                  {-# LINE 6030 "src/PrettyCode.hs" #-}+                  )) of+           { _tp | _tp `seq` (True) ->+           (case (({-# LINE 502 "src/PrettyCode.ag" #-}+                   u8 (shiftL _lhsIflags 4 .|. _tp    ) ## _body+                   {-# LINE 6035 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOoutput | _lhsOoutput `seq` (True) ->+            ( _lhsOoutput) }) }) }))+sem_TraitData_Slot :: Word32 ->+                      Word32 ->+                      Word32 ->+                      T_ValueKind  ->+                      T_TraitData +sem_TraitData_Slot slotId_ tp_ vindex_ vkind_  =+    (\ _lhsIflags ->+         (case (vkind_ ) of+          { ( _vkindIkind,_vkindIoutput) | True ->+              (case (({-# LINE 507 "src/PrettyCode.ag" #-}+                      if vindex_ > 0 then u8 (fromValueKind _vkindIkind) else empty+                      {-# LINE 6050 "src/PrettyCode.hs" #-}+                      )) of+               { _kind | _kind `seq` (True) ->+               (case (({-# LINE 493 "src/PrettyCode.ag" #-}+                       0+                       {-# LINE 6055 "src/PrettyCode.hs" #-}+                       )) of+                { _tp | _tp `seq` (True) ->+                (case (({-# LINE 506 "src/PrettyCode.ag" #-}+                        u30 slotId_ ## u30 tp_ ## u30 vindex_ ## _kind+                        {-# LINE 6060 "src/PrettyCode.hs" #-}+                        )) of+                 { _body | _body `seq` (True) ->+                 (case (({-# LINE 502 "src/PrettyCode.ag" #-}+                         u8 (shiftL _lhsIflags 4 .|. _tp    ) ## _body+                         {-# LINE 6065 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOoutput) }) }) }) }) }))+-- TraitKind ---------------------------------------------------+-- cata+sem_TraitKind :: TraitKind  ->+                 T_TraitKind +sem_TraitKind (TraitKind_Class )  =+    (sem_TraitKind_Class )+sem_TraitKind (TraitKind_Const )  =+    (sem_TraitKind_Const )+sem_TraitKind (TraitKind_Function )  =+    (sem_TraitKind_Function )+sem_TraitKind (TraitKind_Getter )  =+    (sem_TraitKind_Getter )+sem_TraitKind (TraitKind_Method )  =+    (sem_TraitKind_Method )+sem_TraitKind (TraitKind_Setter )  =+    (sem_TraitKind_Setter )+sem_TraitKind (TraitKind_Slot )  =+    (sem_TraitKind_Slot )+-- semantic domain+type T_TraitKind  = ( Builder)+sem_TraitKind_Class :: T_TraitKind +sem_TraitKind_Class  =+    (case (({-# LINE 181 "src/PrettyCode.ag" #-}+            mempty+            {-# LINE 6093 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_TraitKind_Const :: T_TraitKind +sem_TraitKind_Const  =+    (case (({-# LINE 181 "src/PrettyCode.ag" #-}+            mempty+            {-# LINE 6101 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_TraitKind_Function :: T_TraitKind +sem_TraitKind_Function  =+    (case (({-# LINE 181 "src/PrettyCode.ag" #-}+            mempty+            {-# LINE 6109 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_TraitKind_Getter :: T_TraitKind +sem_TraitKind_Getter  =+    (case (({-# LINE 181 "src/PrettyCode.ag" #-}+            mempty+            {-# LINE 6117 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_TraitKind_Method :: T_TraitKind +sem_TraitKind_Method  =+    (case (({-# LINE 181 "src/PrettyCode.ag" #-}+            mempty+            {-# LINE 6125 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_TraitKind_Setter :: T_TraitKind +sem_TraitKind_Setter  =+    (case (({-# LINE 181 "src/PrettyCode.ag" #-}+            mempty+            {-# LINE 6133 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+sem_TraitKind_Slot :: T_TraitKind +sem_TraitKind_Slot  =+    (case (({-# LINE 181 "src/PrettyCode.ag" #-}+            mempty+            {-# LINE 6141 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOoutput | _lhsOoutput `seq` (True) ->+     ( _lhsOoutput) })+-- TraitMeta ---------------------------------------------------+-- cata+sem_TraitMeta :: TraitMeta  ->+                 T_TraitMeta +sem_TraitMeta list  =+    (Prelude.foldr sem_TraitMeta_Cons sem_TraitMeta_Nil list )+-- semantic domain+type T_TraitMeta  = ( Int,Builder)+sem_TraitMeta_Cons :: Word32 ->+                      T_TraitMeta  ->+                      T_TraitMeta +sem_TraitMeta_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 332 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 6161 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 332 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 6166 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 332 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 6171 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (({-# LINE 470 "src/PrettyCode.ag" #-}+                    u30 hd_ ## _tlIoutput+                    {-# LINE 6176 "src/PrettyCode.hs" #-}+                    )) of+             { _lhsOoutput | _lhsOoutput `seq` (True) ->+             ( _lhsOcount,_lhsOoutput) }) }) }) }) })+sem_TraitMeta_Nil :: T_TraitMeta +sem_TraitMeta_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 6184 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 6189 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- Traits ------------------------------------------------------+-- cata+sem_Traits :: Traits  ->+              T_Traits +sem_Traits list  =+    (Prelude.foldr sem_Traits_Cons sem_Traits_Nil (Prelude.map sem_Trait list) )+-- semantic domain+type T_Traits  = ( Int,Builder)+sem_Traits_Cons :: T_Trait  ->+                   T_Traits  ->+                   T_Traits +sem_Traits_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIcount,_tlIoutput) | True ->+         (case (({-# LINE 330 "src/PrettyCode.ag" #-}+                 _tlIcount+                 {-# LINE 6209 "src/PrettyCode.hs" #-}+                 )) of+          { _count_augmented_syn | _count_augmented_syn `seq` (True) ->+          (case (({-# LINE 330 "src/PrettyCode.ag" #-}+                  (+1)+                  {-# LINE 6214 "src/PrettyCode.hs" #-}+                  )) of+           { _count_augmented_f1 | _count_augmented_f1 `seq` (True) ->+           (case (({-# LINE 330 "src/PrettyCode.ag" #-}+                   foldr ($) _count_augmented_syn [_count_augmented_f1]+                   {-# LINE 6219 "src/PrettyCode.hs" #-}+                   )) of+            { _lhsOcount | _lhsOcount `seq` (True) ->+            (case (hd_ ) of+             { ( _hdIoutput) | True ->+                 (case (({-# LINE 181 "src/PrettyCode.ag" #-}+                         _hdIoutput ## _tlIoutput+                         {-# LINE 6226 "src/PrettyCode.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOcount,_lhsOoutput) }) }) }) }) }) })+sem_Traits_Nil :: T_Traits +sem_Traits_Nil  =+    (case (({-# LINE 310 "src/PrettyCode.ag" #-}+            0+            {-# LINE 6234 "src/PrettyCode.hs" #-}+            )) of+     { _lhsOcount | _lhsOcount `seq` (True) ->+     (case (({-# LINE 181 "src/PrettyCode.ag" #-}+             mempty+             {-# LINE 6239 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOcount,_lhsOoutput) }) })+-- ValueKind ---------------------------------------------------+-- cata+sem_ValueKind :: ValueKind  ->+                 T_ValueKind +sem_ValueKind (ValueKind_Double )  =+    (sem_ValueKind_Double )+sem_ValueKind (ValueKind_Explicit )  =+    (sem_ValueKind_Explicit )+sem_ValueKind (ValueKind_False )  =+    (sem_ValueKind_False )+sem_ValueKind (ValueKind_Int )  =+    (sem_ValueKind_Int )+sem_ValueKind (ValueKind_Internal )  =+    (sem_ValueKind_Internal )+sem_ValueKind (ValueKind_Namespace )  =+    (sem_ValueKind_Namespace )+sem_ValueKind (ValueKind_Null )  =+    (sem_ValueKind_Null )+sem_ValueKind (ValueKind_Package )  =+    (sem_ValueKind_Package )+sem_ValueKind (ValueKind_Private )  =+    (sem_ValueKind_Private )+sem_ValueKind (ValueKind_Protected )  =+    (sem_ValueKind_Protected )+sem_ValueKind (ValueKind_Static )  =+    (sem_ValueKind_Static )+sem_ValueKind (ValueKind_True )  =+    (sem_ValueKind_True )+sem_ValueKind (ValueKind_UInt )  =+    (sem_ValueKind_UInt )+sem_ValueKind (ValueKind_Undefined )  =+    (sem_ValueKind_Undefined )+sem_ValueKind (ValueKind_Utf8 )  =+    (sem_ValueKind_Utf8 )+-- semantic domain+type T_ValueKind  = ( ValueKind ,Builder)+sem_ValueKind_Double :: T_ValueKind +sem_ValueKind_Double  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_Double+            {-# LINE 6283 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6288 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6293 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_Explicit :: T_ValueKind +sem_ValueKind_Explicit  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_Explicit+            {-# LINE 6301 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6306 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6311 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_False :: T_ValueKind +sem_ValueKind_False  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_False+            {-# LINE 6319 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6324 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6329 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_Int :: T_ValueKind +sem_ValueKind_Int  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_Int+            {-# LINE 6337 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6342 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6347 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_Internal :: T_ValueKind +sem_ValueKind_Internal  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_Internal+            {-# LINE 6355 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6360 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6365 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_Namespace :: T_ValueKind +sem_ValueKind_Namespace  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_Namespace+            {-# LINE 6373 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6378 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6383 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_Null :: T_ValueKind +sem_ValueKind_Null  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_Null+            {-# LINE 6391 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6396 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6401 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_Package :: T_ValueKind +sem_ValueKind_Package  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_Package+            {-# LINE 6409 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6414 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6419 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_Private :: T_ValueKind +sem_ValueKind_Private  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_Private+            {-# LINE 6427 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6432 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6437 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_Protected :: T_ValueKind +sem_ValueKind_Protected  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_Protected+            {-# LINE 6445 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6450 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6455 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_Static :: T_ValueKind +sem_ValueKind_Static  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_Static+            {-# LINE 6463 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6468 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6473 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_True :: T_ValueKind +sem_ValueKind_True  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_True+            {-# LINE 6481 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6486 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6491 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_UInt :: T_ValueKind +sem_ValueKind_UInt  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_UInt+            {-# LINE 6499 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6504 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6509 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_Undefined :: T_ValueKind +sem_ValueKind_Undefined  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_Undefined+            {-# LINE 6517 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6522 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6527 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })+sem_ValueKind_Utf8 :: T_ValueKind +sem_ValueKind_Utf8  =+    (case (({-# LINE 184 "src/PrettyCode.ag" #-}+            ValueKind_Utf8+            {-# LINE 6535 "src/PrettyCode.hs" #-}+            )) of+     { _kind | _kind `seq` (True) ->+     (case (({-# LINE 184 "src/PrettyCode.ag" #-}+             _kind+             {-# LINE 6540 "src/PrettyCode.hs" #-}+             )) of+      { _lhsOkind | _lhsOkind `seq` (True) ->+      (case (({-# LINE 181 "src/PrettyCode.ag" #-}+              mempty+              {-# LINE 6545 "src/PrettyCode.hs" #-}+              )) of+       { _lhsOoutput | _lhsOoutput `seq` (True) ->+       ( _lhsOkind,_lhsOoutput) }) }) })
+ dist/build/PrettyTree.hs view
@@ -0,0 +1,16476 @@+++-- UUAGC 0.9.36 (src/PrettyTree.ag)+module PrettyTree(ppSwf,ppAbc) where++{-# LINE 8 "src/PrettyTree.ag" #-}++import Codec.Binary.UTF8.String+import Data.ByteString.Lazy(ByteString,unpack)+import Data.Word+import Data.Monoid+import ByteCode+import PrettyUtil+import Options+import SymView+import ProgInfo+{-# LINE 18 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyTree.hs" #-}+{-# LINE 23 "src/PrettyTree.ag" #-}++ppSwf :: Options -> [SymbolTables] -> SwfFile -> Doc+ppSwf opts tbls m = out where+  inh = Inh_SwfFile { opts_Inh_SwfFile = opts, tbls_Inh_SwfFile = tbls }+  sem = sem_SwfFile m+  syn = wrap_SwfFile sem inh+  out = output_Syn_SwfFile syn++ppAbc :: Options -> [SymbolTables] -> AbcFile -> Doc+ppAbc opts tbls m = out where+  inh = Inh_AbcFile { opts_Inh_AbcFile = opts, tbls_Inh_AbcFile = tbls }+  sem = sem_AbcFile m+  syn = wrap_AbcFile sem inh+  out = output_Syn_AbcFile syn+{-# LINE 34 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyTree.hs" #-}++{-# LINE 58 "src/PrettyTree.ag" #-}++bool :: Bool -> Doc+bool True  = text "yes"+bool False = text "no"++num :: Num a => a -> Doc+num x = text (show x)++str :: ByteString -> Doc+str = text . decode . unpack++props :: [(String, Doc)] -> Doc+props xs = hsep $ punctuate (text ",") [ text k <> text ":" <+> v | (k,v) <- xs ]+{-# LINE 50 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyTree.hs" #-}++{-# LINE 181 "src/PrettyTree.ag" #-}++data PPInfo = Short | Verbose+{-# LINE 55 "dist/src/sdist.27680/asil-1.2/dist/build/PrettyTree.hs" #-}+-- AbcFile -----------------------------------------------------+-- cata+sem_AbcFile :: AbcFile  ->+               T_AbcFile +sem_AbcFile (AbcFile_File _minorVersion _majorVersion _constantPool _methods _metadatas _instances _classes _scripts _bodies )  =+    (sem_AbcFile_File _minorVersion _majorVersion (sem_PoolInfo _constantPool ) (sem_MethodInfos _methods ) (sem_MetaInfos _metadatas ) (sem_InstanceInfos _instances ) (sem_ClassInfos _classes ) (sem_ScriptInfos _scripts ) (sem_BodyInfos _bodies ) )+-- semantic domain+type T_AbcFile  = Options ->+                  ([SymbolTables]) ->+                  ( Doc,([SymbolTables]))+data Inh_AbcFile  = Inh_AbcFile {opts_Inh_AbcFile :: !(Options),tbls_Inh_AbcFile :: !(([SymbolTables]))}+data Syn_AbcFile  = Syn_AbcFile {output_Syn_AbcFile :: !(Doc),tbls_Syn_AbcFile :: !(([SymbolTables]))}+wrap_AbcFile :: T_AbcFile  ->+                Inh_AbcFile  ->+                Syn_AbcFile +wrap_AbcFile sem (Inh_AbcFile _lhsIopts _lhsItbls )  =+    (let ( _lhsOoutput,_lhsOtbls) | True = sem _lhsIopts _lhsItbls +     in  (Syn_AbcFile _lhsOoutput _lhsOtbls ))+sem_AbcFile_File :: Word16 ->+                    Word16 ->+                    T_PoolInfo  ->+                    T_MethodInfos  ->+                    T_MetaInfos  ->+                    T_InstanceInfos  ->+                    T_ClassInfos  ->+                    T_ScriptInfos  ->+                    T_BodyInfos  ->+                    T_AbcFile +sem_AbcFile_File minorVersion_ majorVersion_ constantPool_ methods_ metadatas_ instances_ classes_ scripts_ bodies_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 55 "src/PrettyTree.ag" #-}+                 head _lhsItbls+                 {-# LINE 89 "src/PrettyTree.hs" #-}+                 )) of+          { _tbls | _tbls `seq` (True) ->+          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                  _tbls+                  {-# LINE 94 "src/PrettyTree.hs" #-}+                  )) of+           { _bodiesOtbls | _bodiesOtbls `seq` (True) ->+           (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                   _tbls+                   {-# LINE 99 "src/PrettyTree.hs" #-}+                   )) of+            { _classesOtbls | _classesOtbls `seq` (True) ->+            (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                    _tbls+                    {-# LINE 104 "src/PrettyTree.hs" #-}+                    )) of+             { _instancesOtbls | _instancesOtbls `seq` (True) ->+             (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                     _tbls+                     {-# LINE 109 "src/PrettyTree.hs" #-}+                     )) of+              { _constantPoolOtbls | _constantPoolOtbls `seq` (True) ->+              (case (({-# LINE 281 "src/PrettyTree.ag" #-}+                      0+                      {-# LINE 114 "src/PrettyTree.hs" #-}+                      )) of+               { _classesOindex | _classesOindex `seq` (True) ->+               (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                       _lhsIopts+                       {-# LINE 119 "src/PrettyTree.hs" #-}+                       )) of+                { _bodiesOopts | _bodiesOopts `seq` (True) ->+                (case (bodies_ _bodiesOopts _bodiesOtbls ) of+                 { ( _bodiesIlength,_bodiesIoutput) | True ->+                     (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                             _lhsIopts+                             {-# LINE 126 "src/PrettyTree.hs" #-}+                             )) of+                      { _classesOopts | _classesOopts `seq` (True) ->+                      (case (classes_ _classesOindex _classesOopts _classesOtbls ) of+                       { ( _classesIlength,_classesIoutput) | True ->+                           (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                   _lhsIopts+                                   {-# LINE 133 "src/PrettyTree.hs" #-}+                                   )) of+                            { _instancesOopts | _instancesOopts `seq` (True) ->+                            (case (({-# LINE 280 "src/PrettyTree.ag" #-}+                                    0+                                    {-# LINE 138 "src/PrettyTree.hs" #-}+                                    )) of+                             { _instancesOindex | _instancesOindex `seq` (True) ->+                             (case (instances_ _instancesOindex _instancesOopts _instancesOtbls ) of+                              { ( _instancesIoutput) | True ->+                                  (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                          _lhsIopts+                                          {-# LINE 145 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _constantPoolOopts | _constantPoolOopts `seq` (True) ->+                                   (case (constantPool_ _constantPoolOopts _constantPoolOtbls ) of+                                    { ( _constantPoolIoutput) | True ->+                                        (case (({-# LINE 99 "src/PrettyTree.ag" #-}+                                                text "ABC" <+> space <+> props+                                                  [ ("major version", num majorVersion_)+                                                  , ("minor version", num minorVersion_)+                                                  , ("classes", num _classesIlength)+                                                  , ("methods", num _bodiesIlength)+                                                  ]+                                                $+$ _constantPoolIoutput+                                                $+$ _classesIoutput+                                                $+$ _instancesIoutput+                                                $+$ _bodiesIoutput+                                                {-# LINE 161 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                         (case (({-# LINE 56 "src/PrettyTree.ag" #-}+                                                 tail _lhsItbls+                                                 {-# LINE 166 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lhsOtbls | _lhsOtbls `seq` (True) ->+                                          ( _lhsOoutput,_lhsOtbls) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+-- AbcFlag -----------------------------------------------------+-- cata+sem_AbcFlag :: AbcFlag  ->+               T_AbcFlag +sem_AbcFlag (AbcFlag_LazyInit )  =+    (sem_AbcFlag_LazyInit )+-- semantic domain+type T_AbcFlag  = ( Bool)+sem_AbcFlag_LazyInit :: T_AbcFlag +sem_AbcFlag_LazyInit  =+    (case (({-# LINE 95 "src/PrettyTree.ag" #-}+            True+            {-# LINE 182 "src/PrettyTree.hs" #-}+            )) of+     { _lhsOdoLazyInit | _lhsOdoLazyInit `seq` (True) ->+     ( _lhsOdoLazyInit) })+-- AbcFlags ----------------------------------------------------+-- cata+sem_AbcFlags :: AbcFlags  ->+                T_AbcFlags +sem_AbcFlags list  =+    (Prelude.foldr sem_AbcFlags_Cons sem_AbcFlags_Nil (Prelude.map sem_AbcFlag list) )+-- semantic domain+type T_AbcFlags  = ( Bool)+sem_AbcFlags_Cons :: T_AbcFlag  ->+                     T_AbcFlags  ->+                     T_AbcFlags +sem_AbcFlags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIdoLazyInit) | True ->+         (case (hd_ ) of+          { ( _hdIdoLazyInit) | True ->+              (case (({-# LINE 94 "src/PrettyTree.ag" #-}+                      _hdIdoLazyInit || _tlIdoLazyInit+                      {-# LINE 204 "src/PrettyTree.hs" #-}+                      )) of+               { _lhsOdoLazyInit | _lhsOdoLazyInit `seq` (True) ->+               ( _lhsOdoLazyInit) }) }) })+sem_AbcFlags_Nil :: T_AbcFlags +sem_AbcFlags_Nil  =+    (case (({-# LINE 94 "src/PrettyTree.ag" #-}+            False+            {-# LINE 212 "src/PrettyTree.hs" #-}+            )) of+     { _lhsOdoLazyInit | _lhsOdoLazyInit `seq` (True) ->+     ( _lhsOdoLazyInit) })+-- BodyInfo ----------------------------------------------------+-- cata+sem_BodyInfo :: BodyInfo  ->+                T_BodyInfo +sem_BodyInfo (BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth _instructions _exceptions _traits )  =+    (sem_BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth (sem_Instructions _instructions ) (sem_Exceptions _exceptions ) (sem_Traits _traits ) )+-- semantic domain+type T_BodyInfo  = Options ->+                   SymbolTables ->+                   ( Int,Doc)+sem_BodyInfo_Info :: Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     T_Instructions  ->+                     T_Exceptions  ->+                     T_Traits  ->+                     T_BodyInfo +sem_BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ instructions_ exceptions_ traits_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 113 "src/PrettyTree.ag" #-}+                 1+                 {-# LINE 240 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlength | _lhsOlength `seq` (True) ->+          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 245 "src/PrettyTree.hs" #-}+                  )) of+           { _exceptionsOtbls | _exceptionsOtbls `seq` (True) ->+           (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                   _lhsItbls+                   {-# LINE 250 "src/PrettyTree.hs" #-}+                   )) of+            { _instructionsOtbls | _instructionsOtbls `seq` (True) ->+            (case (({-# LINE 2 "src/ByteCodeLocationInfo.ag" #-}+                    0+                    {-# LINE 255 "src/PrettyTree.hs" #-}+                    )) of+             { _instructionsOlocation | _instructionsOlocation `seq` (True) ->+             (case (({-# LINE 436 "src/PrettyTree.ag" #-}+                     Nothing+                     {-# LINE 260 "src/PrettyTree.hs" #-}+                     )) of+              { _instructionsOmbLoc | _instructionsOmbLoc `seq` (True) ->+              (case (instructions_ _instructionsOlocation _instructionsOmbLoc ) of+               { ( _instructionsIlocation,_instructionsImbLoc,instructions_1) | True ->+                   (case (({-# LINE 3 "src/ByteCodeLocationInfo.ag" #-}+                           0+                           {-# LINE 267 "src/PrettyTree.hs" #-}+                           )) of+                    { _instructionsOrevLocation | _instructionsOrevLocation `seq` (True) ->+                    (case (({-# LINE 455 "src/PrettyTree.ag" #-}+                            0+                            {-# LINE 272 "src/PrettyTree.hs" #-}+                            )) of+                     { _exceptionsOindex | _exceptionsOindex `seq` (True) ->+                     (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                             _lhsIopts+                             {-# LINE 277 "src/PrettyTree.hs" #-}+                             )) of+                      { _exceptionsOopts | _exceptionsOopts `seq` (True) ->+                      (case (exceptions_ _exceptionsOindex _exceptionsOopts _exceptionsOtbls ) of+                       { ( _exceptionsIgathExcptEnv,_exceptionsIoutput) | True ->+                           (case (({-# LINE 466 "src/PrettyTree.ag" #-}+                                   _exceptionsIgathExcptEnv+                                   {-# LINE 284 "src/PrettyTree.hs" #-}+                                   )) of+                            { _instructionsOexcptEnv | _instructionsOexcptEnv `seq` (True) ->+                            (case (({-# LINE 405 "src/PrettyTree.ag" #-}+                                    methodView _lhsItbls (Ref method_)+                                    {-# LINE 289 "src/PrettyTree.hs" #-}+                                    )) of+                             { m_val_ | m_val_ `seq` (True) ->+                             (case ((sem_MethodV m_val_ )) of+                              { m_inst_ | m_inst_ `seq` (True) ->+                              (case (({-# LINE 406 "src/PrettyTree.ag" #-}+                                      Short+                                      {-# LINE 296 "src/PrettyTree.hs" #-}+                                      )) of+                               { _mOinfo | _mOinfo `seq` (True) ->+                               (case (m_inst_ _mOinfo ) of+                                { ( _mIoutput) | True ->+                                    (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                            _lhsIopts+                                            {-# LINE 303 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _instructionsOopts | _instructionsOopts `seq` (True) ->+                                     (case (instructions_1 _instructionsOexcptEnv _instructionsOopts _instructionsOrevLocation _instructionsOtbls ) of+                                      { ( _instructionsIoutput,_instructionsIrevLocation) | True ->+                                          (case (({-# LINE 408 "src/PrettyTree.ag" #-}+                                                  text "METHOD" <+> _mIoutput <+> space <+> props+                                                    [ ("max stack",   num maxStack_)+                                                    , ("locals",      num localCount_)+                                                    , ("init scopes", num initScopeDepth_)+                                                    , ("max scopes",  num maxScopeDepth_)+                                                    ]+                                                  $+$ nest 2 _instructionsIoutput+                                                  $+$ nest 2 _exceptionsIoutput+                                                  {-# LINE 317 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                           ( _lhsOlength,_lhsOoutput) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+-- BodyInfos ---------------------------------------------------+-- cata+sem_BodyInfos :: BodyInfos  ->+                 T_BodyInfos +sem_BodyInfos list  =+    (Prelude.foldr sem_BodyInfos_Cons sem_BodyInfos_Nil (Prelude.map sem_BodyInfo list) )+-- semantic domain+type T_BodyInfos  = Options ->+                    SymbolTables ->+                    ( Int,Doc)+sem_BodyInfos_Cons :: T_BodyInfo  ->+                      T_BodyInfos  ->+                      T_BodyInfos +sem_BodyInfos_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 339 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 344 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOopts | _tlOopts `seq` (True) ->+           (case (tl_ _tlOopts _tlOtbls ) of+            { ( _tlIlength,_tlIoutput) | True ->+                (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                        _lhsItbls+                        {-# LINE 351 "src/PrettyTree.hs" #-}+                        )) of+                 { _hdOtbls | _hdOtbls `seq` (True) ->+                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                         _lhsIopts+                         {-# LINE 356 "src/PrettyTree.hs" #-}+                         )) of+                  { _hdOopts | _hdOopts `seq` (True) ->+                  (case (hd_ _hdOopts _hdOtbls ) of+                   { ( _hdIlength,_hdIoutput) | True ->+                       (case (({-# LINE 110 "src/PrettyTree.ag" #-}+                               _hdIlength + _tlIlength+                               {-# LINE 363 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOlength | _lhsOlength `seq` (True) ->+                        (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                _hdIoutput $+$ _tlIoutput+                                {-# LINE 368 "src/PrettyTree.hs" #-}+                                )) of+                         { _lhsOoutput | _lhsOoutput `seq` (True) ->+                         ( _lhsOlength,_lhsOoutput) }) }) }) }) }) }) }) }))+sem_BodyInfos_Nil :: T_BodyInfos +sem_BodyInfos_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 110 "src/PrettyTree.ag" #-}+                 0+                 {-# LINE 378 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlength | _lhsOlength `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  empty+                  {-# LINE 383 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOlength,_lhsOoutput) }) }))+-- CaseOffsets -------------------------------------------------+-- cata+sem_CaseOffsets :: CaseOffsets  ->+                   T_CaseOffsets +sem_CaseOffsets list  =+    (Prelude.foldr sem_CaseOffsets_Cons sem_CaseOffsets_Nil list )+-- semantic domain+type T_CaseOffsets  = Int ->+                      ( Int,T_CaseOffsets_1 )+type T_CaseOffsets_1  = Options ->+                        Int ->+                        SymbolTables ->+                        ( Doc,Int)+sem_CaseOffsets_Cons :: Word32 ->+                        T_CaseOffsets  ->+                        T_CaseOffsets +sem_CaseOffsets_Cons hd_ tl_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 407 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOlocation | _tlOlocation `seq` (True) ->+          (case (tl_ _tlOlocation ) of+           { ( _tlIlocation,tl_1) | True ->+               (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                       _tlIlocation+                       {-# LINE 414 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOlocation | _lhsOlocation `seq` (True) ->+                (case ((let sem_CaseOffsets_Cons_1 :: T_CaseOffsets_1 +                            sem_CaseOffsets_Cons_1  =+                                (\ _lhsIopts+                                   _lhsIrevLocation+                                   _lhsItbls ->+                                     (case (({-# LINE 30 "src/ByteCodeLocationInfo.ag" #-}+                                             fromS24 hd_+                                             {-# LINE 424 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _relative | _relative `seq` (True) ->+                                      (case (({-# LINE 31 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIlocation + _relative+                                              {-# LINE 429 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _target | _target `seq` (True) ->+                                       (case (({-# LINE 691 "src/PrettyTree.ag" #-}+                                               text "CASE" <+> num _target     <+> parens (num _relative    )+                                               {-# LINE 434 "src/PrettyTree.hs" #-}+                                               )) of+                                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                        (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                _lhsIrevLocation+                                                {-# LINE 439 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _tlOrevLocation | _tlOrevLocation `seq` (True) ->+                                         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                                                 _lhsItbls+                                                 {-# LINE 444 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _tlOtbls | _tlOtbls `seq` (True) ->+                                          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                                  _lhsIopts+                                                  {-# LINE 449 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _tlOopts | _tlOopts `seq` (True) ->+                                           (case (tl_1 _tlOopts _tlOrevLocation _tlOtbls ) of+                                            { ( _tlIoutput,_tlIrevLocation) | True ->+                                                (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                        _tlIrevLocation+                                                        {-# LINE 456 "src/PrettyTree.hs" #-}+                                                        )) of+                                                 { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                                 ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }))+                        in  sem_CaseOffsets_Cons_1)) of+                 { ( sem_CaseOffsets_1) | True ->+                 ( _lhsOlocation,sem_CaseOffsets_1) }) }) }) }))+sem_CaseOffsets_Nil :: T_CaseOffsets +sem_CaseOffsets_Nil  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 468 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case ((let sem_CaseOffsets_Nil_1 :: T_CaseOffsets_1 +                      sem_CaseOffsets_Nil_1  =+                          (\ _lhsIopts+                             _lhsIrevLocation+                             _lhsItbls ->+                               (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                       empty+                                       {-# LINE 478 "src/PrettyTree.hs" #-}+                                       )) of+                                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                        _lhsIrevLocation+                                        {-# LINE 483 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                 ( _lhsOoutput,_lhsOrevLocation) }) }))+                  in  sem_CaseOffsets_Nil_1)) of+           { ( sem_CaseOffsets_1) | True ->+           ( _lhsOlocation,sem_CaseOffsets_1) }) }))+-- ClassInfo ---------------------------------------------------+-- cata+sem_ClassInfo :: ClassInfo  ->+                 T_ClassInfo +sem_ClassInfo (ClassInfo_Info _con _traits )  =+    (sem_ClassInfo_Info _con (sem_Traits _traits ) )+-- semantic domain+type T_ClassInfo  = Word32 ->+                    Options ->+                    SymbolTables ->+                    ( Int,Doc)+sem_ClassInfo_Info :: Word32 ->+                      T_Traits  ->+                      T_ClassInfo +sem_ClassInfo_Info con_ traits_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 112 "src/PrettyTree.ag" #-}+                 1+                 {-# LINE 510 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlength | _lhsOlength `seq` (True) ->+          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 515 "src/PrettyTree.hs" #-}+                  )) of+           { _traitsOtbls | _traitsOtbls `seq` (True) ->+           (case (({-# LINE 391 "src/PrettyTree.ag" #-}+                   methodView _lhsItbls (Ref con_)+                   {-# LINE 520 "src/PrettyTree.hs" #-}+                   )) of+            { m_val_ | m_val_ `seq` (True) ->+            (case ((sem_MethodV m_val_ )) of+             { m_inst_ | m_inst_ `seq` (True) ->+             (case (({-# LINE 383 "src/PrettyTree.ag" #-}+                     Ref _lhsIindex+                     {-# LINE 527 "src/PrettyTree.hs" #-}+                     )) of+              { _key | _key `seq` (True) ->+              (case (({-# LINE 384 "src/PrettyTree.ag" #-}+                      lookupClass _key     _lhsItbls+                      {-# LINE 532 "src/PrettyTree.hs" #-}+                      )) of+               { _descr | _descr `seq` (True) ->+               (case (({-# LINE 387 "src/PrettyTree.ag" #-}+                       nameView _lhsItbls (clName _descr    )+                       {-# LINE 537 "src/PrettyTree.hs" #-}+                       )) of+                { nm_val_ | nm_val_ `seq` (True) ->+                (case ((sem_NmV nm_val_ )) of+                 { nm_inst_ | nm_inst_ `seq` (True) ->+                 (case (({-# LINE 388 "src/PrettyTree.ag" #-}+                         Short+                         {-# LINE 544 "src/PrettyTree.hs" #-}+                         )) of+                  { _nmOinfo | _nmOinfo `seq` (True) ->+                  (case (({-# LINE 392 "src/PrettyTree.ag" #-}+                          Short+                          {-# LINE 549 "src/PrettyTree.hs" #-}+                          )) of+                   { _mOinfo | _mOinfo `seq` (True) ->+                   (case (m_inst_ _mOinfo ) of+                    { ( _mIoutput) | True ->+                        (case (nm_inst_ _nmOinfo ) of+                         { ( _nmIisEmpty,_nmIoutput) | True ->+                             (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                     _lhsIopts+                                     {-# LINE 558 "src/PrettyTree.hs" #-}+                                     )) of+                              { _traitsOopts | _traitsOopts `seq` (True) ->+                              (case (traits_ _traitsOopts _traitsOtbls ) of+                               { ( _traitsIoutput) | True ->+                                   (case (({-# LINE 394 "src/PrettyTree.ag" #-}+                                           text "CLASS" <+> _nmIoutput+                                           $+$ nest 2 (text "CON" <+> _mIoutput)+                                           $+$ nest 2 _traitsIoutput+                                           {-# LINE 567 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    ( _lhsOlength,_lhsOoutput) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+-- ClassInfos --------------------------------------------------+-- cata+sem_ClassInfos :: ClassInfos  ->+                  T_ClassInfos +sem_ClassInfos list  =+    (Prelude.foldr sem_ClassInfos_Cons sem_ClassInfos_Nil (Prelude.map sem_ClassInfo list) )+-- semantic domain+type T_ClassInfos  = Word32 ->+                     Options ->+                     SymbolTables ->+                     ( Int,Doc)+sem_ClassInfos_Cons :: T_ClassInfo  ->+                       T_ClassInfos  ->+                       T_ClassInfos +sem_ClassInfos_Cons hd_ tl_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 591 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 596 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOopts | _tlOopts `seq` (True) ->+           (case (({-# LINE 283 "src/PrettyTree.ag" #-}+                   1 + _lhsIindex+                   {-# LINE 601 "src/PrettyTree.hs" #-}+                   )) of+            { _tlOindex | _tlOindex `seq` (True) ->+            (case (tl_ _tlOindex _tlOopts _tlOtbls ) of+             { ( _tlIlength,_tlIoutput) | True ->+                 (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                         _lhsItbls+                         {-# LINE 608 "src/PrettyTree.hs" #-}+                         )) of+                  { _hdOtbls | _hdOtbls `seq` (True) ->+                  (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                          _lhsIopts+                          {-# LINE 613 "src/PrettyTree.hs" #-}+                          )) of+                   { _hdOopts | _hdOopts `seq` (True) ->+                   (case (({-# LINE 277 "src/PrettyTree.ag" #-}+                           _lhsIindex+                           {-# LINE 618 "src/PrettyTree.hs" #-}+                           )) of+                    { _hdOindex | _hdOindex `seq` (True) ->+                    (case (hd_ _hdOindex _hdOopts _hdOtbls ) of+                     { ( _hdIlength,_hdIoutput) | True ->+                         (case (({-# LINE 110 "src/PrettyTree.ag" #-}+                                 _hdIlength + _tlIlength+                                 {-# LINE 625 "src/PrettyTree.hs" #-}+                                 )) of+                          { _lhsOlength | _lhsOlength `seq` (True) ->+                          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                  _hdIoutput $+$ _tlIoutput+                                  {-# LINE 630 "src/PrettyTree.hs" #-}+                                  )) of+                           { _lhsOoutput | _lhsOoutput `seq` (True) ->+                           ( _lhsOlength,_lhsOoutput) }) }) }) }) }) }) }) }) }) }))+sem_ClassInfos_Nil :: T_ClassInfos +sem_ClassInfos_Nil  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 110 "src/PrettyTree.ag" #-}+                 0+                 {-# LINE 641 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlength | _lhsOlength `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  empty+                  {-# LINE 646 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOlength,_lhsOoutput) }) }))+-- ClassV ------------------------------------------------------+-- cata+sem_ClassV :: ClassV  ->+              T_ClassV +sem_ClassV (ClassV_Class _ref _nm _mbSuper _itfs _dynTraits _staTraits )  =+    (sem_ClassV_Class _ref (sem_NmV _nm ) (sem_MbSuperV _mbSuper ) (sem_ItfsV _itfs ) (sem_TraitsV _dynTraits ) (sem_TraitsV _staTraits ) )+-- semantic domain+type T_ClassV  = PPInfo ->+                 ( Doc)+sem_ClassV_Class :: ClassRef ->+                    T_NmV  ->+                    T_MbSuperV  ->+                    T_ItfsV  ->+                    T_TraitsV  ->+                    T_TraitsV  ->+                    T_ClassV +sem_ClassV_Class ref_ nm_ mbSuper_ itfs_ dynTraits_ staTraits_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 670 "src/PrettyTree.hs" #-}+                 )) of+          { _nmOinfo | _nmOinfo `seq` (True) ->+          (case (nm_ _nmOinfo ) of+           { ( _nmIisEmpty,_nmIoutput) | True ->+               (case (({-# LINE 269 "src/PrettyTree.ag" #-}+                       _nmIoutput+                       {-# LINE 677 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }))+-- ClassesV ----------------------------------------------------+-- cata+sem_ClassesV :: ClassesV  ->+                T_ClassesV +sem_ClassesV list  =+    (Prelude.foldr sem_ClassesV_Cons sem_ClassesV_Nil (Prelude.map sem_ClassV list) )+-- semantic domain+type T_ClassesV  = PPInfo ->+                   ( Doc)+sem_ClassesV_Cons :: T_ClassV  ->+                     T_ClassesV  ->+                     T_ClassesV +sem_ClassesV_Cons hd_ tl_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 697 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOinfo | _tlOinfo `seq` (True) ->+          (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                  _lhsIinfo+                  {-# LINE 702 "src/PrettyTree.hs" #-}+                  )) of+           { _hdOinfo | _hdOinfo `seq` (True) ->+           (case (tl_ _tlOinfo ) of+            { ( _tlIoutput) | True ->+                (case (hd_ _hdOinfo ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                             _hdIoutput $+$ _tlIoutput+                             {-# LINE 711 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+sem_ClassesV_Nil :: T_ClassesV +sem_ClassesV_Nil  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 720 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- DebugType ---------------------------------------------------+-- cata+sem_DebugType :: DebugType  ->+                 T_DebugType +sem_DebugType (DebugType_Local )  =+    (sem_DebugType_Local )+-- semantic domain+type T_DebugType  = Options ->+                    SymbolTables ->+                    ( Doc)+sem_DebugType_Local :: T_DebugType +sem_DebugType_Local  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 740 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- Exception ---------------------------------------------------+-- cata+sem_Exception :: Exception  ->+                 T_Exception +sem_Exception (Exception_Info _from _to _target _tp _name )  =+    (sem_Exception_Info _from _to _target _tp _name )+-- semantic domain+type T_Exception  = Word32 ->+                    Options ->+                    SymbolTables ->+                    ( ExceptionDescrs,Doc)+sem_Exception_Info :: Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      T_Exception +sem_Exception_Info from_ to_ target_ tp_ name_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 458 "src/PrettyTree.ag" #-}+                 singleEnv _lhsIindex ExceptionDescr+                   { expFrom    = from_+                   , expTo      = to_+                   , expTarget  = target_+                   , expTp      = Ref tp_+                   , expName    = Ref name_+                   }+                 {-# LINE 773 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOgathExcptEnv | _lhsOgathExcptEnv `seq` (True) ->+          (case (({-# LINE 419 "src/PrettyTree.ag" #-}+                  nameView _lhsItbls (Ref tp_)+                  {-# LINE 778 "src/PrettyTree.hs" #-}+                  )) of+           { nm_val_ | nm_val_ `seq` (True) ->+           (case ((sem_NmV nm_val_ )) of+            { nm_inst_ | nm_inst_ `seq` (True) ->+            (case (({-# LINE 420 "src/PrettyTree.ag" #-}+                    Short+                    {-# LINE 785 "src/PrettyTree.hs" #-}+                    )) of+             { _nmOinfo | _nmOinfo `seq` (True) ->+             (case (nm_inst_ _nmOinfo ) of+              { ( _nmIisEmpty,_nmIoutput) | True ->+                  (case (({-# LINE 422 "src/PrettyTree.ag" #-}+                          text "EXCEPTION" <+> _nmIoutput <+> space <+> props+                            [ ("from",   num from_)+                            , ("to",     num to_)+                            , ("target", num target_)+                            ]+                          {-# LINE 796 "src/PrettyTree.hs" #-}+                          )) of+                   { _lhsOoutput | _lhsOoutput `seq` (True) ->+                   ( _lhsOgathExcptEnv,_lhsOoutput) }) }) }) }) }) }))+-- Exceptions --------------------------------------------------+-- cata+sem_Exceptions :: Exceptions  ->+                  T_Exceptions +sem_Exceptions list  =+    (Prelude.foldr sem_Exceptions_Cons sem_Exceptions_Nil (Prelude.map sem_Exception list) )+-- semantic domain+type T_Exceptions  = Word32 ->+                     Options ->+                     SymbolTables ->+                     ( ExceptionDescrs,Doc)+sem_Exceptions_Cons :: T_Exception  ->+                       T_Exceptions  ->+                       T_Exceptions +sem_Exceptions_Cons hd_ tl_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 454 "src/PrettyTree.ag" #-}+                 _lhsIindex+                 {-# LINE 820 "src/PrettyTree.hs" #-}+                 )) of+          { _hdOindex | _hdOindex `seq` (True) ->+          (case (({-# LINE 456 "src/PrettyTree.ag" #-}+                  1 + _lhsIindex+                  {-# LINE 825 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOindex | _tlOindex `seq` (True) ->+           (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                   _lhsItbls+                   {-# LINE 830 "src/PrettyTree.hs" #-}+                   )) of+            { _tlOtbls | _tlOtbls `seq` (True) ->+            (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                    _lhsIopts+                    {-# LINE 835 "src/PrettyTree.hs" #-}+                    )) of+             { _tlOopts | _tlOopts `seq` (True) ->+             (case (tl_ _tlOindex _tlOopts _tlOtbls ) of+              { ( _tlIgathExcptEnv,_tlIoutput) | True ->+                  (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                          _lhsItbls+                          {-# LINE 842 "src/PrettyTree.hs" #-}+                          )) of+                   { _hdOtbls | _hdOtbls `seq` (True) ->+                   (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                           _lhsIopts+                           {-# LINE 847 "src/PrettyTree.hs" #-}+                           )) of+                    { _hdOopts | _hdOopts `seq` (True) ->+                    (case (hd_ _hdOindex _hdOopts _hdOtbls ) of+                     { ( _hdIgathExcptEnv,_hdIoutput) | True ->+                         (case (({-# LINE 454 "src/PrettyTree.ag" #-}+                                 _hdIgathExcptEnv `mappend` _tlIgathExcptEnv+                                 {-# LINE 854 "src/PrettyTree.hs" #-}+                                 )) of+                          { _lhsOgathExcptEnv | _lhsOgathExcptEnv `seq` (True) ->+                          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                  _hdIoutput $+$ _tlIoutput+                                  {-# LINE 859 "src/PrettyTree.hs" #-}+                                  )) of+                           { _lhsOoutput | _lhsOoutput `seq` (True) ->+                           ( _lhsOgathExcptEnv,_lhsOoutput) }) }) }) }) }) }) }) }) }) }))+sem_Exceptions_Nil :: T_Exceptions +sem_Exceptions_Nil  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 454 "src/PrettyTree.ag" #-}+                 mempty+                 {-# LINE 870 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOgathExcptEnv | _lhsOgathExcptEnv `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  empty+                  {-# LINE 875 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOgathExcptEnv,_lhsOoutput) }) }))+-- FileV -------------------------------------------------------+-- cata+sem_FileV :: FileV  ->+             T_FileV +sem_FileV (FileV_File _tables )  =+    (sem_FileV_File (sem_TablesV _tables ) )+-- semantic domain+type T_FileV  = PPInfo ->+                ( Doc)+sem_FileV_File :: T_TablesV  ->+                  T_FileV +sem_FileV_File tables_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 894 "src/PrettyTree.hs" #-}+                 )) of+          { _tablesOinfo | _tablesOinfo `seq` (True) ->+          (case (tables_ _tablesOinfo ) of+           { ( _tablesIoutput) | True ->+               (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                       _tablesIoutput+                       {-# LINE 901 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }))+-- InstanceFlag ------------------------------------------------+-- cata+sem_InstanceFlag :: InstanceFlag  ->+                    T_InstanceFlag +sem_InstanceFlag (InstanceFlag_ClassFinal )  =+    (sem_InstanceFlag_ClassFinal )+sem_InstanceFlag (InstanceFlag_ClassInterface )  =+    (sem_InstanceFlag_ClassInterface )+sem_InstanceFlag (InstanceFlag_ClassProtected )  =+    (sem_InstanceFlag_ClassProtected )+sem_InstanceFlag (InstanceFlag_ClassSealed )  =+    (sem_InstanceFlag_ClassSealed )+-- semantic domain+type T_InstanceFlag  = Options ->+                       SymbolTables ->+                       ( Doc)+sem_InstanceFlag_ClassFinal :: T_InstanceFlag +sem_InstanceFlag_ClassFinal  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 314 "src/PrettyTree.ag" #-}+                 text "FLAG final"+                 {-# LINE 927 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_InstanceFlag_ClassInterface :: T_InstanceFlag +sem_InstanceFlag_ClassInterface  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 315 "src/PrettyTree.ag" #-}+                 text "FLAG is interface"+                 {-# LINE 937 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_InstanceFlag_ClassProtected :: T_InstanceFlag +sem_InstanceFlag_ClassProtected  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 316 "src/PrettyTree.ag" #-}+                 text "FLAG has protected namespace"+                 {-# LINE 947 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_InstanceFlag_ClassSealed :: T_InstanceFlag +sem_InstanceFlag_ClassSealed  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 313 "src/PrettyTree.ag" #-}+                 text "FLAG sealed"+                 {-# LINE 957 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- InstanceFlags -----------------------------------------------+-- cata+sem_InstanceFlags :: InstanceFlags  ->+                     T_InstanceFlags +sem_InstanceFlags list  =+    (Prelude.foldr sem_InstanceFlags_Cons sem_InstanceFlags_Nil (Prelude.map sem_InstanceFlag list) )+-- semantic domain+type T_InstanceFlags  = Options ->+                        SymbolTables ->+                        ( Doc)+sem_InstanceFlags_Cons :: T_InstanceFlag  ->+                          T_InstanceFlags  ->+                          T_InstanceFlags +sem_InstanceFlags_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 979 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 984 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOopts | _tlOopts `seq` (True) ->+           (case (tl_ _tlOopts _tlOtbls ) of+            { ( _tlIoutput) | True ->+                (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                        _lhsItbls+                        {-# LINE 991 "src/PrettyTree.hs" #-}+                        )) of+                 { _hdOtbls | _hdOtbls `seq` (True) ->+                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                         _lhsIopts+                         {-# LINE 996 "src/PrettyTree.hs" #-}+                         )) of+                  { _hdOopts | _hdOopts `seq` (True) ->+                  (case (hd_ _hdOopts _hdOtbls ) of+                   { ( _hdIoutput) | True ->+                       (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                               _hdIoutput $+$ _tlIoutput+                               {-# LINE 1003 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        ( _lhsOoutput) }) }) }) }) }) }) }))+sem_InstanceFlags_Nil :: T_InstanceFlags +sem_InstanceFlags_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 1013 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- InstanceInfo ------------------------------------------------+-- cata+sem_InstanceInfo :: InstanceInfo  ->+                    T_InstanceInfo +sem_InstanceInfo (InstanceInfo_Info _name _super _flags _protectedNs _interfaces _constructor _traits )  =+    (sem_InstanceInfo_Info _name _super (sem_InstanceFlags _flags ) _protectedNs (sem_Interfaces _interfaces ) _constructor (sem_Traits _traits ) )+-- semantic domain+type T_InstanceInfo  = Word32 ->+                       Options ->+                       SymbolTables ->+                       ( Doc)+sem_InstanceInfo_Info :: Word32 ->+                         Word32 ->+                         T_InstanceFlags  ->+                         Word32 ->+                         T_Interfaces  ->+                         Word32 ->+                         T_Traits  ->+                         T_InstanceInfo +sem_InstanceInfo_Info name_ super_ flags_ protectedNs_ interfaces_ constructor_ traits_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 1042 "src/PrettyTree.hs" #-}+                 )) of+          { _traitsOtbls | _traitsOtbls `seq` (True) ->+          (case (({-# LINE 300 "src/PrettyTree.ag" #-}+                  namespaceView _lhsItbls (Ref protectedNs_)+                  {-# LINE 1047 "src/PrettyTree.hs" #-}+                  )) of+           { ns_val_ | ns_val_ `seq` (True) ->+           (case ((sem_NsV ns_val_ )) of+            { ns_inst_ | ns_inst_ `seq` (True) ->+            (case (({-# LINE 301 "src/PrettyTree.ag" #-}+                    Verbose+                    {-# LINE 1054 "src/PrettyTree.hs" #-}+                    )) of+             { _nsOinfo | _nsOinfo `seq` (True) ->+             (case (({-# LINE 296 "src/PrettyTree.ag" #-}+                     methodView _lhsItbls (Ref constructor_)+                     {-# LINE 1059 "src/PrettyTree.hs" #-}+                     )) of+              { con_val_ | con_val_ `seq` (True) ->+              (case ((sem_MethodV con_val_ )) of+               { con_inst_ | con_inst_ `seq` (True) ->+               (case (({-# LINE 292 "src/PrettyTree.ag" #-}+                       nameView _lhsItbls (Ref super_)+                       {-# LINE 1066 "src/PrettyTree.hs" #-}+                       )) of+                { s_val_ | s_val_ `seq` (True) ->+                (case ((sem_NmV s_val_ )) of+                 { s_inst_ | s_inst_ `seq` (True) ->+                 (case (({-# LINE 293 "src/PrettyTree.ag" #-}+                         Short+                         {-# LINE 1073 "src/PrettyTree.hs" #-}+                         )) of+                  { _sOinfo | _sOinfo `seq` (True) ->+                  (case (({-# LINE 288 "src/PrettyTree.ag" #-}+                          nameView _lhsItbls (Ref name_)+                          {-# LINE 1078 "src/PrettyTree.hs" #-}+                          )) of+                   { nm_val_ | nm_val_ `seq` (True) ->+                   (case ((sem_NmV nm_val_ )) of+                    { nm_inst_ | nm_inst_ `seq` (True) ->+                    (case (({-# LINE 289 "src/PrettyTree.ag" #-}+                            Short+                            {-# LINE 1085 "src/PrettyTree.hs" #-}+                            )) of+                     { _nmOinfo | _nmOinfo `seq` (True) ->+                     (case (ns_inst_ _nsOinfo ) of+                      { ( _nsIisEmpty,_nsIoutput) | True ->+                          (case (({-# LINE 297 "src/PrettyTree.ag" #-}+                                  Short+                                  {-# LINE 1092 "src/PrettyTree.hs" #-}+                                  )) of+                           { _conOinfo | _conOinfo `seq` (True) ->+                           (case (con_inst_ _conOinfo ) of+                            { ( _conIoutput) | True ->+                                (case (s_inst_ _sOinfo ) of+                                 { ( _sIisEmpty,_sIoutput) | True ->+                                     (case (nm_inst_ _nmOinfo ) of+                                      { ( _nmIisEmpty,_nmIoutput) | True ->+                                          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                                  _lhsIopts+                                                  {-# LINE 1103 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _traitsOopts | _traitsOopts `seq` (True) ->+                                           (case (traits_ _traitsOopts _traitsOtbls ) of+                                            { ( _traitsIoutput) | True ->+                                                (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                                                        _lhsItbls+                                                        {-# LINE 1110 "src/PrettyTree.hs" #-}+                                                        )) of+                                                 { _interfacesOtbls | _interfacesOtbls `seq` (True) ->+                                                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                                         _lhsIopts+                                                         {-# LINE 1115 "src/PrettyTree.hs" #-}+                                                         )) of+                                                  { _interfacesOopts | _interfacesOopts `seq` (True) ->+                                                  (case (interfaces_ _interfacesOopts _interfacesOtbls ) of+                                                   { ( _interfacesIoutput) | True ->+                                                       (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                                                               _lhsItbls+                                                               {-# LINE 1122 "src/PrettyTree.hs" #-}+                                                               )) of+                                                        { _flagsOtbls | _flagsOtbls `seq` (True) ->+                                                        (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                                                _lhsIopts+                                                                {-# LINE 1127 "src/PrettyTree.hs" #-}+                                                                )) of+                                                         { _flagsOopts | _flagsOopts `seq` (True) ->+                                                         (case (flags_ _flagsOopts _flagsOtbls ) of+                                                          { ( _flagsIoutput) | True ->+                                                              (case (({-# LINE 303 "src/PrettyTree.ag" #-}+                                                                      text "INSTANCE" <+> _nmIoutput+                                                                      $+$ nest 2 (   text "SUPER" <+> _sIoutput+                                                                                 $+$ _interfacesIoutput+                                                                                 $+$ _flagsIoutput+                                                                                 $+$ text "CON" <+> _conIoutput+                                                                                 $+$ text "NS" <+> _nsIoutput+                                                                                 $+$ _traitsIoutput+                                                                                 )+                                                                      {-# LINE 1141 "src/PrettyTree.hs" #-}+                                                                      )) of+                                                               { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                               ( _lhsOoutput) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+-- InstanceInfos -----------------------------------------------+-- cata+sem_InstanceInfos :: InstanceInfos  ->+                     T_InstanceInfos +sem_InstanceInfos list  =+    (Prelude.foldr sem_InstanceInfos_Cons sem_InstanceInfos_Nil (Prelude.map sem_InstanceInfo list) )+-- semantic domain+type T_InstanceInfos  = Word32 ->+                        Options ->+                        SymbolTables ->+                        ( Doc)+sem_InstanceInfos_Cons :: T_InstanceInfo  ->+                          T_InstanceInfos  ->+                          T_InstanceInfos +sem_InstanceInfos_Cons hd_ tl_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 1165 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 1170 "src/PrettyTree.hs" #-}+                  )) of+           { _hdOtbls | _hdOtbls `seq` (True) ->+           (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                   _lhsIopts+                   {-# LINE 1175 "src/PrettyTree.hs" #-}+                   )) of+            { _tlOopts | _tlOopts `seq` (True) ->+            (case (({-# LINE 284 "src/PrettyTree.ag" #-}+                    1 + _lhsIindex+                    {-# LINE 1180 "src/PrettyTree.hs" #-}+                    )) of+             { _tlOindex | _tlOindex `seq` (True) ->+             (case (tl_ _tlOindex _tlOopts _tlOtbls ) of+              { ( _tlIoutput) | True ->+                  (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                          _lhsIopts+                          {-# LINE 1187 "src/PrettyTree.hs" #-}+                          )) of+                   { _hdOopts | _hdOopts `seq` (True) ->+                   (case (({-# LINE 277 "src/PrettyTree.ag" #-}+                           _lhsIindex+                           {-# LINE 1192 "src/PrettyTree.hs" #-}+                           )) of+                    { _hdOindex | _hdOindex `seq` (True) ->+                    (case (hd_ _hdOindex _hdOopts _hdOtbls ) of+                     { ( _hdIoutput) | True ->+                         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                 _hdIoutput $+$ _tlIoutput+                                 {-# LINE 1199 "src/PrettyTree.hs" #-}+                                 )) of+                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                          ( _lhsOoutput) }) }) }) }) }) }) }) }) }))+sem_InstanceInfos_Nil :: T_InstanceInfos +sem_InstanceInfos_Nil  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 1210 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- Instruction -------------------------------------------------+-- cata+sem_Instruction :: Instruction  ->+                   T_Instruction +sem_Instruction (Instruction_Add )  =+    (sem_Instruction_Add )+sem_Instruction (Instruction_Add_d )  =+    (sem_Instruction_Add_d )+sem_Instruction (Instruction_Add_i )  =+    (sem_Instruction_Add_i )+sem_Instruction (Instruction_ApplyType _name )  =+    (sem_Instruction_ApplyType _name )+sem_Instruction (Instruction_AsType _name )  =+    (sem_Instruction_AsType _name )+sem_Instruction (Instruction_AsTypeLate )  =+    (sem_Instruction_AsTypeLate )+sem_Instruction (Instruction_BitAnd )  =+    (sem_Instruction_BitAnd )+sem_Instruction (Instruction_BitNot )  =+    (sem_Instruction_BitNot )+sem_Instruction (Instruction_BitOr )  =+    (sem_Instruction_BitOr )+sem_Instruction (Instruction_BitXor )  =+    (sem_Instruction_BitXor )+sem_Instruction (Instruction_BreakLine _line )  =+    (sem_Instruction_BreakLine _line )+sem_Instruction (Instruction_Breakpoint )  =+    (sem_Instruction_Breakpoint )+sem_Instruction (Instruction_Call _argCount )  =+    (sem_Instruction_Call _argCount )+sem_Instruction (Instruction_CallInterface _name _argCount )  =+    (sem_Instruction_CallInterface _name _argCount )+sem_Instruction (Instruction_CallMethod _index _argCount )  =+    (sem_Instruction_CallMethod _index _argCount )+sem_Instruction (Instruction_CallProp _name _argCount )  =+    (sem_Instruction_CallProp _name _argCount )+sem_Instruction (Instruction_CallPropLex _name _argCount )  =+    (sem_Instruction_CallPropLex _name _argCount )+sem_Instruction (Instruction_CallPropVoid _name _argCount )  =+    (sem_Instruction_CallPropVoid _name _argCount )+sem_Instruction (Instruction_CallStatic _method _argCount )  =+    (sem_Instruction_CallStatic _method _argCount )+sem_Instruction (Instruction_CallSuper _name _argCount )  =+    (sem_Instruction_CallSuper _name _argCount )+sem_Instruction (Instruction_CallSuperId )  =+    (sem_Instruction_CallSuperId )+sem_Instruction (Instruction_CallSuperVoid _name _argCount )  =+    (sem_Instruction_CallSuperVoid _name _argCount )+sem_Instruction (Instruction_CheckFilter )  =+    (sem_Instruction_CheckFilter )+sem_Instruction (Instruction_Coerce _name )  =+    (sem_Instruction_Coerce _name )+sem_Instruction (Instruction_Coerce_a )  =+    (sem_Instruction_Coerce_a )+sem_Instruction (Instruction_Coerce_b )  =+    (sem_Instruction_Coerce_b )+sem_Instruction (Instruction_Coerce_d )  =+    (sem_Instruction_Coerce_d )+sem_Instruction (Instruction_Coerce_i )  =+    (sem_Instruction_Coerce_i )+sem_Instruction (Instruction_Coerce_o )  =+    (sem_Instruction_Coerce_o )+sem_Instruction (Instruction_Coerce_s )  =+    (sem_Instruction_Coerce_s )+sem_Instruction (Instruction_Coerce_u )  =+    (sem_Instruction_Coerce_u )+sem_Instruction (Instruction_Concat )  =+    (sem_Instruction_Concat )+sem_Instruction (Instruction_Construct _argCount )  =+    (sem_Instruction_Construct _argCount )+sem_Instruction (Instruction_ConstructProp _name _argCount )  =+    (sem_Instruction_ConstructProp _name _argCount )+sem_Instruction (Instruction_ConstructSuper _argCount )  =+    (sem_Instruction_ConstructSuper _argCount )+sem_Instruction (Instruction_Convert_b )  =+    (sem_Instruction_Convert_b )+sem_Instruction (Instruction_Convert_d )  =+    (sem_Instruction_Convert_d )+sem_Instruction (Instruction_Convert_i )  =+    (sem_Instruction_Convert_i )+sem_Instruction (Instruction_Convert_o )  =+    (sem_Instruction_Convert_o )+sem_Instruction (Instruction_Convert_s )  =+    (sem_Instruction_Convert_s )+sem_Instruction (Instruction_Convert_u )  =+    (sem_Instruction_Convert_u )+sem_Instruction (Instruction_Debug _tp _name _reg _extra )  =+    (sem_Instruction_Debug (sem_DebugType _tp ) _name _reg _extra )+sem_Instruction (Instruction_DebugFile _name )  =+    (sem_Instruction_DebugFile _name )+sem_Instruction (Instruction_DebugLine _line )  =+    (sem_Instruction_DebugLine _line )+sem_Instruction (Instruction_DecLocal _reg )  =+    (sem_Instruction_DecLocal _reg )+sem_Instruction (Instruction_DecLocal_i _reg )  =+    (sem_Instruction_DecLocal_i _reg )+sem_Instruction (Instruction_Decrement )  =+    (sem_Instruction_Decrement )+sem_Instruction (Instruction_Decrement_i )  =+    (sem_Instruction_Decrement_i )+sem_Instruction (Instruction_DeleteProperty _name )  =+    (sem_Instruction_DeleteProperty _name )+sem_Instruction (Instruction_DeletePropertyLate )  =+    (sem_Instruction_DeletePropertyLate )+sem_Instruction (Instruction_Divide )  =+    (sem_Instruction_Divide )+sem_Instruction (Instruction_Dup )  =+    (sem_Instruction_Dup )+sem_Instruction (Instruction_Dxns _name )  =+    (sem_Instruction_Dxns _name )+sem_Instruction (Instruction_DxnsLate )  =+    (sem_Instruction_DxnsLate )+sem_Instruction (Instruction_Equals )  =+    (sem_Instruction_Equals )+sem_Instruction (Instruction_EscXAttr )  =+    (sem_Instruction_EscXAttr )+sem_Instruction (Instruction_EscXElem )  =+    (sem_Instruction_EscXElem )+sem_Instruction (Instruction_FindDef _name )  =+    (sem_Instruction_FindDef _name )+sem_Instruction (Instruction_FindPropStrict _name )  =+    (sem_Instruction_FindPropStrict _name )+sem_Instruction (Instruction_FindProperty _name )  =+    (sem_Instruction_FindProperty _name )+sem_Instruction (Instruction_FindPropertyGlobal _name )  =+    (sem_Instruction_FindPropertyGlobal _name )+sem_Instruction (Instruction_FindPropertyGlobalStrict _name )  =+    (sem_Instruction_FindPropertyGlobalStrict _name )+sem_Instruction (Instruction_GetDescendants _name )  =+    (sem_Instruction_GetDescendants _name )+sem_Instruction (Instruction_GetGlobalScope )  =+    (sem_Instruction_GetGlobalScope )+sem_Instruction (Instruction_GetGlobalSlot _slot )  =+    (sem_Instruction_GetGlobalSlot _slot )+sem_Instruction (Instruction_GetLex _name )  =+    (sem_Instruction_GetLex _name )+sem_Instruction (Instruction_GetLocal _reg )  =+    (sem_Instruction_GetLocal _reg )+sem_Instruction (Instruction_GetLocal0 )  =+    (sem_Instruction_GetLocal0 )+sem_Instruction (Instruction_GetLocal1 )  =+    (sem_Instruction_GetLocal1 )+sem_Instruction (Instruction_GetLocal2 )  =+    (sem_Instruction_GetLocal2 )+sem_Instruction (Instruction_GetLocal3 )  =+    (sem_Instruction_GetLocal3 )+sem_Instruction (Instruction_GetOuterScope _name )  =+    (sem_Instruction_GetOuterScope _name )+sem_Instruction (Instruction_GetProperty _name )  =+    (sem_Instruction_GetProperty _name )+sem_Instruction (Instruction_GetScopeObject _index )  =+    (sem_Instruction_GetScopeObject _index )+sem_Instruction (Instruction_GetSlot _slot )  =+    (sem_Instruction_GetSlot _slot )+sem_Instruction (Instruction_GetSuper _name )  =+    (sem_Instruction_GetSuper _name )+sem_Instruction (Instruction_GreaterEquals )  =+    (sem_Instruction_GreaterEquals )+sem_Instruction (Instruction_GreaterThan )  =+    (sem_Instruction_GreaterThan )+sem_Instruction (Instruction_HasNext )  =+    (sem_Instruction_HasNext )+sem_Instruction (Instruction_HasNext2 _objectReg _indexReg )  =+    (sem_Instruction_HasNext2 _objectReg _indexReg )+sem_Instruction (Instruction_IfEq _offset )  =+    (sem_Instruction_IfEq _offset )+sem_Instruction (Instruction_IfFalse _offset )  =+    (sem_Instruction_IfFalse _offset )+sem_Instruction (Instruction_IfGe _offset )  =+    (sem_Instruction_IfGe _offset )+sem_Instruction (Instruction_IfGt _offset )  =+    (sem_Instruction_IfGt _offset )+sem_Instruction (Instruction_IfLe _offset )  =+    (sem_Instruction_IfLe _offset )+sem_Instruction (Instruction_IfLt _offset )  =+    (sem_Instruction_IfLt _offset )+sem_Instruction (Instruction_IfNGe _offset )  =+    (sem_Instruction_IfNGe _offset )+sem_Instruction (Instruction_IfNGt _offset )  =+    (sem_Instruction_IfNGt _offset )+sem_Instruction (Instruction_IfNLe _offset )  =+    (sem_Instruction_IfNLe _offset )+sem_Instruction (Instruction_IfNLt _offset )  =+    (sem_Instruction_IfNLt _offset )+sem_Instruction (Instruction_IfNe _offset )  =+    (sem_Instruction_IfNe _offset )+sem_Instruction (Instruction_IfStrictEq _offset )  =+    (sem_Instruction_IfStrictEq _offset )+sem_Instruction (Instruction_IfStrictNe _offset )  =+    (sem_Instruction_IfStrictNe _offset )+sem_Instruction (Instruction_IfTrue _offset )  =+    (sem_Instruction_IfTrue _offset )+sem_Instruction (Instruction_In )  =+    (sem_Instruction_In )+sem_Instruction (Instruction_IncLocal _reg )  =+    (sem_Instruction_IncLocal _reg )+sem_Instruction (Instruction_IncLocal_i _reg )  =+    (sem_Instruction_IncLocal_i _reg )+sem_Instruction (Instruction_Increment )  =+    (sem_Instruction_Increment )+sem_Instruction (Instruction_Increment_i )  =+    (sem_Instruction_Increment_i )+sem_Instruction (Instruction_InitProperty _name )  =+    (sem_Instruction_InitProperty _name )+sem_Instruction (Instruction_InstanceOf )  =+    (sem_Instruction_InstanceOf )+sem_Instruction (Instruction_IsType _name )  =+    (sem_Instruction_IsType _name )+sem_Instruction (Instruction_IsTypeLate )  =+    (sem_Instruction_IsTypeLate )+sem_Instruction (Instruction_Jump _offset )  =+    (sem_Instruction_Jump _offset )+sem_Instruction (Instruction_Kill _reg )  =+    (sem_Instruction_Kill _reg )+sem_Instruction (Instruction_Label )  =+    (sem_Instruction_Label )+sem_Instruction (Instruction_LessEquals )  =+    (sem_Instruction_LessEquals )+sem_Instruction (Instruction_LessThan )  =+    (sem_Instruction_LessThan )+sem_Instruction (Instruction_LoadFloat32 )  =+    (sem_Instruction_LoadFloat32 )+sem_Instruction (Instruction_LoadFloat64 )  =+    (sem_Instruction_LoadFloat64 )+sem_Instruction (Instruction_LoadIndirect16 )  =+    (sem_Instruction_LoadIndirect16 )+sem_Instruction (Instruction_LoadIndirect32 )  =+    (sem_Instruction_LoadIndirect32 )+sem_Instruction (Instruction_LoadIndirect8 )  =+    (sem_Instruction_LoadIndirect8 )+sem_Instruction (Instruction_Location _index )  =+    (sem_Instruction_Location _index )+sem_Instruction (Instruction_LookupSwitch _defaultOffset _caseOffsets )  =+    (sem_Instruction_LookupSwitch _defaultOffset (sem_CaseOffsets _caseOffsets ) )+sem_Instruction (Instruction_Lshift )  =+    (sem_Instruction_Lshift )+sem_Instruction (Instruction_Modulo )  =+    (sem_Instruction_Modulo )+sem_Instruction (Instruction_Multiply )  =+    (sem_Instruction_Multiply )+sem_Instruction (Instruction_Multiply_i )  =+    (sem_Instruction_Multiply_i )+sem_Instruction (Instruction_Negate )  =+    (sem_Instruction_Negate )+sem_Instruction (Instruction_Negate_i )  =+    (sem_Instruction_Negate_i )+sem_Instruction (Instruction_NewActivation )  =+    (sem_Instruction_NewActivation )+sem_Instruction (Instruction_NewArray _argCount )  =+    (sem_Instruction_NewArray _argCount )+sem_Instruction (Instruction_NewCatch _exception )  =+    (sem_Instruction_NewCatch _exception )+sem_Instruction (Instruction_NewClass _class )  =+    (sem_Instruction_NewClass _class )+sem_Instruction (Instruction_NewFunction _method )  =+    (sem_Instruction_NewFunction _method )+sem_Instruction (Instruction_NewObject _argCount )  =+    (sem_Instruction_NewObject _argCount )+sem_Instruction (Instruction_NextName )  =+    (sem_Instruction_NextName )+sem_Instruction (Instruction_NextValue )  =+    (sem_Instruction_NextValue )+sem_Instruction (Instruction_Nop )  =+    (sem_Instruction_Nop )+sem_Instruction (Instruction_Not )  =+    (sem_Instruction_Not )+sem_Instruction (Instruction_Pop )  =+    (sem_Instruction_Pop )+sem_Instruction (Instruction_PopScope )  =+    (sem_Instruction_PopScope )+sem_Instruction (Instruction_PushByte _val )  =+    (sem_Instruction_PushByte _val )+sem_Instruction (Instruction_PushDouble _name )  =+    (sem_Instruction_PushDouble _name )+sem_Instruction (Instruction_PushFalse )  =+    (sem_Instruction_PushFalse )+sem_Instruction (Instruction_PushInt _name )  =+    (sem_Instruction_PushInt _name )+sem_Instruction (Instruction_PushNaN )  =+    (sem_Instruction_PushNaN )+sem_Instruction (Instruction_PushNamespace _name )  =+    (sem_Instruction_PushNamespace _name )+sem_Instruction (Instruction_PushNull )  =+    (sem_Instruction_PushNull )+sem_Instruction (Instruction_PushScope )  =+    (sem_Instruction_PushScope )+sem_Instruction (Instruction_PushShort _val )  =+    (sem_Instruction_PushShort _val )+sem_Instruction (Instruction_PushString _name )  =+    (sem_Instruction_PushString _name )+sem_Instruction (Instruction_PushTrue )  =+    (sem_Instruction_PushTrue )+sem_Instruction (Instruction_PushUInt _name )  =+    (sem_Instruction_PushUInt _name )+sem_Instruction (Instruction_PushUndefined )  =+    (sem_Instruction_PushUndefined )+sem_Instruction (Instruction_PushWith )  =+    (sem_Instruction_PushWith )+sem_Instruction (Instruction_ReturnValue )  =+    (sem_Instruction_ReturnValue )+sem_Instruction (Instruction_ReturnVoid )  =+    (sem_Instruction_ReturnVoid )+sem_Instruction (Instruction_Rshift )  =+    (sem_Instruction_Rshift )+sem_Instruction (Instruction_SetGlobalSlot _slot )  =+    (sem_Instruction_SetGlobalSlot _slot )+sem_Instruction (Instruction_SetLocal _reg )  =+    (sem_Instruction_SetLocal _reg )+sem_Instruction (Instruction_SetLocal0 )  =+    (sem_Instruction_SetLocal0 )+sem_Instruction (Instruction_SetLocal1 )  =+    (sem_Instruction_SetLocal1 )+sem_Instruction (Instruction_SetLocal2 )  =+    (sem_Instruction_SetLocal2 )+sem_Instruction (Instruction_SetLocal3 )  =+    (sem_Instruction_SetLocal3 )+sem_Instruction (Instruction_SetProperty _name )  =+    (sem_Instruction_SetProperty _name )+sem_Instruction (Instruction_SetPropertyLate )  =+    (sem_Instruction_SetPropertyLate )+sem_Instruction (Instruction_SetSlot _slot )  =+    (sem_Instruction_SetSlot _slot )+sem_Instruction (Instruction_SetSuper _name )  =+    (sem_Instruction_SetSuper _name )+sem_Instruction (Instruction_SignExtend1 )  =+    (sem_Instruction_SignExtend1 )+sem_Instruction (Instruction_SignExtend16 )  =+    (sem_Instruction_SignExtend16 )+sem_Instruction (Instruction_SignExtend8 )  =+    (sem_Instruction_SignExtend8 )+sem_Instruction (Instruction_StoreFloat32 )  =+    (sem_Instruction_StoreFloat32 )+sem_Instruction (Instruction_StoreFloat64 )  =+    (sem_Instruction_StoreFloat64 )+sem_Instruction (Instruction_StoreIndirect16 )  =+    (sem_Instruction_StoreIndirect16 )+sem_Instruction (Instruction_StoreIndirect32 )  =+    (sem_Instruction_StoreIndirect32 )+sem_Instruction (Instruction_StoreIndirect8 )  =+    (sem_Instruction_StoreIndirect8 )+sem_Instruction (Instruction_StrictEquals )  =+    (sem_Instruction_StrictEquals )+sem_Instruction (Instruction_Substract )  =+    (sem_Instruction_Substract )+sem_Instruction (Instruction_Substract_i )  =+    (sem_Instruction_Substract_i )+sem_Instruction (Instruction_Swap )  =+    (sem_Instruction_Swap )+sem_Instruction (Instruction_Throw )  =+    (sem_Instruction_Throw )+sem_Instruction (Instruction_Timestamp )  =+    (sem_Instruction_Timestamp )+sem_Instruction (Instruction_TypeOf )  =+    (sem_Instruction_TypeOf )+sem_Instruction (Instruction_Urshift )  =+    (sem_Instruction_Urshift )+-- semantic domain+type T_Instruction  = Int ->+                      ( Int,(Maybe Int),T_Instruction_1 )+type T_Instruction_1  = ExceptionDescrs ->+                        (Maybe Int) ->+                        Options ->+                        Int ->+                        SymbolTables ->+                        ( Doc,Int)+sem_Instruction_Add :: T_Instruction +sem_Instruction_Add  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 1584 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 1589 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Add_1 :: T_Instruction_1 +                       sem_Instruction_Add_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 510 "src/PrettyTree.ag" #-}+                                        text "Add"+                                        {-# LINE 1601 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 1610 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 1615 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 1620 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 1625 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Add_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Add_d :: T_Instruction +sem_Instruction_Add_d  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 1637 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 1642 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Add_d_1 :: T_Instruction_1 +                       sem_Instruction_Add_d_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 512 "src/PrettyTree.ag" #-}+                                        text "Add_d"+                                        {-# LINE 1654 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 1663 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 1668 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 1673 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 1678 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Add_d_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Add_i :: T_Instruction +sem_Instruction_Add_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 1690 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 1695 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Add_i_1 :: T_Instruction_1 +                       sem_Instruction_Add_i_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 511 "src/PrettyTree.ag" #-}+                                        text "Add_i"+                                        {-# LINE 1707 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 1716 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 1721 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 1726 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 1731 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Add_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_ApplyType :: Word32 ->+                             T_Instruction +sem_Instruction_ApplyType name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 1744 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 1749 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_ApplyType_1 :: T_Instruction_1 +                       sem_Instruction_ApplyType_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 1761 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 1768 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 513 "src/PrettyTree.ag" #-}+                                                text "Apply type"  <+> _nmIoutput+                                                {-# LINE 1775 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 1784 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 1789 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 1794 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 1799 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_ApplyType_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_AsType :: Word32 ->+                          T_Instruction +sem_Instruction_AsType name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 1812 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 1817 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_AsType_1 :: T_Instruction_1 +                       sem_Instruction_AsType_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 1829 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 1836 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 514 "src/PrettyTree.ag" #-}+                                                text "As type"     <+> _nmIoutput+                                                {-# LINE 1843 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 1852 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 1857 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 1862 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 1867 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_AsType_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_AsTypeLate :: T_Instruction +sem_Instruction_AsTypeLate  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 1879 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 1884 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_AsTypeLate_1 :: T_Instruction_1 +                       sem_Instruction_AsTypeLate_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 515 "src/PrettyTree.ag" #-}+                                        text "As type (late)"+                                        {-# LINE 1896 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 1905 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 1910 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 1915 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 1920 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_AsTypeLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_BitAnd :: T_Instruction +sem_Instruction_BitAnd  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 1932 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 1937 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_BitAnd_1 :: T_Instruction_1 +                       sem_Instruction_BitAnd_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 518 "src/PrettyTree.ag" #-}+                                        text "BitAnd"+                                        {-# LINE 1949 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 1958 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 1963 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 1968 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 1973 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_BitAnd_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_BitNot :: T_Instruction +sem_Instruction_BitNot  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 1985 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 1990 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_BitNot_1 :: T_Instruction_1 +                       sem_Instruction_BitNot_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 519 "src/PrettyTree.ag" #-}+                                        text "BitNot"+                                        {-# LINE 2002 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 2011 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 2016 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 2021 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 2026 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_BitNot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_BitOr :: T_Instruction +sem_Instruction_BitOr  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2038 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2043 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_BitOr_1 :: T_Instruction_1 +                       sem_Instruction_BitOr_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 520 "src/PrettyTree.ag" #-}+                                        text "BitOr"+                                        {-# LINE 2055 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 2064 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 2069 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 2074 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 2079 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_BitOr_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_BitXor :: T_Instruction +sem_Instruction_BitXor  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2091 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2096 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_BitXor_1 :: T_Instruction_1 +                       sem_Instruction_BitXor_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 521 "src/PrettyTree.ag" #-}+                                        text "BitXor"+                                        {-# LINE 2108 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 2117 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 2122 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 2127 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 2132 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_BitXor_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_BreakLine :: Word32 ->+                             T_Instruction +sem_Instruction_BreakLine line_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2145 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2150 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_BreakLine_1 :: T_Instruction_1 +                       sem_Instruction_BreakLine_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 517 "src/PrettyTree.ag" #-}+                                        text "Break line" <+> num line_+                                        {-# LINE 2162 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 2171 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 2176 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 2181 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 2186 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_BreakLine_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Breakpoint :: T_Instruction +sem_Instruction_Breakpoint  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2198 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2203 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Breakpoint_1 :: T_Instruction_1 +                       sem_Instruction_Breakpoint_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 516 "src/PrettyTree.ag" #-}+                                        text "Breakpoint"+                                        {-# LINE 2215 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 2224 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 2229 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 2234 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 2239 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Breakpoint_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Call :: Word32 ->+                        T_Instruction +sem_Instruction_Call argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2252 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2257 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Call_1 :: T_Instruction_1 +                       sem_Instruction_Call_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 522 "src/PrettyTree.ag" #-}+                                        text "Call" <+> props [("args", num argCount_)]+                                        {-# LINE 2269 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 2278 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 2283 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 2288 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 2293 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Call_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_CallInterface :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallInterface name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2307 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2312 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_CallInterface_1 :: T_Instruction_1 +                       sem_Instruction_CallInterface_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 2324 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 2331 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 523 "src/PrettyTree.ag" #-}+                                                text "Call interface" <+> _nmIoutput <+> props [("args", num argCount_)]+                                                {-# LINE 2338 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 2347 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 2352 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 2357 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 2362 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_CallInterface_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_CallMethod :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallMethod index_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2376 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2381 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_CallMethod_1 :: T_Instruction_1 +                       sem_Instruction_CallMethod_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 524 "src/PrettyTree.ag" #-}+                                        text "Call method" <+> props [("index", num index_), ("args", num argCount_)]+                                        {-# LINE 2393 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 2402 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 2407 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 2412 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 2417 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_CallMethod_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_CallProp :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_CallProp name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2431 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2436 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_CallProp_1 :: T_Instruction_1 +                       sem_Instruction_CallProp_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 2448 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 2455 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 525 "src/PrettyTree.ag" #-}+                                                text "Call prop" <+> _nmIoutput <+> props [("args", num argCount_)]+                                                {-# LINE 2462 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 2471 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 2476 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 2481 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 2486 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_CallProp_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_CallPropLex :: Word32 ->+                               Word32 ->+                               T_Instruction +sem_Instruction_CallPropLex name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2500 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2505 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_CallPropLex_1 :: T_Instruction_1 +                       sem_Instruction_CallPropLex_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 2517 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 2524 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 526 "src/PrettyTree.ag" #-}+                                                text "Call prop (lex)" <+> _nmIoutput <+> props [("args", num argCount_)]+                                                {-# LINE 2531 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 2540 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 2545 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 2550 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 2555 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_CallPropLex_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_CallPropVoid :: Word32 ->+                                Word32 ->+                                T_Instruction +sem_Instruction_CallPropVoid name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2569 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2574 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_CallPropVoid_1 :: T_Instruction_1 +                       sem_Instruction_CallPropVoid_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 2586 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 2593 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 527 "src/PrettyTree.ag" #-}+                                                text "Call prop (void)" <+> _nmIoutput <+> props [("args", num argCount_)]+                                                {-# LINE 2600 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 2609 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 2614 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 2619 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 2624 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_CallPropVoid_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_CallStatic :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallStatic method_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2638 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2643 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_CallStatic_1 :: T_Instruction_1 +                       sem_Instruction_CallStatic_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 488 "src/PrettyTree.ag" #-}+                                        methodView _lhsItbls (Ref method_)+                                        {-# LINE 2655 "src/PrettyTree.hs" #-}+                                        )) of+                                 { m_val_ | m_val_ `seq` (True) ->+                                 (case ((sem_MethodV m_val_ )) of+                                  { m_inst_ | m_inst_ `seq` (True) ->+                                  (case (({-# LINE 489 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 2662 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _mOinfo | _mOinfo `seq` (True) ->+                                   (case (m_inst_ _mOinfo ) of+                                    { ( _mIoutput) | True ->+                                        (case (({-# LINE 528 "src/PrettyTree.ag" #-}+                                                text "Call static" <+> props [("method", _mIoutput), ("args", num argCount_)]+                                                {-# LINE 2669 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 2678 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 2683 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 2688 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 2693 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_CallStatic_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_CallSuper :: Word32 ->+                             Word32 ->+                             T_Instruction +sem_Instruction_CallSuper name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2707 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2712 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_CallSuper_1 :: T_Instruction_1 +                       sem_Instruction_CallSuper_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 2724 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 2731 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 529 "src/PrettyTree.ag" #-}+                                                text "Call super" <+> _nmIoutput <+> props [("args",num  argCount_)]+                                                {-# LINE 2738 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 2747 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 2752 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 2757 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 2762 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_CallSuper_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_CallSuperId :: T_Instruction +sem_Instruction_CallSuperId  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2774 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2779 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_CallSuperId_1 :: T_Instruction_1 +                       sem_Instruction_CallSuperId_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 530 "src/PrettyTree.ag" #-}+                                        text "Call super (id)"+                                        {-# LINE 2791 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 2800 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 2805 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 2810 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 2815 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_CallSuperId_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_CallSuperVoid :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallSuperVoid name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2829 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2834 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_CallSuperVoid_1 :: T_Instruction_1 +                       sem_Instruction_CallSuperVoid_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 2846 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 2853 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 531 "src/PrettyTree.ag" #-}+                                                text "Call super (void)" <+> _nmIoutput <+> props [("args",num  argCount_)]+                                                {-# LINE 2860 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 2869 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 2874 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 2879 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 2884 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_CallSuperVoid_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_CheckFilter :: T_Instruction +sem_Instruction_CheckFilter  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2896 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2901 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_CheckFilter_1 :: T_Instruction_1 +                       sem_Instruction_CheckFilter_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 532 "src/PrettyTree.ag" #-}+                                        text "CheckFilter"+                                        {-# LINE 2913 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 2922 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 2927 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 2932 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 2937 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_CheckFilter_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce :: Word32 ->+                          T_Instruction +sem_Instruction_Coerce name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 2950 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 2955 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Coerce_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 2967 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 2974 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 533 "src/PrettyTree.ag" #-}+                                                text "Coerce" <+> _nmIoutput+                                                {-# LINE 2981 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 2990 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 2995 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 3000 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 3005 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_Coerce_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_a :: T_Instruction +sem_Instruction_Coerce_a  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3017 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3022 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Coerce_a_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_a_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 534 "src/PrettyTree.ag" #-}+                                        text "Coerce_a (any type)"+                                        {-# LINE 3034 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3043 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3048 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3053 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3058 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Coerce_a_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_b :: T_Instruction +sem_Instruction_Coerce_b  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3070 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3075 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Coerce_b_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_b_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 535 "src/PrettyTree.ag" #-}+                                        text "Coerce_b"+                                        {-# LINE 3087 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3096 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3101 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3106 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3111 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Coerce_b_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_d :: T_Instruction +sem_Instruction_Coerce_d  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3123 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3128 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Coerce_d_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_d_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 536 "src/PrettyTree.ag" #-}+                                        text "Coerce_d (double)"+                                        {-# LINE 3140 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3149 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3154 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3159 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3164 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Coerce_d_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_i :: T_Instruction +sem_Instruction_Coerce_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3176 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3181 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Coerce_i_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_i_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 537 "src/PrettyTree.ag" #-}+                                        text "Coerce_i (signed integer)"+                                        {-# LINE 3193 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3202 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3207 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3212 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3217 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Coerce_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_o :: T_Instruction +sem_Instruction_Coerce_o  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3229 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3234 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Coerce_o_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_o_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 538 "src/PrettyTree.ag" #-}+                                        text "Coerce_o"+                                        {-# LINE 3246 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3255 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3260 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3265 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3270 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Coerce_o_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_s :: T_Instruction +sem_Instruction_Coerce_s  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3282 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3287 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Coerce_s_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_s_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 539 "src/PrettyTree.ag" #-}+                                        text "Coerce_s (string)"+                                        {-# LINE 3299 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3308 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3313 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3318 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3323 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Coerce_s_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_u :: T_Instruction +sem_Instruction_Coerce_u  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3335 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3340 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Coerce_u_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_u_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 540 "src/PrettyTree.ag" #-}+                                        text "Coerce_u (unsigned integer)"+                                        {-# LINE 3352 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3361 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3366 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3371 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3376 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Coerce_u_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Concat :: T_Instruction +sem_Instruction_Concat  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3388 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3393 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Concat_1 :: T_Instruction_1 +                       sem_Instruction_Concat_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 541 "src/PrettyTree.ag" #-}+                                        text "Concat"+                                        {-# LINE 3405 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3414 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3419 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3424 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3429 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Concat_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Construct :: Word32 ->+                             T_Instruction +sem_Instruction_Construct argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3442 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3447 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Construct_1 :: T_Instruction_1 +                       sem_Instruction_Construct_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 542 "src/PrettyTree.ag" #-}+                                        text "Construct" <+> props [("args", num argCount_)]+                                        {-# LINE 3459 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3468 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3473 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3478 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3483 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Construct_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_ConstructProp :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_ConstructProp name_ argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3497 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3502 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_ConstructProp_1 :: T_Instruction_1 +                       sem_Instruction_ConstructProp_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 3514 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 3521 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 543 "src/PrettyTree.ag" #-}+                                                text "Construct prop" <+> _nmIoutput <+> props [("args", num argCount_)]+                                                {-# LINE 3528 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 3537 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 3542 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 3547 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 3552 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_ConstructProp_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_ConstructSuper :: Word32 ->+                                  T_Instruction +sem_Instruction_ConstructSuper argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3565 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3570 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_ConstructSuper_1 :: T_Instruction_1 +                       sem_Instruction_ConstructSuper_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 544 "src/PrettyTree.ag" #-}+                                        text "Construct super" <+> props [("args", num argCount_)]+                                        {-# LINE 3582 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3591 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3596 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3601 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3606 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_ConstructSuper_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_b :: T_Instruction +sem_Instruction_Convert_b  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3618 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3623 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Convert_b_1 :: T_Instruction_1 +                       sem_Instruction_Convert_b_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 545 "src/PrettyTree.ag" #-}+                                        text "Convert_b"+                                        {-# LINE 3635 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3644 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3649 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3654 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3659 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Convert_b_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_d :: T_Instruction +sem_Instruction_Convert_d  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3671 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3676 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Convert_d_1 :: T_Instruction_1 +                       sem_Instruction_Convert_d_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 547 "src/PrettyTree.ag" #-}+                                        text "Convert_d (double)"+                                        {-# LINE 3688 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3697 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3702 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3707 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3712 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Convert_d_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_i :: T_Instruction +sem_Instruction_Convert_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3724 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3729 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Convert_i_1 :: T_Instruction_1 +                       sem_Instruction_Convert_i_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 546 "src/PrettyTree.ag" #-}+                                        text "Convert_i (signed integer)"+                                        {-# LINE 3741 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3750 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3755 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3760 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3765 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Convert_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_o :: T_Instruction +sem_Instruction_Convert_o  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3777 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3782 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Convert_o_1 :: T_Instruction_1 +                       sem_Instruction_Convert_o_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 548 "src/PrettyTree.ag" #-}+                                        text "Convert_o"+                                        {-# LINE 3794 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3803 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3808 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3813 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3818 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Convert_o_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_s :: T_Instruction +sem_Instruction_Convert_s  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3830 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3835 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Convert_s_1 :: T_Instruction_1 +                       sem_Instruction_Convert_s_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 550 "src/PrettyTree.ag" #-}+                                        text "Convert_s (string)"+                                        {-# LINE 3847 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3856 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3861 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3866 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3871 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Convert_s_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_u :: T_Instruction +sem_Instruction_Convert_u  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3883 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3888 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Convert_u_1 :: T_Instruction_1 +                       sem_Instruction_Convert_u_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 549 "src/PrettyTree.ag" #-}+                                        text "Convert_u (unsigned integer)"+                                        {-# LINE 3900 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 3909 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 3914 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 3919 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 3924 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Convert_u_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Debug :: T_DebugType  ->+                         Word32 ->+                         Word32 ->+                         Word32 ->+                         T_Instruction +sem_Instruction_Debug tp_ name_ reg_ extra_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 3940 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 3945 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Debug_1 :: T_Instruction_1 +                       sem_Instruction_Debug_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 480 "src/PrettyTree.ag" #-}+                                        stringView _lhsItbls (Ref name_)+                                        {-# LINE 3957 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_StrV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 481 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 3964 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 551 "src/PrettyTree.ag" #-}+                                                text "Debug" <+> _nmIoutput <+> props [("reg", num reg_)]+                                                {-# LINE 3971 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 3980 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 3985 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 3990 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 3995 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_Debug_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_DebugFile :: Word32 ->+                             T_Instruction +sem_Instruction_DebugFile name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4008 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4013 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_DebugFile_1 :: T_Instruction_1 +                       sem_Instruction_DebugFile_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 480 "src/PrettyTree.ag" #-}+                                        stringView _lhsItbls (Ref name_)+                                        {-# LINE 4025 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_StrV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 481 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 4032 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 552 "src/PrettyTree.ag" #-}+                                                text "Debug file" <+> _nmIoutput+                                                {-# LINE 4039 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 4048 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 4053 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 4058 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 4063 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_DebugFile_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_DebugLine :: Word32 ->+                             T_Instruction +sem_Instruction_DebugLine line_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4076 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4081 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_DebugLine_1 :: T_Instruction_1 +                       sem_Instruction_DebugLine_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 553 "src/PrettyTree.ag" #-}+                                        text "Debug line" <+> num line_+                                        {-# LINE 4093 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 4102 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 4107 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 4112 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 4117 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_DebugLine_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_DecLocal :: Word32 ->+                            T_Instruction +sem_Instruction_DecLocal reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4130 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4135 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_DecLocal_1 :: T_Instruction_1 +                       sem_Instruction_DecLocal_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 554 "src/PrettyTree.ag" #-}+                                        text "DecLocal (number)" <+> num reg_+                                        {-# LINE 4147 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 4156 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 4161 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 4166 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 4171 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_DecLocal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_DecLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_DecLocal_i reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4184 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4189 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_DecLocal_i_1 :: T_Instruction_1 +                       sem_Instruction_DecLocal_i_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 555 "src/PrettyTree.ag" #-}+                                        text "DecLocal_i (integer)" <+> num reg_+                                        {-# LINE 4201 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 4210 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 4215 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 4220 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 4225 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_DecLocal_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Decrement :: T_Instruction +sem_Instruction_Decrement  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4237 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4242 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Decrement_1 :: T_Instruction_1 +                       sem_Instruction_Decrement_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 556 "src/PrettyTree.ag" #-}+                                        text "Decrement (number)"+                                        {-# LINE 4254 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 4263 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 4268 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 4273 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 4278 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Decrement_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Decrement_i :: T_Instruction +sem_Instruction_Decrement_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4290 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4295 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Decrement_i_1 :: T_Instruction_1 +                       sem_Instruction_Decrement_i_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 557 "src/PrettyTree.ag" #-}+                                        text "Decrement_i (integer)"+                                        {-# LINE 4307 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 4316 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 4321 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 4326 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 4331 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Decrement_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_DeleteProperty :: Word32 ->+                                  T_Instruction +sem_Instruction_DeleteProperty name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4344 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4349 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_DeleteProperty_1 :: T_Instruction_1 +                       sem_Instruction_DeleteProperty_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 4361 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 4368 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 558 "src/PrettyTree.ag" #-}+                                                text "Delete property" <+> _nmIoutput+                                                {-# LINE 4375 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 4384 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 4389 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 4394 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 4399 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_DeleteProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_DeletePropertyLate :: T_Instruction +sem_Instruction_DeletePropertyLate  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4411 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4416 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_DeletePropertyLate_1 :: T_Instruction_1 +                       sem_Instruction_DeletePropertyLate_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 559 "src/PrettyTree.ag" #-}+                                        text "Delete property (late)"+                                        {-# LINE 4428 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 4437 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 4442 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 4447 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 4452 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_DeletePropertyLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Divide :: T_Instruction +sem_Instruction_Divide  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4464 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4469 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Divide_1 :: T_Instruction_1 +                       sem_Instruction_Divide_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 560 "src/PrettyTree.ag" #-}+                                        text "Divide"+                                        {-# LINE 4481 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 4490 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 4495 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 4500 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 4505 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Divide_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Dup :: T_Instruction +sem_Instruction_Dup  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4517 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4522 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Dup_1 :: T_Instruction_1 +                       sem_Instruction_Dup_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 561 "src/PrettyTree.ag" #-}+                                        text "Dup"+                                        {-# LINE 4534 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 4543 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 4548 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 4553 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 4558 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Dup_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Dxns :: Word32 ->+                        T_Instruction +sem_Instruction_Dxns name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4571 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4576 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Dxns_1 :: T_Instruction_1 +                       sem_Instruction_Dxns_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 480 "src/PrettyTree.ag" #-}+                                        stringView _lhsItbls (Ref name_)+                                        {-# LINE 4588 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_StrV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 481 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 4595 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 562 "src/PrettyTree.ag" #-}+                                                text "Default namespace" <+> _nmIoutput+                                                {-# LINE 4602 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 4611 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 4616 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 4621 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 4626 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_Dxns_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_DxnsLate :: T_Instruction +sem_Instruction_DxnsLate  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4638 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4643 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_DxnsLate_1 :: T_Instruction_1 +                       sem_Instruction_DxnsLate_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 563 "src/PrettyTree.ag" #-}+                                        text "Default namespace (late)"+                                        {-# LINE 4655 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 4664 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 4669 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 4674 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 4679 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_DxnsLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Equals :: T_Instruction +sem_Instruction_Equals  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4691 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4696 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Equals_1 :: T_Instruction_1 +                       sem_Instruction_Equals_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 564 "src/PrettyTree.ag" #-}+                                        text "Equals"+                                        {-# LINE 4708 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 4717 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 4722 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 4727 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 4732 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Equals_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_EscXAttr :: T_Instruction +sem_Instruction_EscXAttr  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4744 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4749 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_EscXAttr_1 :: T_Instruction_1 +                       sem_Instruction_EscXAttr_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 565 "src/PrettyTree.ag" #-}+                                        text "Escape Xml Attr"+                                        {-# LINE 4761 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 4770 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 4775 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 4780 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 4785 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_EscXAttr_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_EscXElem :: T_Instruction +sem_Instruction_EscXElem  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4797 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4802 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_EscXElem_1 :: T_Instruction_1 +                       sem_Instruction_EscXElem_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 566 "src/PrettyTree.ag" #-}+                                        text "Escape Xml Elem"+                                        {-# LINE 4814 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 4823 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 4828 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 4833 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 4838 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_EscXElem_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_FindDef :: Word32 ->+                           T_Instruction +sem_Instruction_FindDef name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4851 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4856 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_FindDef_1 :: T_Instruction_1 +                       sem_Instruction_FindDef_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 4868 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 4875 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 567 "src/PrettyTree.ag" #-}+                                                text "Find Definition" <+> _nmIoutput+                                                {-# LINE 4882 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 4891 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 4896 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 4901 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 4906 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_FindDef_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_FindPropStrict :: Word32 ->+                                  T_Instruction +sem_Instruction_FindPropStrict name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4919 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4924 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_FindPropStrict_1 :: T_Instruction_1 +                       sem_Instruction_FindPropStrict_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 4936 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 4943 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 571 "src/PrettyTree.ag" #-}+                                                text "Find property strict" <+> _nmIoutput+                                                {-# LINE 4950 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 4959 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 4964 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 4969 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 4974 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_FindPropStrict_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_FindProperty :: Word32 ->+                                T_Instruction +sem_Instruction_FindProperty name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 4987 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 4992 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_FindProperty_1 :: T_Instruction_1 +                       sem_Instruction_FindProperty_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 5004 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 5011 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 570 "src/PrettyTree.ag" #-}+                                                text "Find property" <+> _nmIoutput+                                                {-# LINE 5018 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 5027 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 5032 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 5037 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 5042 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_FindProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_FindPropertyGlobal :: Word32 ->+                                      T_Instruction +sem_Instruction_FindPropertyGlobal name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5055 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5060 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_FindPropertyGlobal_1 :: T_Instruction_1 +                       sem_Instruction_FindPropertyGlobal_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 5072 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 5079 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 569 "src/PrettyTree.ag" #-}+                                                text "Find property global" <+> _nmIoutput+                                                {-# LINE 5086 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 5095 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 5100 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 5105 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 5110 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_FindPropertyGlobal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_FindPropertyGlobalStrict :: Word32 ->+                                            T_Instruction +sem_Instruction_FindPropertyGlobalStrict name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5123 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5128 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_FindPropertyGlobalStrict_1 :: T_Instruction_1 +                       sem_Instruction_FindPropertyGlobalStrict_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 5140 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 5147 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 568 "src/PrettyTree.ag" #-}+                                                text "Find property global (strict)" <+> _nmIoutput+                                                {-# LINE 5154 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 5163 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 5168 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 5173 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 5178 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_FindPropertyGlobalStrict_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetDescendants :: Word32 ->+                                  T_Instruction +sem_Instruction_GetDescendants name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5191 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5196 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetDescendants_1 :: T_Instruction_1 +                       sem_Instruction_GetDescendants_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 5208 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 5215 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 572 "src/PrettyTree.ag" #-}+                                                text "Get descendants" <+> _nmIoutput+                                                {-# LINE 5222 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 5231 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 5236 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 5241 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 5246 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_GetDescendants_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetGlobalScope :: T_Instruction +sem_Instruction_GetGlobalScope  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5258 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5263 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetGlobalScope_1 :: T_Instruction_1 +                       sem_Instruction_GetGlobalScope_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 573 "src/PrettyTree.ag" #-}+                                        text "Get global scope"+                                        {-# LINE 5275 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 5284 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 5289 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 5294 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 5299 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_GetGlobalScope_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_GetGlobalSlot slot_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5312 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5317 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetGlobalSlot_1 :: T_Instruction_1 +                       sem_Instruction_GetGlobalSlot_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 574 "src/PrettyTree.ag" #-}+                                        text "Set global slot" <+> num slot_+                                        {-# LINE 5329 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 5338 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 5343 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 5348 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 5353 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_GetGlobalSlot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetLex :: Word32 ->+                          T_Instruction +sem_Instruction_GetLex name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5366 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5371 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetLex_1 :: T_Instruction_1 +                       sem_Instruction_GetLex_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 5383 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 5390 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 575 "src/PrettyTree.ag" #-}+                                                text "Get lex (find+get prop)" <+> _nmIoutput+                                                {-# LINE 5397 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 5406 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 5411 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 5416 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 5421 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_GetLex_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_GetLocal reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5434 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5439 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetLocal_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 576 "src/PrettyTree.ag" #-}+                                        text "Get local" <+> num reg_+                                        {-# LINE 5451 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 5460 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 5465 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 5470 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 5475 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_GetLocal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal0 :: T_Instruction +sem_Instruction_GetLocal0  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5487 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5492 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetLocal0_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal0_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 577 "src/PrettyTree.ag" #-}+                                        text "Get local0"+                                        {-# LINE 5504 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 5513 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 5518 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 5523 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 5528 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_GetLocal0_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal1 :: T_Instruction +sem_Instruction_GetLocal1  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5540 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5545 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetLocal1_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal1_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 578 "src/PrettyTree.ag" #-}+                                        text "Get local1"+                                        {-# LINE 5557 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 5566 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 5571 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 5576 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 5581 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_GetLocal1_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal2 :: T_Instruction +sem_Instruction_GetLocal2  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5593 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5598 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetLocal2_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal2_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 579 "src/PrettyTree.ag" #-}+                                        text "Get local2"+                                        {-# LINE 5610 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 5619 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 5624 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 5629 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 5634 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_GetLocal2_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal3 :: T_Instruction +sem_Instruction_GetLocal3  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5646 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5651 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetLocal3_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal3_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 580 "src/PrettyTree.ag" #-}+                                        text "Get local3"+                                        {-# LINE 5663 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 5672 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 5677 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 5682 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 5687 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_GetLocal3_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetOuterScope :: Word32 ->+                                 T_Instruction +sem_Instruction_GetOuterScope name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5700 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5705 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetOuterScope_1 :: T_Instruction_1 +                       sem_Instruction_GetOuterScope_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 5717 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 5724 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 581 "src/PrettyTree.ag" #-}+                                                text "Get outer scope" <+> _nmIoutput+                                                {-# LINE 5731 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 5740 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 5745 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 5750 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 5755 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_GetOuterScope_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_GetProperty name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5768 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5773 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetProperty_1 :: T_Instruction_1 +                       sem_Instruction_GetProperty_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 5785 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 5792 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 582 "src/PrettyTree.ag" #-}+                                                text "Get property" <+> _nmIoutput+                                                {-# LINE 5799 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 5808 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 5813 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 5818 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 5823 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_GetProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetScopeObject :: Word8 ->+                                  T_Instruction +sem_Instruction_GetScopeObject index_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5836 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5841 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetScopeObject_1 :: T_Instruction_1 +                       sem_Instruction_GetScopeObject_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 583 "src/PrettyTree.ag" #-}+                                        text "Get scope object" <+> props [("index", num index_)]+                                        {-# LINE 5853 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 5862 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 5867 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 5872 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 5877 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_GetScopeObject_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_GetSlot slot_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5890 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5895 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetSlot_1 :: T_Instruction_1 +                       sem_Instruction_GetSlot_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 584 "src/PrettyTree.ag" #-}+                                        text "Get slot" <+> num slot_+                                        {-# LINE 5907 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 5916 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 5921 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 5926 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 5931 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_GetSlot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_GetSuper name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 5944 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 5949 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GetSuper_1 :: T_Instruction_1 +                       sem_Instruction_GetSuper_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 5961 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 5968 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 585 "src/PrettyTree.ag" #-}+                                                text "Get super" <+> _nmIoutput+                                                {-# LINE 5975 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 5984 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 5989 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 5994 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 5999 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_GetSuper_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GreaterEquals :: T_Instruction +sem_Instruction_GreaterEquals  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6011 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6016 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GreaterEquals_1 :: T_Instruction_1 +                       sem_Instruction_GreaterEquals_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 586 "src/PrettyTree.ag" #-}+                                        text "Greater or equals"+                                        {-# LINE 6028 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 6037 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 6042 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 6047 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 6052 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_GreaterEquals_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_GreaterThan :: T_Instruction +sem_Instruction_GreaterThan  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6064 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6069 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_GreaterThan_1 :: T_Instruction_1 +                       sem_Instruction_GreaterThan_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 587 "src/PrettyTree.ag" #-}+                                        text "Greater than"+                                        {-# LINE 6081 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 6090 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 6095 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 6100 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 6105 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_GreaterThan_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_HasNext :: T_Instruction +sem_Instruction_HasNext  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6117 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6122 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_HasNext_1 :: T_Instruction_1 +                       sem_Instruction_HasNext_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 588 "src/PrettyTree.ag" #-}+                                        text "Has next"+                                        {-# LINE 6134 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 6143 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 6148 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 6153 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 6158 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_HasNext_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_HasNext2 :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_HasNext2 objectReg_ indexReg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6172 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6177 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_HasNext2_1 :: T_Instruction_1 +                       sem_Instruction_HasNext2_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 589 "src/PrettyTree.ag" #-}+                                        text "Has next 2" <+> props [("object register", num objectReg_),("index register", num indexReg_)]+                                        {-# LINE 6189 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 6198 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 6203 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 6208 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 6213 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_HasNext2_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfEq :: Word32 ->+                        T_Instruction +sem_Instruction_IfEq offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6226 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6231 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfEq_1 :: T_Instruction_1 +                       sem_Instruction_IfEq_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 6243 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 6248 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 590 "src/PrettyTree.ag" #-}+                                          text "If equal" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 6253 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 6262 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 6267 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 6272 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6277 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfEq_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfFalse :: Word32 ->+                           T_Instruction +sem_Instruction_IfFalse offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6290 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6295 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfFalse_1 :: T_Instruction_1 +                       sem_Instruction_IfFalse_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 6307 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 6312 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 591 "src/PrettyTree.ag" #-}+                                          text "If false" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 6317 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 6326 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 6331 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 6336 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6341 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfFalse_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfGe :: Word32 ->+                        T_Instruction +sem_Instruction_IfGe offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6354 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6359 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfGe_1 :: T_Instruction_1 +                       sem_Instruction_IfGe_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 6371 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 6376 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 592 "src/PrettyTree.ag" #-}+                                          text "If greater or equal" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 6381 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 6390 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 6395 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 6400 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6405 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfGe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfGt :: Word32 ->+                        T_Instruction +sem_Instruction_IfGt offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6418 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6423 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfGt_1 :: T_Instruction_1 +                       sem_Instruction_IfGt_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 6435 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 6440 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 593 "src/PrettyTree.ag" #-}+                                          text "If greater" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 6445 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 6454 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 6459 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 6464 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6469 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfGt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfLe :: Word32 ->+                        T_Instruction +sem_Instruction_IfLe offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6482 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6487 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfLe_1 :: T_Instruction_1 +                       sem_Instruction_IfLe_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 6499 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 6504 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 594 "src/PrettyTree.ag" #-}+                                          text "If less or equal" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 6509 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 6518 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 6523 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 6528 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6533 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfLe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfLt :: Word32 ->+                        T_Instruction +sem_Instruction_IfLt offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6546 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6551 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfLt_1 :: T_Instruction_1 +                       sem_Instruction_IfLt_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 6563 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 6568 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 595 "src/PrettyTree.ag" #-}+                                          text "If less than" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 6573 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 6582 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 6587 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 6592 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6597 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfLt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfNGe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGe offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6610 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6615 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfNGe_1 :: T_Instruction_1 +                       sem_Instruction_IfNGe_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 6627 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 6632 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 596 "src/PrettyTree.ag" #-}+                                          text "If not greater or equal" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 6637 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 6646 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 6651 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 6656 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6661 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfNGe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfNGt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGt offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6674 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6679 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfNGt_1 :: T_Instruction_1 +                       sem_Instruction_IfNGt_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 6691 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 6696 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 597 "src/PrettyTree.ag" #-}+                                          text "If not greater than" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 6701 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 6710 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 6715 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 6720 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6725 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfNGt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfNLe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLe offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6738 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6743 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfNLe_1 :: T_Instruction_1 +                       sem_Instruction_IfNLe_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 6755 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 6760 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 598 "src/PrettyTree.ag" #-}+                                          text "If not less or equal" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 6765 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 6774 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 6779 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 6784 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6789 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfNLe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfNLt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLt offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6802 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6807 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfNLt_1 :: T_Instruction_1 +                       sem_Instruction_IfNLt_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 6819 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 6824 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 599 "src/PrettyTree.ag" #-}+                                          text "If not less than" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 6829 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 6838 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 6843 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 6848 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6853 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfNLt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfNe :: Word32 ->+                        T_Instruction +sem_Instruction_IfNe offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6866 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6871 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfNe_1 :: T_Instruction_1 +                       sem_Instruction_IfNe_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 6883 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 6888 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 600 "src/PrettyTree.ag" #-}+                                          text "If not equal" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 6893 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 6902 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 6907 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 6912 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6917 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfNe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfStrictEq :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictEq offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6930 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6935 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfStrictEq_1 :: T_Instruction_1 +                       sem_Instruction_IfStrictEq_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 6947 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 6952 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 601 "src/PrettyTree.ag" #-}+                                          text "If equal (strict)" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 6957 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 6966 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 6971 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 6976 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 6981 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfStrictEq_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfStrictNe :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictNe offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 6994 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 6999 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfStrictNe_1 :: T_Instruction_1 +                       sem_Instruction_IfStrictNe_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 7011 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 7016 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 602 "src/PrettyTree.ag" #-}+                                          text "If not equal (strict)" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 7021 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 7030 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 7035 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 7040 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 7045 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfStrictNe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IfTrue :: Word32 ->+                          T_Instruction +sem_Instruction_IfTrue offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7058 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7063 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IfTrue_1 :: T_Instruction_1 +                       sem_Instruction_IfTrue_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 7075 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 7080 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 603 "src/PrettyTree.ag" #-}+                                          text "If true" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 7085 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 7094 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 7099 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 7104 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 7109 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_IfTrue_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_In :: T_Instruction +sem_Instruction_In  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7121 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7126 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_In_1 :: T_Instruction_1 +                       sem_Instruction_In_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 604 "src/PrettyTree.ag" #-}+                                        text "In (tests existence of property in object)"+                                        {-# LINE 7138 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7147 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7152 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7157 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 7162 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_In_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IncLocal :: Word32 ->+                            T_Instruction +sem_Instruction_IncLocal reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7175 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7180 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IncLocal_1 :: T_Instruction_1 +                       sem_Instruction_IncLocal_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 605 "src/PrettyTree.ag" #-}+                                        text "Increment local (number)" <+> num reg_+                                        {-# LINE 7192 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7201 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7206 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7211 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 7216 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_IncLocal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IncLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_IncLocal_i reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7229 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7234 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IncLocal_i_1 :: T_Instruction_1 +                       sem_Instruction_IncLocal_i_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 606 "src/PrettyTree.ag" #-}+                                        text "Increment local (integer)" <+> num reg_+                                        {-# LINE 7246 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7255 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7260 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7265 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 7270 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_IncLocal_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Increment :: T_Instruction +sem_Instruction_Increment  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7282 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7287 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Increment_1 :: T_Instruction_1 +                       sem_Instruction_Increment_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 607 "src/PrettyTree.ag" #-}+                                        text "Increment (number)"+                                        {-# LINE 7299 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7308 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7313 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7318 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 7323 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Increment_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Increment_i :: T_Instruction +sem_Instruction_Increment_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7335 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7340 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Increment_i_1 :: T_Instruction_1 +                       sem_Instruction_Increment_i_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 608 "src/PrettyTree.ag" #-}+                                        text "Increment (integer)"+                                        {-# LINE 7352 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7361 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7366 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7371 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 7376 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Increment_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_InitProperty :: Word32 ->+                                T_Instruction +sem_Instruction_InitProperty name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7389 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7394 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_InitProperty_1 :: T_Instruction_1 +                       sem_Instruction_InitProperty_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 7406 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 7413 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 609 "src/PrettyTree.ag" #-}+                                                text "Init property" <+> _nmIoutput+                                                {-# LINE 7420 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 7429 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 7434 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 7439 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 7444 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_InitProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_InstanceOf :: T_Instruction +sem_Instruction_InstanceOf  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7456 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7461 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_InstanceOf_1 :: T_Instruction_1 +                       sem_Instruction_InstanceOf_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 610 "src/PrettyTree.ag" #-}+                                        text "Instance of"+                                        {-# LINE 7473 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7482 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7487 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7492 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 7497 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_InstanceOf_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IsType :: Word32 ->+                          T_Instruction +sem_Instruction_IsType name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7510 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7515 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IsType_1 :: T_Instruction_1 +                       sem_Instruction_IsType_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 7527 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 7534 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 611 "src/PrettyTree.ag" #-}+                                                text "Is type" <+> _nmIoutput+                                                {-# LINE 7541 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 7550 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 7555 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 7560 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 7565 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_IsType_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_IsTypeLate :: T_Instruction +sem_Instruction_IsTypeLate  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7577 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7582 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_IsTypeLate_1 :: T_Instruction_1 +                       sem_Instruction_IsTypeLate_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 612 "src/PrettyTree.ag" #-}+                                        text "Is type (late)"+                                        {-# LINE 7594 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7603 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7608 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7613 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 7618 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_IsTypeLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Jump :: Word32 ->+                        T_Instruction +sem_Instruction_Jump offset_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7631 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7636 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Jump_1 :: T_Instruction_1 +                       sem_Instruction_Jump_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 26 "src/ByteCodeLocationInfo.ag" #-}+                                        fromS24 offset_+                                        {-# LINE 7648 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _relative | _relative `seq` (True) ->+                                 (case (({-# LINE 27 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation + _relative+                                         {-# LINE 7653 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _target | _target `seq` (True) ->+                                  (case (({-# LINE 613 "src/PrettyTree.ag" #-}+                                          text "Jump" <+> num _target     <+> parens (num _relative    )+                                          {-# LINE 7658 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _descr | _descr `seq` (True) ->+                                   (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                           case _lhsImbLoc of+                                             Nothing -> text (replicate 8 ' ')+                                             Just i  -> let str = show i+                                                            sps = replicate (max 0 (6 - length str))  ' '+                                                        in  text str <> text sps <> text ": "+                                           {-# LINE 7667 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lbl | _lbl `seq` (True) ->+                                    (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                            _lbl     <> text "INSTR"+                                            {-# LINE 7672 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _prefix | _prefix `seq` (True) ->+                                     (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                             _prefix     <+> _descr+                                             {-# LINE 7677 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                      (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                              _lhsIrevLocation+                                              {-# LINE 7682 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                       ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }))+                   in  sem_Instruction_Jump_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Kill :: Word32 ->+                        T_Instruction +sem_Instruction_Kill reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7695 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7700 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Kill_1 :: T_Instruction_1 +                       sem_Instruction_Kill_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 614 "src/PrettyTree.ag" #-}+                                        text "Kill register" <+> num reg_+                                        {-# LINE 7712 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7721 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7726 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7731 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 7736 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Kill_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Label :: T_Instruction +sem_Instruction_Label  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7748 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7753 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Label_1 :: T_Instruction_1 +                       sem_Instruction_Label_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 615 "src/PrettyTree.ag" #-}+                                        text "Label (nop)"+                                        {-# LINE 7765 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7774 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7779 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7784 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 7789 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Label_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_LessEquals :: T_Instruction +sem_Instruction_LessEquals  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7801 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7806 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_LessEquals_1 :: T_Instruction_1 +                       sem_Instruction_LessEquals_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 616 "src/PrettyTree.ag" #-}+                                        text "Less or equals"+                                        {-# LINE 7818 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7827 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7832 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7837 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 7842 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_LessEquals_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_LessThan :: T_Instruction +sem_Instruction_LessThan  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7854 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7859 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_LessThan_1 :: T_Instruction_1 +                       sem_Instruction_LessThan_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 617 "src/PrettyTree.ag" #-}+                                        text "Less than"+                                        {-# LINE 7871 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7880 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7885 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7890 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 7895 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_LessThan_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_LoadFloat32 :: T_Instruction +sem_Instruction_LoadFloat32  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7907 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7912 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_LoadFloat32_1 :: T_Instruction_1 +                       sem_Instruction_LoadFloat32_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 618 "src/PrettyTree.ag" #-}+                                        text "Load float 32"+                                        {-# LINE 7924 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7933 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7938 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7943 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 7948 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_LoadFloat32_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_LoadFloat64 :: T_Instruction +sem_Instruction_LoadFloat64  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 7960 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 7965 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_LoadFloat64_1 :: T_Instruction_1 +                       sem_Instruction_LoadFloat64_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 619 "src/PrettyTree.ag" #-}+                                        text "Load float 64"+                                        {-# LINE 7977 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 7986 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 7991 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 7996 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8001 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_LoadFloat64_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_LoadIndirect16 :: T_Instruction +sem_Instruction_LoadIndirect16  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8013 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8018 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_LoadIndirect16_1 :: T_Instruction_1 +                       sem_Instruction_LoadIndirect16_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 621 "src/PrettyTree.ag" #-}+                                        text "Load indirect 16"+                                        {-# LINE 8030 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 8039 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 8044 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 8049 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8054 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_LoadIndirect16_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_LoadIndirect32 :: T_Instruction +sem_Instruction_LoadIndirect32  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8066 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8071 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_LoadIndirect32_1 :: T_Instruction_1 +                       sem_Instruction_LoadIndirect32_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 622 "src/PrettyTree.ag" #-}+                                        text "Load indirect 32"+                                        {-# LINE 8083 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 8092 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 8097 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 8102 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8107 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_LoadIndirect32_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_LoadIndirect8 :: T_Instruction +sem_Instruction_LoadIndirect8  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8119 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8124 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_LoadIndirect8_1 :: T_Instruction_1 +                       sem_Instruction_LoadIndirect8_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 620 "src/PrettyTree.ag" #-}+                                        text "Load indirect 8"+                                        {-# LINE 8136 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 8145 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 8150 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 8155 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8160 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_LoadIndirect8_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Location :: Int ->+                            T_Instruction +sem_Instruction_Location index_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 7 "src/ByteCodeLocationInfo.ag" #-}+                 index_+                 {-# LINE 8173 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 450 "src/PrettyTree.ag" #-}+                  Just index_+                  {-# LINE 8178 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Location_1 :: T_Instruction_1 +                       sem_Instruction_Location_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 451 "src/PrettyTree.ag" #-}+                                        empty+                                        {-# LINE 8190 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                 (case (({-# LINE 11 "src/ByteCodeLocationInfo.ag" #-}+                                         index_+                                         {-# LINE 8195 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOoutput,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Location_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_LookupSwitch :: Word32 ->+                                T_CaseOffsets  ->+                                T_Instruction +sem_Instruction_LookupSwitch defaultOffset_ caseOffsets_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8209 "src/PrettyTree.hs" #-}+                 )) of+          { _caseOffsetsOlocation | _caseOffsetsOlocation `seq` (True) ->+          (case (caseOffsets_ _caseOffsetsOlocation ) of+           { ( _caseOffsetsIlocation,caseOffsets_1) | True ->+               (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                       _caseOffsetsIlocation+                       {-# LINE 8216 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOlocation | _lhsOlocation `seq` (True) ->+                (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                        Nothing+                        {-# LINE 8221 "src/PrettyTree.hs" #-}+                        )) of+                 { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+                 (case ((let sem_Instruction_LookupSwitch_1 :: T_Instruction_1 +                             sem_Instruction_LookupSwitch_1  =+                                 (\ _lhsIexcptEnv+                                    _lhsImbLoc+                                    _lhsIopts+                                    _lhsIrevLocation+                                    _lhsItbls ->+                                      (case (({-# LINE 23 "src/ByteCodeLocationInfo.ag" #-}+                                              fromS24 defaultOffset_+                                              {-# LINE 8233 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _relative | _relative `seq` (True) ->+                                       (case (({-# LINE 24 "src/ByteCodeLocationInfo.ag" #-}+                                               _lhsIlocation + _relative+                                               {-# LINE 8238 "src/PrettyTree.hs" #-}+                                               )) of+                                        { _target | _target `seq` (True) ->+                                        (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                                                _lhsItbls+                                                {-# LINE 8243 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _caseOffsetsOtbls | _caseOffsetsOtbls `seq` (True) ->+                                         (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                 _lhsIrevLocation+                                                 {-# LINE 8248 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _caseOffsetsOrevLocation | _caseOffsetsOrevLocation `seq` (True) ->+                                          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                                  _lhsIopts+                                                  {-# LINE 8253 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _caseOffsetsOopts | _caseOffsetsOopts `seq` (True) ->+                                           (case (caseOffsets_1 _caseOffsetsOopts _caseOffsetsOrevLocation _caseOffsetsOtbls ) of+                                            { ( _caseOffsetsIoutput,_caseOffsetsIrevLocation) | True ->+                                                (case (({-# LINE 623 "src/PrettyTree.ag" #-}+                                                        text "Switch" <+> num _target     <+> parens (num _relative    )+                                                        $+$ _caseOffsetsIoutput+                                                        {-# LINE 8261 "src/PrettyTree.hs" #-}+                                                        )) of+                                                 { _descr | _descr `seq` (True) ->+                                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                         case _lhsImbLoc of+                                                           Nothing -> text (replicate 8 ' ')+                                                           Just i  -> let str = show i+                                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                                      in  text str <> text sps <> text ": "+                                                         {-# LINE 8270 "src/PrettyTree.hs" #-}+                                                         )) of+                                                  { _lbl | _lbl `seq` (True) ->+                                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                          _lbl     <> text "INSTR"+                                                          {-# LINE 8275 "src/PrettyTree.hs" #-}+                                                          )) of+                                                   { _prefix | _prefix `seq` (True) ->+                                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                           _prefix     <+> _descr+                                                           {-# LINE 8280 "src/PrettyTree.hs" #-}+                                                           )) of+                                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                            _caseOffsetsIrevLocation+                                                            {-# LINE 8285 "src/PrettyTree.hs" #-}+                                                            )) of+                                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }) }) }))+                         in  sem_Instruction_LookupSwitch_1)) of+                  { ( sem_Instruction_1) | True ->+                  ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }) }) }))+sem_Instruction_Lshift :: T_Instruction +sem_Instruction_Lshift  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8297 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8302 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Lshift_1 :: T_Instruction_1 +                       sem_Instruction_Lshift_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 625 "src/PrettyTree.ag" #-}+                                        text "Left shift"+                                        {-# LINE 8314 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 8323 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 8328 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 8333 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8338 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Lshift_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Modulo :: T_Instruction +sem_Instruction_Modulo  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8350 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8355 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Modulo_1 :: T_Instruction_1 +                       sem_Instruction_Modulo_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 626 "src/PrettyTree.ag" #-}+                                        text "Modulo"+                                        {-# LINE 8367 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 8376 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 8381 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 8386 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8391 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Modulo_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Multiply :: T_Instruction +sem_Instruction_Multiply  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8403 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8408 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Multiply_1 :: T_Instruction_1 +                       sem_Instruction_Multiply_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 627 "src/PrettyTree.ag" #-}+                                        text "Multiply (number)"+                                        {-# LINE 8420 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 8429 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 8434 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 8439 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8444 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Multiply_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Multiply_i :: T_Instruction +sem_Instruction_Multiply_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8456 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8461 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Multiply_i_1 :: T_Instruction_1 +                       sem_Instruction_Multiply_i_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 628 "src/PrettyTree.ag" #-}+                                        text "Multiply (integer)"+                                        {-# LINE 8473 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 8482 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 8487 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 8492 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8497 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Multiply_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Negate :: T_Instruction +sem_Instruction_Negate  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8509 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8514 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Negate_1 :: T_Instruction_1 +                       sem_Instruction_Negate_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 629 "src/PrettyTree.ag" #-}+                                        text "Negate (number)"+                                        {-# LINE 8526 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 8535 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 8540 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 8545 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8550 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Negate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Negate_i :: T_Instruction +sem_Instruction_Negate_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8562 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8567 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Negate_i_1 :: T_Instruction_1 +                       sem_Instruction_Negate_i_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 630 "src/PrettyTree.ag" #-}+                                        text "Negate (integer)"+                                        {-# LINE 8579 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 8588 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 8593 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 8598 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8603 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Negate_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_NewActivation :: T_Instruction +sem_Instruction_NewActivation  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8615 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8620 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_NewActivation_1 :: T_Instruction_1 +                       sem_Instruction_NewActivation_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 631 "src/PrettyTree.ag" #-}+                                        text "New activation"+                                        {-# LINE 8632 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 8641 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 8646 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 8651 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8656 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_NewActivation_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_NewArray :: Word32 ->+                            T_Instruction +sem_Instruction_NewArray argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8669 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8674 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_NewArray_1 :: T_Instruction_1 +                       sem_Instruction_NewArray_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 632 "src/PrettyTree.ag" #-}+                                        text "New array" <+> props [("entries", num argCount_)]+                                        {-# LINE 8686 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 8695 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 8700 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 8705 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8710 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_NewArray_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_NewCatch :: Word32 ->+                            T_Instruction +sem_Instruction_NewCatch exception_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8723 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8728 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_NewCatch_1 :: T_Instruction_1 +                       sem_Instruction_NewCatch_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 491 "src/PrettyTree.ag" #-}+                                        lookupException (Ref exception_) _lhsIexcptEnv+                                        {-# LINE 8740 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _edesc | _edesc `seq` (True) ->+                                 (case (({-# LINE 498 "src/PrettyTree.ag" #-}+                                         nameView _lhsItbls (expTp _edesc    )+                                         {-# LINE 8745 "src/PrettyTree.hs" #-}+                                         )) of+                                  { tp_val_ | tp_val_ `seq` (True) ->+                                  (case ((sem_NmV tp_val_ )) of+                                   { tp_inst_ | tp_inst_ `seq` (True) ->+                                   (case (({-# LINE 499 "src/PrettyTree.ag" #-}+                                           Short+                                           {-# LINE 8752 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _tpOinfo | _tpOinfo `seq` (True) ->+                                    (case (({-# LINE 494 "src/PrettyTree.ag" #-}+                                            nameView _lhsItbls (expName _edesc    )+                                            {-# LINE 8757 "src/PrettyTree.hs" #-}+                                            )) of+                                     { nm_val_ | nm_val_ `seq` (True) ->+                                     (case ((sem_NmV nm_val_ )) of+                                      { nm_inst_ | nm_inst_ `seq` (True) ->+                                      (case (({-# LINE 495 "src/PrettyTree.ag" #-}+                                              Short+                                              {-# LINE 8764 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _nmOinfo | _nmOinfo `seq` (True) ->+                                       (case (tp_inst_ _tpOinfo ) of+                                        { ( _tpIisEmpty,_tpIoutput) | True ->+                                            (case (nm_inst_ _nmOinfo ) of+                                             { ( _nmIisEmpty,_nmIoutput) | True ->+                                                 (case (({-# LINE 633 "src/PrettyTree.ag" #-}+                                                         text "New catch" <+> props+                                                           [ ("from", num $ expFrom _edesc    ), ("to", num $ expTo _edesc    )+                                                           , ("target", num $ expTarget _edesc    )+                                                           , ("type", _tpIoutput), ("name", _nmIoutput) ]+                                                         {-# LINE 8776 "src/PrettyTree.hs" #-}+                                                         )) of+                                                  { _descr | _descr `seq` (True) ->+                                                  (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                          case _lhsImbLoc of+                                                            Nothing -> text (replicate 8 ' ')+                                                            Just i  -> let str = show i+                                                                           sps = replicate (max 0 (6 - length str))  ' '+                                                                       in  text str <> text sps <> text ": "+                                                          {-# LINE 8785 "src/PrettyTree.hs" #-}+                                                          )) of+                                                   { _lbl | _lbl `seq` (True) ->+                                                   (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                           _lbl     <> text "INSTR"+                                                           {-# LINE 8790 "src/PrettyTree.hs" #-}+                                                           )) of+                                                    { _prefix | _prefix `seq` (True) ->+                                                    (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                            _prefix     <+> _descr+                                                            {-# LINE 8795 "src/PrettyTree.hs" #-}+                                                            )) of+                                                     { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                     (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                             _lhsIrevLocation+                                                             {-# LINE 8800 "src/PrettyTree.hs" #-}+                                                             )) of+                                                      { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                                      ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_NewCatch_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_NewClass :: Word32 ->+                            T_Instruction +sem_Instruction_NewClass class_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8813 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8818 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_NewClass_1 :: T_Instruction_1 +                       sem_Instruction_NewClass_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 501 "src/PrettyTree.ag" #-}+                                        lookupClass (Ref class_) _lhsItbls+                                        {-# LINE 8830 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _cdesc | _cdesc `seq` (True) ->+                                 (case (({-# LINE 503 "src/PrettyTree.ag" #-}+                                         nameView _lhsItbls (clName _cdesc    )+                                         {-# LINE 8835 "src/PrettyTree.hs" #-}+                                         )) of+                                  { nm_val_ | nm_val_ `seq` (True) ->+                                  (case ((sem_NmV nm_val_ )) of+                                   { nm_inst_ | nm_inst_ `seq` (True) ->+                                   (case (({-# LINE 504 "src/PrettyTree.ag" #-}+                                           Short+                                           {-# LINE 8842 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _nmOinfo | _nmOinfo `seq` (True) ->+                                    (case (nm_inst_ _nmOinfo ) of+                                     { ( _nmIisEmpty,_nmIoutput) | True ->+                                         (case (({-# LINE 637 "src/PrettyTree.ag" #-}+                                                 text "New class" <+> _nmIoutput+                                                 {-# LINE 8849 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _descr | _descr `seq` (True) ->+                                          (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                  case _lhsImbLoc of+                                                    Nothing -> text (replicate 8 ' ')+                                                    Just i  -> let str = show i+                                                                   sps = replicate (max 0 (6 - length str))  ' '+                                                               in  text str <> text sps <> text ": "+                                                  {-# LINE 8858 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _lbl | _lbl `seq` (True) ->+                                           (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                   _lbl     <> text "INSTR"+                                                   {-# LINE 8863 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _prefix | _prefix `seq` (True) ->+                                            (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                    _prefix     <+> _descr+                                                    {-# LINE 8868 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                             (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                     _lhsIrevLocation+                                                     {-# LINE 8873 "src/PrettyTree.hs" #-}+                                                     )) of+                                              { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                              ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_NewClass_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_NewFunction :: Word32 ->+                               T_Instruction +sem_Instruction_NewFunction method_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8886 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8891 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_NewFunction_1 :: T_Instruction_1 +                       sem_Instruction_NewFunction_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 488 "src/PrettyTree.ag" #-}+                                        methodView _lhsItbls (Ref method_)+                                        {-# LINE 8903 "src/PrettyTree.hs" #-}+                                        )) of+                                 { m_val_ | m_val_ `seq` (True) ->+                                 (case ((sem_MethodV m_val_ )) of+                                  { m_inst_ | m_inst_ `seq` (True) ->+                                  (case (({-# LINE 489 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 8910 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _mOinfo | _mOinfo `seq` (True) ->+                                   (case (m_inst_ _mOinfo ) of+                                    { ( _mIoutput) | True ->+                                        (case (({-# LINE 638 "src/PrettyTree.ag" #-}+                                                text "New function" <+> _mIoutput+                                                {-# LINE 8917 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 8926 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 8931 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 8936 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 8941 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_NewFunction_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_NewObject :: Word32 ->+                             T_Instruction +sem_Instruction_NewObject argCount_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 8954 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 8959 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_NewObject_1 :: T_Instruction_1 +                       sem_Instruction_NewObject_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 639 "src/PrettyTree.ag" #-}+                                        text "New object" <+> props [("args", num argCount_)]+                                        {-# LINE 8971 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 8980 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 8985 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 8990 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 8995 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_NewObject_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_NextName :: T_Instruction +sem_Instruction_NextName  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9007 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9012 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_NextName_1 :: T_Instruction_1 +                       sem_Instruction_NextName_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 640 "src/PrettyTree.ag" #-}+                                        text "NextName"+                                        {-# LINE 9024 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9033 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9038 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9043 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9048 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_NextName_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_NextValue :: T_Instruction +sem_Instruction_NextValue  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9060 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9065 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_NextValue_1 :: T_Instruction_1 +                       sem_Instruction_NextValue_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 641 "src/PrettyTree.ag" #-}+                                        text "NextValue"+                                        {-# LINE 9077 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9086 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9091 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9096 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9101 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_NextValue_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Nop :: T_Instruction +sem_Instruction_Nop  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9113 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9118 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Nop_1 :: T_Instruction_1 +                       sem_Instruction_Nop_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 642 "src/PrettyTree.ag" #-}+                                        text "Nop"+                                        {-# LINE 9130 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9139 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9144 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9149 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9154 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Nop_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Not :: T_Instruction +sem_Instruction_Not  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9166 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9171 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Not_1 :: T_Instruction_1 +                       sem_Instruction_Not_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 643 "src/PrettyTree.ag" #-}+                                        text "Not"+                                        {-# LINE 9183 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9192 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9197 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9202 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9207 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Not_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Pop :: T_Instruction +sem_Instruction_Pop  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9219 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9224 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Pop_1 :: T_Instruction_1 +                       sem_Instruction_Pop_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 644 "src/PrettyTree.ag" #-}+                                        text "Pop"+                                        {-# LINE 9236 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9245 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9250 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9255 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9260 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Pop_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PopScope :: T_Instruction +sem_Instruction_PopScope  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9272 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9277 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PopScope_1 :: T_Instruction_1 +                       sem_Instruction_PopScope_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 645 "src/PrettyTree.ag" #-}+                                        text "Pop scope"+                                        {-# LINE 9289 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9298 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9303 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9308 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9313 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_PopScope_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushByte :: Word8 ->+                            T_Instruction +sem_Instruction_PushByte val_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9326 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9331 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushByte_1 :: T_Instruction_1 +                       sem_Instruction_PushByte_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 646 "src/PrettyTree.ag" #-}+                                        text "Push byte" <+> num val_+                                        {-# LINE 9343 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9352 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9357 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9362 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9367 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_PushByte_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushDouble :: Word32 ->+                              T_Instruction +sem_Instruction_PushDouble name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9380 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9385 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushDouble_1 :: T_Instruction_1 +                       sem_Instruction_PushDouble_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 507 "src/PrettyTree.ag" #-}+                                        lookupDouble (Ref name_) _lhsItbls+                                        {-# LINE 9397 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _val | _val `seq` (True) ->+                                 (case (({-# LINE 647 "src/PrettyTree.ag" #-}+                                         text "Push double" <+> num _val+                                         {-# LINE 9402 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _descr | _descr `seq` (True) ->+                                  (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                          case _lhsImbLoc of+                                            Nothing -> text (replicate 8 ' ')+                                            Just i  -> let str = show i+                                                           sps = replicate (max 0 (6 - length str))  ' '+                                                       in  text str <> text sps <> text ": "+                                          {-# LINE 9411 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _lbl | _lbl `seq` (True) ->+                                   (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                           _lbl     <> text "INSTR"+                                           {-# LINE 9416 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _prefix | _prefix `seq` (True) ->+                                    (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                            _prefix     <+> _descr+                                            {-# LINE 9421 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                     (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                             _lhsIrevLocation+                                             {-# LINE 9426 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                      ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }))+                   in  sem_Instruction_PushDouble_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushFalse :: T_Instruction +sem_Instruction_PushFalse  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9438 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9443 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushFalse_1 :: T_Instruction_1 +                       sem_Instruction_PushFalse_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 648 "src/PrettyTree.ag" #-}+                                        text "Push false"+                                        {-# LINE 9455 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9464 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9469 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9474 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9479 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_PushFalse_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushInt :: Word32 ->+                           T_Instruction +sem_Instruction_PushInt name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9492 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9497 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushInt_1 :: T_Instruction_1 +                       sem_Instruction_PushInt_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 505 "src/PrettyTree.ag" #-}+                                        lookupInt    (Ref name_) _lhsItbls+                                        {-# LINE 9509 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _val | _val `seq` (True) ->+                                 (case (({-# LINE 649 "src/PrettyTree.ag" #-}+                                         text "Push signed integer" <+> num _val+                                         {-# LINE 9514 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _descr | _descr `seq` (True) ->+                                  (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                          case _lhsImbLoc of+                                            Nothing -> text (replicate 8 ' ')+                                            Just i  -> let str = show i+                                                           sps = replicate (max 0 (6 - length str))  ' '+                                                       in  text str <> text sps <> text ": "+                                          {-# LINE 9523 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _lbl | _lbl `seq` (True) ->+                                   (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                           _lbl     <> text "INSTR"+                                           {-# LINE 9528 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _prefix | _prefix `seq` (True) ->+                                    (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                            _prefix     <+> _descr+                                            {-# LINE 9533 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                     (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                             _lhsIrevLocation+                                             {-# LINE 9538 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                      ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }))+                   in  sem_Instruction_PushInt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushNaN :: T_Instruction +sem_Instruction_PushNaN  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9550 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9555 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushNaN_1 :: T_Instruction_1 +                       sem_Instruction_PushNaN_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 651 "src/PrettyTree.ag" #-}+                                        text "Push NaN"+                                        {-# LINE 9567 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9576 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9581 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9586 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9591 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_PushNaN_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushNamespace :: Word32 ->+                                 T_Instruction +sem_Instruction_PushNamespace name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9604 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9609 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushNamespace_1 :: T_Instruction_1 +                       sem_Instruction_PushNamespace_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 484 "src/PrettyTree.ag" #-}+                                        namespaceView _lhsItbls (Ref name_)+                                        {-# LINE 9621 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nms_val_ | nms_val_ `seq` (True) ->+                                 (case ((sem_NsV nms_val_ )) of+                                  { nms_inst_ | nms_inst_ `seq` (True) ->+                                  (case (({-# LINE 485 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 9628 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmsOinfo | _nmsOinfo `seq` (True) ->+                                   (case (nms_inst_ _nmsOinfo ) of+                                    { ( _nmsIisEmpty,_nmsIoutput) | True ->+                                        (case (({-# LINE 650 "src/PrettyTree.ag" #-}+                                                text "Push namespace" <+> _nmsIoutput+                                                {-# LINE 9635 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 9644 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 9649 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 9654 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 9659 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_PushNamespace_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushNull :: T_Instruction +sem_Instruction_PushNull  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9671 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9676 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushNull_1 :: T_Instruction_1 +                       sem_Instruction_PushNull_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 652 "src/PrettyTree.ag" #-}+                                        text "Push null"+                                        {-# LINE 9688 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9697 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9702 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9707 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9712 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_PushNull_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushScope :: T_Instruction +sem_Instruction_PushScope  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9724 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9729 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushScope_1 :: T_Instruction_1 +                       sem_Instruction_PushScope_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 653 "src/PrettyTree.ag" #-}+                                        text "Push scope"+                                        {-# LINE 9741 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9750 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9755 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9760 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9765 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_PushScope_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushShort :: Word32 ->+                             T_Instruction +sem_Instruction_PushShort val_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9778 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9783 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushShort_1 :: T_Instruction_1 +                       sem_Instruction_PushShort_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 654 "src/PrettyTree.ag" #-}+                                        text "Push short" <+> num val_+                                        {-# LINE 9795 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9804 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9809 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9814 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9819 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_PushShort_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushString :: Word32 ->+                              T_Instruction +sem_Instruction_PushString name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9832 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9837 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushString_1 :: T_Instruction_1 +                       sem_Instruction_PushString_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 480 "src/PrettyTree.ag" #-}+                                        stringView _lhsItbls (Ref name_)+                                        {-# LINE 9849 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_StrV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 481 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 9856 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 655 "src/PrettyTree.ag" #-}+                                                text "Push string" <+> _nmIoutput+                                                {-# LINE 9863 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 9872 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 9877 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 9882 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 9887 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_PushString_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushTrue :: T_Instruction +sem_Instruction_PushTrue  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9899 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9904 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushTrue_1 :: T_Instruction_1 +                       sem_Instruction_PushTrue_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 656 "src/PrettyTree.ag" #-}+                                        text "Push true"+                                        {-# LINE 9916 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 9925 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 9930 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 9935 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 9940 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_PushTrue_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushUInt :: Word32 ->+                            T_Instruction +sem_Instruction_PushUInt name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 9953 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 9958 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushUInt_1 :: T_Instruction_1 +                       sem_Instruction_PushUInt_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 506 "src/PrettyTree.ag" #-}+                                        lookupUInt   (Ref name_) _lhsItbls+                                        {-# LINE 9970 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _val | _val `seq` (True) ->+                                 (case (({-# LINE 657 "src/PrettyTree.ag" #-}+                                         text "Push unsigned integer" <+> num _val+                                         {-# LINE 9975 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _descr | _descr `seq` (True) ->+                                  (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                          case _lhsImbLoc of+                                            Nothing -> text (replicate 8 ' ')+                                            Just i  -> let str = show i+                                                           sps = replicate (max 0 (6 - length str))  ' '+                                                       in  text str <> text sps <> text ": "+                                          {-# LINE 9984 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _lbl | _lbl `seq` (True) ->+                                   (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                           _lbl     <> text "INSTR"+                                           {-# LINE 9989 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _prefix | _prefix `seq` (True) ->+                                    (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                            _prefix     <+> _descr+                                            {-# LINE 9994 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                     (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                             _lhsIrevLocation+                                             {-# LINE 9999 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                      ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }))+                   in  sem_Instruction_PushUInt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushUndefined :: T_Instruction +sem_Instruction_PushUndefined  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10011 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10016 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushUndefined_1 :: T_Instruction_1 +                       sem_Instruction_PushUndefined_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 658 "src/PrettyTree.ag" #-}+                                        text "Push undefined"+                                        {-# LINE 10028 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10037 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10042 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10047 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10052 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_PushUndefined_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_PushWith :: T_Instruction +sem_Instruction_PushWith  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10064 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10069 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_PushWith_1 :: T_Instruction_1 +                       sem_Instruction_PushWith_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 659 "src/PrettyTree.ag" #-}+                                        text "Push with-scope"+                                        {-# LINE 10081 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10090 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10095 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10100 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10105 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_PushWith_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_ReturnValue :: T_Instruction +sem_Instruction_ReturnValue  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10117 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10122 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_ReturnValue_1 :: T_Instruction_1 +                       sem_Instruction_ReturnValue_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 660 "src/PrettyTree.ag" #-}+                                        text "Return (value)"+                                        {-# LINE 10134 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10143 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10148 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10153 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10158 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_ReturnValue_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_ReturnVoid :: T_Instruction +sem_Instruction_ReturnVoid  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10170 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10175 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_ReturnVoid_1 :: T_Instruction_1 +                       sem_Instruction_ReturnVoid_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 661 "src/PrettyTree.ag" #-}+                                        text "Return (void)"+                                        {-# LINE 10187 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10196 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10201 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10206 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10211 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_ReturnVoid_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Rshift :: T_Instruction +sem_Instruction_Rshift  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10223 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10228 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Rshift_1 :: T_Instruction_1 +                       sem_Instruction_Rshift_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 662 "src/PrettyTree.ag" #-}+                                        text "Right shift"+                                        {-# LINE 10240 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10249 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10254 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10259 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10264 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Rshift_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_SetGlobalSlot slot_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10277 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10282 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SetGlobalSlot_1 :: T_Instruction_1 +                       sem_Instruction_SetGlobalSlot_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 668 "src/PrettyTree.ag" #-}+                                        text "Set global slot" <+> num slot_+                                        {-# LINE 10294 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10303 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10308 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10313 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10318 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_SetGlobalSlot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_SetLocal reg_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10331 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10336 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SetLocal_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 663 "src/PrettyTree.ag" #-}+                                        text "Set local" <+> num reg_+                                        {-# LINE 10348 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10357 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10362 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10367 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10372 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_SetLocal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal0 :: T_Instruction +sem_Instruction_SetLocal0  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10384 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10389 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SetLocal0_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal0_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 664 "src/PrettyTree.ag" #-}+                                        text "Set local0"+                                        {-# LINE 10401 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10410 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10415 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10420 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10425 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_SetLocal0_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal1 :: T_Instruction +sem_Instruction_SetLocal1  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10437 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10442 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SetLocal1_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal1_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 665 "src/PrettyTree.ag" #-}+                                        text "Set local1"+                                        {-# LINE 10454 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10463 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10468 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10473 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10478 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_SetLocal1_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal2 :: T_Instruction +sem_Instruction_SetLocal2  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10490 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10495 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SetLocal2_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal2_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 666 "src/PrettyTree.ag" #-}+                                        text "Set local2"+                                        {-# LINE 10507 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10516 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10521 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10526 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10531 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_SetLocal2_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal3 :: T_Instruction +sem_Instruction_SetLocal3  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10543 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10548 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SetLocal3_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal3_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 667 "src/PrettyTree.ag" #-}+                                        text "Set local3"+                                        {-# LINE 10560 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10569 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10574 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10579 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10584 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_SetLocal3_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_SetProperty name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10597 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10602 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SetProperty_1 :: T_Instruction_1 +                       sem_Instruction_SetProperty_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 10614 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 10621 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 669 "src/PrettyTree.ag" #-}+                                                text "Set property" <+> _nmIoutput+                                                {-# LINE 10628 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 10637 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 10642 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 10647 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 10652 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_SetProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SetPropertyLate :: T_Instruction +sem_Instruction_SetPropertyLate  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10664 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10669 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SetPropertyLate_1 :: T_Instruction_1 +                       sem_Instruction_SetPropertyLate_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 670 "src/PrettyTree.ag" #-}+                                        text "Set property (late)"+                                        {-# LINE 10681 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10690 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10695 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10700 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10705 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_SetPropertyLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_SetSlot slot_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10718 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10723 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SetSlot_1 :: T_Instruction_1 +                       sem_Instruction_SetSlot_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 671 "src/PrettyTree.ag" #-}+                                        text "Set slot" <+> num slot_+                                        {-# LINE 10735 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10744 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10749 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10754 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10759 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_SetSlot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_SetSuper name_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10772 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10777 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SetSuper_1 :: T_Instruction_1 +                       sem_Instruction_SetSuper_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 476 "src/PrettyTree.ag" #-}+                                        nameView _lhsItbls (Ref name_)+                                        {-# LINE 10789 "src/PrettyTree.hs" #-}+                                        )) of+                                 { nm_val_ | nm_val_ `seq` (True) ->+                                 (case ((sem_NmV nm_val_ )) of+                                  { nm_inst_ | nm_inst_ `seq` (True) ->+                                  (case (({-# LINE 477 "src/PrettyTree.ag" #-}+                                          Short+                                          {-# LINE 10796 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _nmOinfo | _nmOinfo `seq` (True) ->+                                   (case (nm_inst_ _nmOinfo ) of+                                    { ( _nmIisEmpty,_nmIoutput) | True ->+                                        (case (({-# LINE 672 "src/PrettyTree.ag" #-}+                                                text "Set super" <+> _nmIoutput+                                                {-# LINE 10803 "src/PrettyTree.hs" #-}+                                                )) of+                                         { _descr | _descr `seq` (True) ->+                                         (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                                 case _lhsImbLoc of+                                                   Nothing -> text (replicate 8 ' ')+                                                   Just i  -> let str = show i+                                                                  sps = replicate (max 0 (6 - length str))  ' '+                                                              in  text str <> text sps <> text ": "+                                                 {-# LINE 10812 "src/PrettyTree.hs" #-}+                                                 )) of+                                          { _lbl | _lbl `seq` (True) ->+                                          (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                                  _lbl     <> text "INSTR"+                                                  {-# LINE 10817 "src/PrettyTree.hs" #-}+                                                  )) of+                                           { _prefix | _prefix `seq` (True) ->+                                           (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                                   _prefix     <+> _descr+                                                   {-# LINE 10822 "src/PrettyTree.hs" #-}+                                                   )) of+                                            { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                            (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                    _lhsIrevLocation+                                                    {-# LINE 10827 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                             ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }))+                   in  sem_Instruction_SetSuper_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SignExtend1 :: T_Instruction +sem_Instruction_SignExtend1  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10839 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10844 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SignExtend1_1 :: T_Instruction_1 +                       sem_Instruction_SignExtend1_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 673 "src/PrettyTree.ag" #-}+                                        text "Sign extend 1"+                                        {-# LINE 10856 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10865 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10870 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10875 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10880 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_SignExtend1_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SignExtend16 :: T_Instruction +sem_Instruction_SignExtend16  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10892 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10897 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SignExtend16_1 :: T_Instruction_1 +                       sem_Instruction_SignExtend16_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 675 "src/PrettyTree.ag" #-}+                                        text "Sign extend 16"+                                        {-# LINE 10909 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10918 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10923 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10928 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10933 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_SignExtend16_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_SignExtend8 :: T_Instruction +sem_Instruction_SignExtend8  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10945 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 10950 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_SignExtend8_1 :: T_Instruction_1 +                       sem_Instruction_SignExtend8_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 674 "src/PrettyTree.ag" #-}+                                        text "Sign extend 8"+                                        {-# LINE 10962 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 10971 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 10976 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 10981 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 10986 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_SignExtend8_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_StoreFloat32 :: T_Instruction +sem_Instruction_StoreFloat32  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 10998 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11003 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_StoreFloat32_1 :: T_Instruction_1 +                       sem_Instruction_StoreFloat32_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 676 "src/PrettyTree.ag" #-}+                                        text "Store float 32"+                                        {-# LINE 11015 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11024 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11029 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11034 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11039 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_StoreFloat32_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_StoreFloat64 :: T_Instruction +sem_Instruction_StoreFloat64  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11051 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11056 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_StoreFloat64_1 :: T_Instruction_1 +                       sem_Instruction_StoreFloat64_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 677 "src/PrettyTree.ag" #-}+                                        text "Store float 64"+                                        {-# LINE 11068 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11077 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11082 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11087 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11092 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_StoreFloat64_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_StoreIndirect16 :: T_Instruction +sem_Instruction_StoreIndirect16  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11104 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11109 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_StoreIndirect16_1 :: T_Instruction_1 +                       sem_Instruction_StoreIndirect16_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 679 "src/PrettyTree.ag" #-}+                                        text "Store indirect 16"+                                        {-# LINE 11121 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11130 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11135 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11140 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11145 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_StoreIndirect16_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_StoreIndirect32 :: T_Instruction +sem_Instruction_StoreIndirect32  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11157 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11162 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_StoreIndirect32_1 :: T_Instruction_1 +                       sem_Instruction_StoreIndirect32_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 678 "src/PrettyTree.ag" #-}+                                        text "Store indirect 32"+                                        {-# LINE 11174 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11183 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11188 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11193 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11198 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_StoreIndirect32_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_StoreIndirect8 :: T_Instruction +sem_Instruction_StoreIndirect8  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11210 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11215 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_StoreIndirect8_1 :: T_Instruction_1 +                       sem_Instruction_StoreIndirect8_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 680 "src/PrettyTree.ag" #-}+                                        text "Store indirect 8"+                                        {-# LINE 11227 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11236 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11241 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11246 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11251 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_StoreIndirect8_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_StrictEquals :: T_Instruction +sem_Instruction_StrictEquals  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11263 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11268 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_StrictEquals_1 :: T_Instruction_1 +                       sem_Instruction_StrictEquals_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 681 "src/PrettyTree.ag" #-}+                                        text "Equals (strict)"+                                        {-# LINE 11280 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11289 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11294 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11299 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11304 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_StrictEquals_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Substract :: T_Instruction +sem_Instruction_Substract  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11316 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11321 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Substract_1 :: T_Instruction_1 +                       sem_Instruction_Substract_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 682 "src/PrettyTree.ag" #-}+                                        text "Substract (number)"+                                        {-# LINE 11333 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11342 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11347 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11352 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11357 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Substract_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Substract_i :: T_Instruction +sem_Instruction_Substract_i  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11369 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11374 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Substract_i_1 :: T_Instruction_1 +                       sem_Instruction_Substract_i_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 683 "src/PrettyTree.ag" #-}+                                        text "Substract (integer)"+                                        {-# LINE 11386 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11395 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11400 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11405 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11410 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Substract_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Swap :: T_Instruction +sem_Instruction_Swap  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11422 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11427 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Swap_1 :: T_Instruction_1 +                       sem_Instruction_Swap_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 684 "src/PrettyTree.ag" #-}+                                        text "Swap"+                                        {-# LINE 11439 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11448 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11453 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11458 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11463 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Swap_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Throw :: T_Instruction +sem_Instruction_Throw  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11475 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11480 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Throw_1 :: T_Instruction_1 +                       sem_Instruction_Throw_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 685 "src/PrettyTree.ag" #-}+                                        text "Throw"+                                        {-# LINE 11492 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11501 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11506 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11511 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11516 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Throw_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Timestamp :: T_Instruction +sem_Instruction_Timestamp  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11528 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11533 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Timestamp_1 :: T_Instruction_1 +                       sem_Instruction_Timestamp_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 686 "src/PrettyTree.ag" #-}+                                        text "Timestamp"+                                        {-# LINE 11545 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11554 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11559 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11564 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11569 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Timestamp_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_TypeOf :: T_Instruction +sem_Instruction_TypeOf  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11581 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11586 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_TypeOf_1 :: T_Instruction_1 +                       sem_Instruction_TypeOf_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 687 "src/PrettyTree.ag" #-}+                                        text "Type of"+                                        {-# LINE 11598 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11607 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11612 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11617 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11622 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_TypeOf_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+sem_Instruction_Urshift :: T_Instruction +sem_Instruction_Urshift  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11634 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 440 "src/PrettyTree.ag" #-}+                  Nothing+                  {-# LINE 11639 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instruction_Urshift_1 :: T_Instruction_1 +                       sem_Instruction_Urshift_1  =+                           (\ _lhsIexcptEnv+                              _lhsImbLoc+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 688 "src/PrettyTree.ag" #-}+                                        text "Unsigned right shift"+                                        {-# LINE 11651 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _descr | _descr `seq` (True) ->+                                 (case (({-# LINE 442 "src/PrettyTree.ag" #-}+                                         case _lhsImbLoc of+                                           Nothing -> text (replicate 8 ' ')+                                           Just i  -> let str = show i+                                                          sps = replicate (max 0 (6 - length str))  ' '+                                                      in  text str <> text sps <> text ": "+                                         {-# LINE 11660 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lbl | _lbl `seq` (True) ->+                                  (case (({-# LINE 447 "src/PrettyTree.ag" #-}+                                          _lbl     <> text "INSTR"+                                          {-# LINE 11665 "src/PrettyTree.hs" #-}+                                          )) of+                                   { _prefix | _prefix `seq` (True) ->+                                   (case (({-# LINE 448 "src/PrettyTree.ag" #-}+                                           _prefix     <+> _descr+                                           {-# LINE 11670 "src/PrettyTree.hs" #-}+                                           )) of+                                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                    (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                            _lhsIrevLocation+                                            {-# LINE 11675 "src/PrettyTree.hs" #-}+                                            )) of+                                     { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                     ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }))+                   in  sem_Instruction_Urshift_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instruction_1) }) }) }))+-- Instructions ------------------------------------------------+-- cata+sem_Instructions :: Instructions  ->+                    T_Instructions +sem_Instructions list  =+    (Prelude.foldr sem_Instructions_Cons sem_Instructions_Nil (Prelude.map sem_Instruction list) )+-- semantic domain+type T_Instructions  = Int ->+                       (Maybe Int) ->+                       ( Int,(Maybe Int),T_Instructions_1 )+type T_Instructions_1  = ExceptionDescrs ->+                         Options ->+                         Int ->+                         SymbolTables ->+                         ( Doc,Int)+sem_Instructions_Cons :: T_Instruction  ->+                         T_Instructions  ->+                         T_Instructions +sem_Instructions_Cons hd_ tl_  =+    (\ _lhsIlocation+       _lhsImbLoc ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11705 "src/PrettyTree.hs" #-}+                 )) of+          { _hdOlocation | _hdOlocation `seq` (True) ->+          (case (hd_ _hdOlocation ) of+           { ( _hdIlocation,_hdImbLoc,hd_1) | True ->+               (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                       _hdIlocation+                       {-# LINE 11712 "src/PrettyTree.hs" #-}+                       )) of+                { _tlOlocation | _tlOlocation `seq` (True) ->+                (case (({-# LINE 433 "src/PrettyTree.ag" #-}+                        _hdImbLoc+                        {-# LINE 11717 "src/PrettyTree.hs" #-}+                        )) of+                 { _tlOmbLoc | _tlOmbLoc `seq` (True) ->+                 (case (tl_ _tlOlocation _tlOmbLoc ) of+                  { ( _tlIlocation,_tlImbLoc,tl_1) | True ->+                      (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                              _tlIlocation+                              {-# LINE 11724 "src/PrettyTree.hs" #-}+                              )) of+                       { _lhsOlocation | _lhsOlocation `seq` (True) ->+                       (case (({-# LINE 433 "src/PrettyTree.ag" #-}+                               _tlImbLoc+                               {-# LINE 11729 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+                        (case ((let sem_Instructions_Cons_1 :: T_Instructions_1 +                                    sem_Instructions_Cons_1  =+                                        (\ _lhsIexcptEnv+                                           _lhsIopts+                                           _lhsIrevLocation+                                           _lhsItbls ->+                                             (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                                                     _lhsItbls+                                                     {-# LINE 11740 "src/PrettyTree.hs" #-}+                                                     )) of+                                              { _tlOtbls | _tlOtbls `seq` (True) ->+                                              (case (({-# LINE 465 "src/PrettyTree.ag" #-}+                                                      _lhsIexcptEnv+                                                      {-# LINE 11745 "src/PrettyTree.hs" #-}+                                                      )) of+                                               { _tlOexcptEnv | _tlOexcptEnv `seq` (True) ->+                                               (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                                                       _lhsItbls+                                                       {-# LINE 11750 "src/PrettyTree.hs" #-}+                                                       )) of+                                                { _hdOtbls | _hdOtbls `seq` (True) ->+                                                (case (({-# LINE 433 "src/PrettyTree.ag" #-}+                                                        _lhsImbLoc+                                                        {-# LINE 11755 "src/PrettyTree.hs" #-}+                                                        )) of+                                                 { _hdOmbLoc | _hdOmbLoc `seq` (True) ->+                                                 (case (({-# LINE 465 "src/PrettyTree.ag" #-}+                                                         _lhsIexcptEnv+                                                         {-# LINE 11760 "src/PrettyTree.hs" #-}+                                                         )) of+                                                  { _hdOexcptEnv | _hdOexcptEnv `seq` (True) ->+                                                  (case (({-# LINE 13 "src/ByteCodeLocationInfo.ag" #-}+                                                          _lhsIrevLocation+                                                          {-# LINE 11765 "src/PrettyTree.hs" #-}+                                                          )) of+                                                   { _tlOrevLocation | _tlOrevLocation `seq` (True) ->+                                                   (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                                           _lhsIopts+                                                           {-# LINE 11770 "src/PrettyTree.hs" #-}+                                                           )) of+                                                    { _tlOopts | _tlOopts `seq` (True) ->+                                                    (case (tl_1 _tlOexcptEnv _tlOopts _tlOrevLocation _tlOtbls ) of+                                                     { ( _tlIoutput,_tlIrevLocation) | True ->+                                                         (case (({-# LINE 14 "src/ByteCodeLocationInfo.ag" #-}+                                                                 _tlIrevLocation+                                                                 {-# LINE 11777 "src/PrettyTree.hs" #-}+                                                                 )) of+                                                          { _hdOrevLocation | _hdOrevLocation `seq` (True) ->+                                                          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                                                  _lhsIopts+                                                                  {-# LINE 11782 "src/PrettyTree.hs" #-}+                                                                  )) of+                                                           { _hdOopts | _hdOopts `seq` (True) ->+                                                           (case (hd_1 _hdOexcptEnv _hdOmbLoc _hdOopts _hdOrevLocation _hdOtbls ) of+                                                            { ( _hdIoutput,_hdIrevLocation) | True ->+                                                                (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                                                        _hdIoutput $+$ _tlIoutput+                                                                        {-# LINE 11789 "src/PrettyTree.hs" #-}+                                                                        )) of+                                                                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                                 (case (({-# LINE 15 "src/ByteCodeLocationInfo.ag" #-}+                                                                         _hdIrevLocation+                                                                         {-# LINE 11794 "src/PrettyTree.hs" #-}+                                                                         )) of+                                                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                                                  ( _lhsOoutput,_lhsOrevLocation) }) }) }) }) }) }) }) }) }) }) }) }) }))+                                in  sem_Instructions_Cons_1)) of+                         { ( sem_Instructions_1) | True ->+                         ( _lhsOlocation,_lhsOmbLoc,sem_Instructions_1) }) }) }) }) }) }) }) }))+sem_Instructions_Nil :: T_Instructions +sem_Instructions_Nil  =+    (\ _lhsIlocation+       _lhsImbLoc ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 11807 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case (({-# LINE 433 "src/PrettyTree.ag" #-}+                  _lhsImbLoc+                  {-# LINE 11812 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOmbLoc | _lhsOmbLoc `seq` (True) ->+           (case ((let sem_Instructions_Nil_1 :: T_Instructions_1 +                       sem_Instructions_Nil_1  =+                           (\ _lhsIexcptEnv+                              _lhsIopts+                              _lhsIrevLocation+                              _lhsItbls ->+                                (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                        empty+                                        {-# LINE 11823 "src/PrettyTree.hs" #-}+                                        )) of+                                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 11828 "src/PrettyTree.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOoutput,_lhsOrevLocation) }) }))+                   in  sem_Instructions_Nil_1)) of+            { ( sem_Instructions_1) | True ->+            ( _lhsOlocation,_lhsOmbLoc,sem_Instructions_1) }) }) }))+-- Interfaces --------------------------------------------------+-- cata+sem_Interfaces :: Interfaces  ->+                  T_Interfaces +sem_Interfaces list  =+    (Prelude.foldr sem_Interfaces_Cons sem_Interfaces_Nil list )+-- semantic domain+type T_Interfaces  = Options ->+                     SymbolTables ->+                     ( Doc)+sem_Interfaces_Cons :: Word32 ->+                       T_Interfaces  ->+                       T_Interfaces +sem_Interfaces_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 11853 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 11858 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOopts | _tlOopts `seq` (True) ->+           (case (tl_ _tlOopts _tlOtbls ) of+            { ( _tlIoutput) | True ->+                (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                        _tlIoutput+                        {-# LINE 11865 "src/PrettyTree.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_Interfaces_Nil :: T_Interfaces +sem_Interfaces_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 11875 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- ItfV --------------------------------------------------------+-- cata+sem_ItfV :: ItfV  ->+            T_ItfV +sem_ItfV (ItfV_Itf _tp )  =+    (sem_ItfV_Itf (sem_TypeV _tp ) )+-- semantic domain+type T_ItfV  = PPInfo ->+               ( Doc)+sem_ItfV_Itf :: T_TypeV  ->+                T_ItfV +sem_ItfV_Itf tp_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 11894 "src/PrettyTree.hs" #-}+                 )) of+          { _tpOinfo | _tpOinfo `seq` (True) ->+          (case (tp_ _tpOinfo ) of+           { ( _tpIoutput) | True ->+               (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                       _tpIoutput+                       {-# LINE 11901 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }))+-- ItfsV -------------------------------------------------------+-- cata+sem_ItfsV :: ItfsV  ->+             T_ItfsV +sem_ItfsV list  =+    (Prelude.foldr sem_ItfsV_Cons sem_ItfsV_Nil (Prelude.map sem_ItfV list) )+-- semantic domain+type T_ItfsV  = PPInfo ->+                ( Doc)+sem_ItfsV_Cons :: T_ItfV  ->+                  T_ItfsV  ->+                  T_ItfsV +sem_ItfsV_Cons hd_ tl_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 11921 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOinfo | _tlOinfo `seq` (True) ->+          (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                  _lhsIinfo+                  {-# LINE 11926 "src/PrettyTree.hs" #-}+                  )) of+           { _hdOinfo | _hdOinfo `seq` (True) ->+           (case (tl_ _tlOinfo ) of+            { ( _tlIoutput) | True ->+                (case (hd_ _hdOinfo ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                             _hdIoutput $+$ _tlIoutput+                             {-# LINE 11935 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+sem_ItfsV_Nil :: T_ItfsV +sem_ItfsV_Nil  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 11944 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- MbNmV -------------------------------------------------------+-- cata+sem_MbNmV :: MbNmV  ->+             T_MbNmV +sem_MbNmV (Prelude.Just x )  =+    (sem_MbNmV_Just (sem_NmV x ) )+sem_MbNmV Prelude.Nothing  =+    sem_MbNmV_Nothing+-- semantic domain+type T_MbNmV  = PPInfo ->+                ( Bool,Bool,Doc)+sem_MbNmV_Just :: T_NmV  ->+                  T_MbNmV +sem_MbNmV_Just just_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 248 "src/PrettyTree.ag" #-}+                 True+                 {-# LINE 11965 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOisDefined | _lhsOisDefined `seq` (True) ->+          (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                  _lhsIinfo+                  {-# LINE 11970 "src/PrettyTree.hs" #-}+                  )) of+           { _justOinfo | _justOinfo `seq` (True) ->+           (case (just_ _justOinfo ) of+            { ( _justIisEmpty,_justIoutput) | True ->+                (case (({-# LINE 185 "src/PrettyTree.ag" #-}+                        _justIisEmpty+                        {-# LINE 11977 "src/PrettyTree.hs" #-}+                        )) of+                 { _lhsOisEmpty | _lhsOisEmpty `seq` (True) ->+                 (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                         _justIoutput+                         {-# LINE 11982 "src/PrettyTree.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOisDefined,_lhsOisEmpty,_lhsOoutput) }) }) }) }) }))+sem_MbNmV_Nothing :: T_MbNmV +sem_MbNmV_Nothing  =+    (\ _lhsIinfo ->+         (case (({-# LINE 249 "src/PrettyTree.ag" #-}+                 False+                 {-# LINE 11991 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOisDefined | _lhsOisDefined `seq` (True) ->+          (case (({-# LINE 188 "src/PrettyTree.ag" #-}+                  True+                  {-# LINE 11996 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOisEmpty | _lhsOisEmpty `seq` (True) ->+           (case (({-# LINE 237 "src/PrettyTree.ag" #-}+                   text "_"+                   {-# LINE 12001 "src/PrettyTree.hs" #-}+                   )) of+            { _lhsOoutput | _lhsOoutput `seq` (True) ->+            ( _lhsOisDefined,_lhsOisEmpty,_lhsOoutput) }) }) }))+-- MbStrV ------------------------------------------------------+-- cata+sem_MbStrV :: MbStrV  ->+              T_MbStrV +sem_MbStrV (Prelude.Just x )  =+    (sem_MbStrV_Just (sem_StrV x ) )+sem_MbStrV Prelude.Nothing  =+    sem_MbStrV_Nothing+-- semantic domain+type T_MbStrV  = PPInfo ->+                 ( Bool,Bool,Doc)+sem_MbStrV_Just :: T_StrV  ->+                   T_MbStrV +sem_MbStrV_Just just_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 253 "src/PrettyTree.ag" #-}+                 True+                 {-# LINE 12022 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOisDefined | _lhsOisDefined `seq` (True) ->+          (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                  _lhsIinfo+                  {-# LINE 12027 "src/PrettyTree.hs" #-}+                  )) of+           { _justOinfo | _justOinfo `seq` (True) ->+           (case (just_ _justOinfo ) of+            { ( _justIisEmpty,_justIoutput) | True ->+                (case (({-# LINE 185 "src/PrettyTree.ag" #-}+                        _justIisEmpty+                        {-# LINE 12034 "src/PrettyTree.hs" #-}+                        )) of+                 { _lhsOisEmpty | _lhsOisEmpty `seq` (True) ->+                 (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                         _justIoutput+                         {-# LINE 12039 "src/PrettyTree.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOisDefined,_lhsOisEmpty,_lhsOoutput) }) }) }) }) }))+sem_MbStrV_Nothing :: T_MbStrV +sem_MbStrV_Nothing  =+    (\ _lhsIinfo ->+         (case (({-# LINE 254 "src/PrettyTree.ag" #-}+                 False+                 {-# LINE 12048 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOisDefined | _lhsOisDefined `seq` (True) ->+          (case (({-# LINE 187 "src/PrettyTree.ag" #-}+                  True+                  {-# LINE 12053 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOisEmpty | _lhsOisEmpty `seq` (True) ->+           (case (({-# LINE 234 "src/PrettyTree.ag" #-}+                   text "_"+                   {-# LINE 12058 "src/PrettyTree.hs" #-}+                   )) of+            { _lhsOoutput | _lhsOoutput `seq` (True) ->+            ( _lhsOisDefined,_lhsOisEmpty,_lhsOoutput) }) }) }))+-- MbSuperV ----------------------------------------------------+-- cata+sem_MbSuperV :: MbSuperV  ->+                T_MbSuperV +sem_MbSuperV (Prelude.Just x )  =+    (sem_MbSuperV_Just (sem_SuperV x ) )+sem_MbSuperV Prelude.Nothing  =+    sem_MbSuperV_Nothing+-- semantic domain+type T_MbSuperV  = PPInfo ->+                   ( Doc)+sem_MbSuperV_Just :: T_SuperV  ->+                     T_MbSuperV +sem_MbSuperV_Just just_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 12079 "src/PrettyTree.hs" #-}+                 )) of+          { _justOinfo | _justOinfo `seq` (True) ->+          (case (just_ _justOinfo ) of+           { ( _justIoutput) | True ->+               (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                       _justIoutput+                       {-# LINE 12086 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }))+sem_MbSuperV_Nothing :: T_MbSuperV +sem_MbSuperV_Nothing  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12095 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- MetaInfo ----------------------------------------------------+-- cata+sem_MetaInfo :: MetaInfo  ->+                T_MetaInfo +sem_MetaInfo (MetaInfo_Info _name _items )  =+    (sem_MetaInfo_Info _name (sem_MetaItems _items ) )+-- semantic domain+type T_MetaInfo  = Options ->+                   SymbolTables ->+                   ( Doc)+sem_MetaInfo_Info :: Word32 ->+                     T_MetaItems  ->+                     T_MetaInfo +sem_MetaInfo_Info name_ items_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 12117 "src/PrettyTree.hs" #-}+                 )) of+          { _itemsOtbls | _itemsOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 12122 "src/PrettyTree.hs" #-}+                  )) of+           { _itemsOopts | _itemsOopts `seq` (True) ->+           (case (items_ _itemsOopts _itemsOtbls ) of+            { ( _itemsIoutput) | True ->+                (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                        _itemsIoutput+                        {-# LINE 12129 "src/PrettyTree.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+-- MetaInfos ---------------------------------------------------+-- cata+sem_MetaInfos :: MetaInfos  ->+                 T_MetaInfos +sem_MetaInfos list  =+    (Prelude.foldr sem_MetaInfos_Cons sem_MetaInfos_Nil (Prelude.map sem_MetaInfo list) )+-- semantic domain+type T_MetaInfos  = Options ->+                    SymbolTables ->+                    ( Doc)+sem_MetaInfos_Cons :: T_MetaInfo  ->+                      T_MetaInfos  ->+                      T_MetaInfos +sem_MetaInfos_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 12151 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 12156 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOopts | _tlOopts `seq` (True) ->+           (case (tl_ _tlOopts _tlOtbls ) of+            { ( _tlIoutput) | True ->+                (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                        _lhsItbls+                        {-# LINE 12163 "src/PrettyTree.hs" #-}+                        )) of+                 { _hdOtbls | _hdOtbls `seq` (True) ->+                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                         _lhsIopts+                         {-# LINE 12168 "src/PrettyTree.hs" #-}+                         )) of+                  { _hdOopts | _hdOopts `seq` (True) ->+                  (case (hd_ _hdOopts _hdOtbls ) of+                   { ( _hdIoutput) | True ->+                       (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                               _hdIoutput $+$ _tlIoutput+                               {-# LINE 12175 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        ( _lhsOoutput) }) }) }) }) }) }) }))+sem_MetaInfos_Nil :: T_MetaInfos +sem_MetaInfos_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12185 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- MetaItem ----------------------------------------------------+-- cata+sem_MetaItem :: MetaItem  ->+                T_MetaItem +sem_MetaItem (MetaItem_Item _key _value )  =+    (sem_MetaItem_Item _key _value )+-- semantic domain+type T_MetaItem  = Options ->+                   SymbolTables ->+                   ( Doc)+sem_MetaItem_Item :: Word32 ->+                     Word32 ->+                     T_MetaItem +sem_MetaItem_Item key_ value_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12207 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- MetaItems ---------------------------------------------------+-- cata+sem_MetaItems :: MetaItems  ->+                 T_MetaItems +sem_MetaItems list  =+    (Prelude.foldr sem_MetaItems_Cons sem_MetaItems_Nil (Prelude.map sem_MetaItem list) )+-- semantic domain+type T_MetaItems  = Options ->+                    SymbolTables ->+                    ( Doc)+sem_MetaItems_Cons :: T_MetaItem  ->+                      T_MetaItems  ->+                      T_MetaItems +sem_MetaItems_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 12229 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 12234 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOopts | _tlOopts `seq` (True) ->+           (case (tl_ _tlOopts _tlOtbls ) of+            { ( _tlIoutput) | True ->+                (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                        _lhsItbls+                        {-# LINE 12241 "src/PrettyTree.hs" #-}+                        )) of+                 { _hdOtbls | _hdOtbls `seq` (True) ->+                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                         _lhsIopts+                         {-# LINE 12246 "src/PrettyTree.hs" #-}+                         )) of+                  { _hdOopts | _hdOopts `seq` (True) ->+                  (case (hd_ _hdOopts _hdOtbls ) of+                   { ( _hdIoutput) | True ->+                       (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                               _hdIoutput $+$ _tlIoutput+                               {-# LINE 12253 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        ( _lhsOoutput) }) }) }) }) }) }) }))+sem_MetaItems_Nil :: T_MetaItems +sem_MetaItems_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12263 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- MethodFlag --------------------------------------------------+-- cata+sem_MethodFlag :: MethodFlag  ->+                  T_MethodFlag +sem_MethodFlag (MethodFlag_HasOptionals )  =+    (sem_MethodFlag_HasOptionals )+sem_MethodFlag (MethodFlag_HasParamNames )  =+    (sem_MethodFlag_HasParamNames )+sem_MethodFlag (MethodFlag_NeedAct )  =+    (sem_MethodFlag_NeedAct )+sem_MethodFlag (MethodFlag_NeedArgs )  =+    (sem_MethodFlag_NeedArgs )+sem_MethodFlag (MethodFlag_NeedRest )  =+    (sem_MethodFlag_NeedRest )+sem_MethodFlag (MethodFlag_SetDXNS )  =+    (sem_MethodFlag_SetDXNS )+-- semantic domain+type T_MethodFlag  = Options ->+                     SymbolTables ->+                     ( Doc)+sem_MethodFlag_HasOptionals :: T_MethodFlag +sem_MethodFlag_HasOptionals  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12293 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MethodFlag_HasParamNames :: T_MethodFlag +sem_MethodFlag_HasParamNames  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12303 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MethodFlag_NeedAct :: T_MethodFlag +sem_MethodFlag_NeedAct  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12313 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MethodFlag_NeedArgs :: T_MethodFlag +sem_MethodFlag_NeedArgs  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12323 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MethodFlag_NeedRest :: T_MethodFlag +sem_MethodFlag_NeedRest  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12333 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MethodFlag_SetDXNS :: T_MethodFlag +sem_MethodFlag_SetDXNS  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12343 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- MethodFlags -------------------------------------------------+-- cata+sem_MethodFlags :: MethodFlags  ->+                   T_MethodFlags +sem_MethodFlags list  =+    (Prelude.foldr sem_MethodFlags_Cons sem_MethodFlags_Nil (Prelude.map sem_MethodFlag list) )+-- semantic domain+type T_MethodFlags  = Options ->+                      SymbolTables ->+                      ( Doc)+sem_MethodFlags_Cons :: T_MethodFlag  ->+                        T_MethodFlags  ->+                        T_MethodFlags +sem_MethodFlags_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 12365 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 12370 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOopts | _tlOopts `seq` (True) ->+           (case (tl_ _tlOopts _tlOtbls ) of+            { ( _tlIoutput) | True ->+                (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                        _lhsItbls+                        {-# LINE 12377 "src/PrettyTree.hs" #-}+                        )) of+                 { _hdOtbls | _hdOtbls `seq` (True) ->+                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                         _lhsIopts+                         {-# LINE 12382 "src/PrettyTree.hs" #-}+                         )) of+                  { _hdOopts | _hdOopts `seq` (True) ->+                  (case (hd_ _hdOopts _hdOtbls ) of+                   { ( _hdIoutput) | True ->+                       (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                               _hdIoutput $+$ _tlIoutput+                               {-# LINE 12389 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        ( _lhsOoutput) }) }) }) }) }) }) }))+sem_MethodFlags_Nil :: T_MethodFlags +sem_MethodFlags_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12399 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- MethodInfo --------------------------------------------------+-- cata+sem_MethodInfo :: MethodInfo  ->+                  T_MethodInfo +sem_MethodInfo (MethodInfo_Info _return _params _name _flags _options _names )  =+    (sem_MethodInfo_Info _return (sem_ParamTypes _params ) _name (sem_MethodFlags _flags ) (sem_Optionals _options ) (sem_ParamNames _names ) )+-- semantic domain+type T_MethodInfo  = Options ->+                     SymbolTables ->+                     ( Doc)+sem_MethodInfo_Info :: Word32 ->+                       T_ParamTypes  ->+                       Word32 ->+                       T_MethodFlags  ->+                       T_Optionals  ->+                       T_ParamNames  ->+                       T_MethodInfo +sem_MethodInfo_Info return_ params_ name_ flags_ options_ names_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 12425 "src/PrettyTree.hs" #-}+                 )) of+          { _optionsOtbls | _optionsOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 12430 "src/PrettyTree.hs" #-}+                  )) of+           { _optionsOopts | _optionsOopts `seq` (True) ->+           (case (options_ _optionsOopts _optionsOtbls ) of+            { ( _optionsIoutput) | True ->+                (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                        _lhsItbls+                        {-# LINE 12437 "src/PrettyTree.hs" #-}+                        )) of+                 { _flagsOtbls | _flagsOtbls `seq` (True) ->+                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                         _lhsIopts+                         {-# LINE 12442 "src/PrettyTree.hs" #-}+                         )) of+                  { _flagsOopts | _flagsOopts `seq` (True) ->+                  (case (flags_ _flagsOopts _flagsOtbls ) of+                   { ( _flagsIoutput) | True ->+                       (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                               _lhsItbls+                               {-# LINE 12449 "src/PrettyTree.hs" #-}+                               )) of+                        { _paramsOtbls | _paramsOtbls `seq` (True) ->+                        (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                _lhsIopts+                                {-# LINE 12454 "src/PrettyTree.hs" #-}+                                )) of+                         { _paramsOopts | _paramsOopts `seq` (True) ->+                         (case (params_ _paramsOopts _paramsOtbls ) of+                          { ( _paramsIoutput) | True ->+                              (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                      _paramsIoutput $+$ _flagsIoutput $+$ _optionsIoutput+                                      {-# LINE 12461 "src/PrettyTree.hs" #-}+                                      )) of+                               { _lhsOoutput | _lhsOoutput `seq` (True) ->+                               ( _lhsOoutput) }) }) }) }) }) }) }) }) }) }))+-- MethodInfos -------------------------------------------------+-- cata+sem_MethodInfos :: MethodInfos  ->+                   T_MethodInfos +sem_MethodInfos list  =+    (Prelude.foldr sem_MethodInfos_Cons sem_MethodInfos_Nil (Prelude.map sem_MethodInfo list) )+-- semantic domain+type T_MethodInfos  = Options ->+                      SymbolTables ->+                      ( Doc)+sem_MethodInfos_Cons :: T_MethodInfo  ->+                        T_MethodInfos  ->+                        T_MethodInfos +sem_MethodInfos_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 12483 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 12488 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOopts | _tlOopts `seq` (True) ->+           (case (tl_ _tlOopts _tlOtbls ) of+            { ( _tlIoutput) | True ->+                (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                        _lhsItbls+                        {-# LINE 12495 "src/PrettyTree.hs" #-}+                        )) of+                 { _hdOtbls | _hdOtbls `seq` (True) ->+                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                         _lhsIopts+                         {-# LINE 12500 "src/PrettyTree.hs" #-}+                         )) of+                  { _hdOopts | _hdOopts `seq` (True) ->+                  (case (hd_ _hdOopts _hdOtbls ) of+                   { ( _hdIoutput) | True ->+                       (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                               _hdIoutput $+$ _tlIoutput+                               {-# LINE 12507 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        ( _lhsOoutput) }) }) }) }) }) }) }))+sem_MethodInfos_Nil :: T_MethodInfos +sem_MethodInfos_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12517 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- MethodV -----------------------------------------------------+-- cata+sem_MethodV :: MethodV  ->+               T_MethodV +sem_MethodV (MethodV_Method _mbNm _sig )  =+    (sem_MethodV_Method (sem_MbStrV _mbNm ) (sem_SigV _sig ) )+-- semantic domain+type T_MethodV  = PPInfo ->+                  ( Doc)+sem_MethodV_Method :: T_MbStrV  ->+                      T_SigV  ->+                      T_MethodV +sem_MethodV_Method mbNm_ sig_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 240 "src/PrettyTree.ag" #-}+                 Short+                 {-# LINE 12537 "src/PrettyTree.hs" #-}+                 )) of+          { _mbNmOinfo | _mbNmOinfo `seq` (True) ->+          (case (({-# LINE 241 "src/PrettyTree.ag" #-}+                  Short+                  {-# LINE 12542 "src/PrettyTree.hs" #-}+                  )) of+           { _sigOinfo | _sigOinfo `seq` (True) ->+           (case (sig_ _sigOinfo ) of+            { ( _sigIoutput) | True ->+                (case (mbNm_ _mbNmOinfo ) of+                 { ( _mbNmIisDefined,_mbNmIisEmpty,_mbNmIoutput) | True ->+                     (case (({-# LINE 242 "src/PrettyTree.ag" #-}+                             if _mbNmIisDefined+                             then _mbNmIoutput <> _sigIoutput+                             else _sigIoutput+                             {-# LINE 12553 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+-- MethodsV ----------------------------------------------------+-- cata+sem_MethodsV :: MethodsV  ->+                T_MethodsV +sem_MethodsV list  =+    (Prelude.foldr sem_MethodsV_Cons sem_MethodsV_Nil (Prelude.map sem_MethodV list) )+-- semantic domain+type T_MethodsV  = PPInfo ->+                   ( Doc)+sem_MethodsV_Cons :: T_MethodV  ->+                     T_MethodsV  ->+                     T_MethodsV +sem_MethodsV_Cons hd_ tl_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 12573 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOinfo | _tlOinfo `seq` (True) ->+          (case (tl_ _tlOinfo ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                       _lhsIinfo+                       {-# LINE 12580 "src/PrettyTree.hs" #-}+                       )) of+                { _hdOinfo | _hdOinfo `seq` (True) ->+                (case (hd_ _hdOinfo ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                             _hdIoutput $+$ _tlIoutput+                             {-# LINE 12587 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+sem_MethodsV_Nil :: T_MethodsV +sem_MethodsV_Nil  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12596 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- MultinameInfo -----------------------------------------------+-- cata+sem_MultinameInfo :: MultinameInfo  ->+                     T_MultinameInfo +sem_MultinameInfo (MultinameInfo_Generic _name _params )  =+    (sem_MultinameInfo_Generic _name (sem_ParamNames _params ) )+sem_MultinameInfo (MultinameInfo_Multiname _name _set )  =+    (sem_MultinameInfo_Multiname _name _set )+sem_MultinameInfo (MultinameInfo_MultinameA _name _set )  =+    (sem_MultinameInfo_MultinameA _name _set )+sem_MultinameInfo (MultinameInfo_MultinameL _set )  =+    (sem_MultinameInfo_MultinameL _set )+sem_MultinameInfo (MultinameInfo_MultinameLA _set )  =+    (sem_MultinameInfo_MultinameLA _set )+sem_MultinameInfo (MultinameInfo_QName _namespace _name )  =+    (sem_MultinameInfo_QName _namespace _name )+sem_MultinameInfo (MultinameInfo_QNameA _namespace _name )  =+    (sem_MultinameInfo_QNameA _namespace _name )+sem_MultinameInfo (MultinameInfo_RTQName _name )  =+    (sem_MultinameInfo_RTQName _name )+sem_MultinameInfo (MultinameInfo_RTQNameA _name )  =+    (sem_MultinameInfo_RTQNameA _name )+sem_MultinameInfo (MultinameInfo_RTQNameL )  =+    (sem_MultinameInfo_RTQNameL )+sem_MultinameInfo (MultinameInfo_RTQNameLA )  =+    (sem_MultinameInfo_RTQNameLA )+-- semantic domain+type T_MultinameInfo  = ( )+sem_MultinameInfo_Generic :: Word32 ->+                             T_ParamNames  ->+                             T_MultinameInfo +sem_MultinameInfo_Generic name_ params_  =+    ( )+sem_MultinameInfo_Multiname :: Word32 ->+                               Word32 ->+                               T_MultinameInfo +sem_MultinameInfo_Multiname name_ set_  =+    ( )+sem_MultinameInfo_MultinameA :: Word32 ->+                                Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameA name_ set_  =+    ( )+sem_MultinameInfo_MultinameL :: Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameL set_  =+    ( )+sem_MultinameInfo_MultinameLA :: Word32 ->+                                 T_MultinameInfo +sem_MultinameInfo_MultinameLA set_  =+    ( )+sem_MultinameInfo_QName :: Word32 ->+                           Word32 ->+                           T_MultinameInfo +sem_MultinameInfo_QName namespace_ name_  =+    ( )+sem_MultinameInfo_QNameA :: Word32 ->+                            Word32 ->+                            T_MultinameInfo +sem_MultinameInfo_QNameA namespace_ name_  =+    ( )+sem_MultinameInfo_RTQName :: Word32 ->+                             T_MultinameInfo +sem_MultinameInfo_RTQName name_  =+    ( )+sem_MultinameInfo_RTQNameA :: Word32 ->+                              T_MultinameInfo +sem_MultinameInfo_RTQNameA name_  =+    ( )+sem_MultinameInfo_RTQNameL :: T_MultinameInfo +sem_MultinameInfo_RTQNameL  =+    ( )+sem_MultinameInfo_RTQNameLA :: T_MultinameInfo +sem_MultinameInfo_RTQNameLA  =+    ( )+-- MultinameInfos ----------------------------------------------+-- cata+sem_MultinameInfos :: MultinameInfos  ->+                      T_MultinameInfos +sem_MultinameInfos list  =+    (Prelude.foldr sem_MultinameInfos_Cons sem_MultinameInfos_Nil (Prelude.map sem_MultinameInfo list) )+-- semantic domain+type T_MultinameInfos  = Word32 ->+                         Options ->+                         SymbolTables ->+                         ( Doc)+sem_MultinameInfos_Cons :: T_MultinameInfo  ->+                           T_MultinameInfos  ->+                           T_MultinameInfos +sem_MultinameInfos_Cons hd_ tl_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 12695 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 164 "src/PrettyTree.ag" #-}+                  nameView _lhsItbls (Ref _lhsIindex)+                  {-# LINE 12700 "src/PrettyTree.hs" #-}+                  )) of+           { pp_val_ | pp_val_ `seq` (True) ->+           (case ((sem_NmV pp_val_ )) of+            { pp_inst_ | pp_inst_ `seq` (True) ->+            (case (({-# LINE 165 "src/PrettyTree.ag" #-}+                    Verbose+                    {-# LINE 12707 "src/PrettyTree.hs" #-}+                    )) of+             { _ppOinfo | _ppOinfo `seq` (True) ->+             (case (({-# LINE 147 "src/PrettyTree.ag" #-}+                     1 + _lhsIindex+                     {-# LINE 12712 "src/PrettyTree.hs" #-}+                     )) of+              { _tlOindex | _tlOindex `seq` (True) ->+              (case (pp_inst_ _ppOinfo ) of+               { ( _ppIisEmpty,_ppIoutput) | True ->+                   (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                           _lhsIopts+                           {-# LINE 12719 "src/PrettyTree.hs" #-}+                           )) of+                    { _tlOopts | _tlOopts `seq` (True) ->+                    (case (tl_ _tlOindex _tlOopts _tlOtbls ) of+                     { ( _tlIoutput) | True ->+                         (case (({-# LINE 155 "src/PrettyTree.ag" #-}+                                 num _lhsIindex <+> text "->" <+> _ppIoutput $+$ _tlIoutput+                                 {-# LINE 12726 "src/PrettyTree.hs" #-}+                                 )) of+                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                          ( _lhsOoutput) }) }) }) }) }) }) }) }) }))+sem_MultinameInfos_Nil :: T_MultinameInfos +sem_MultinameInfos_Nil  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12737 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- MultinameKind -----------------------------------------------+-- cata+sem_MultinameKind :: MultinameKind  ->+                     T_MultinameKind +sem_MultinameKind (MultinameKind_Generic )  =+    (sem_MultinameKind_Generic )+sem_MultinameKind (MultinameKind_Multiname )  =+    (sem_MultinameKind_Multiname )+sem_MultinameKind (MultinameKind_MultinameA )  =+    (sem_MultinameKind_MultinameA )+sem_MultinameKind (MultinameKind_MultinameL )  =+    (sem_MultinameKind_MultinameL )+sem_MultinameKind (MultinameKind_MultinameLA )  =+    (sem_MultinameKind_MultinameLA )+sem_MultinameKind (MultinameKind_QName )  =+    (sem_MultinameKind_QName )+sem_MultinameKind (MultinameKind_QNameA )  =+    (sem_MultinameKind_QNameA )+sem_MultinameKind (MultinameKind_RTQName )  =+    (sem_MultinameKind_RTQName )+sem_MultinameKind (MultinameKind_RTQNameA )  =+    (sem_MultinameKind_RTQNameA )+sem_MultinameKind (MultinameKind_RTQNameL )  =+    (sem_MultinameKind_RTQNameL )+sem_MultinameKind (MultinameKind_RTQNameLA )  =+    (sem_MultinameKind_RTQNameLA )+-- semantic domain+type T_MultinameKind  = Options ->+                        SymbolTables ->+                        ( Doc)+sem_MultinameKind_Generic :: T_MultinameKind +sem_MultinameKind_Generic  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12777 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MultinameKind_Multiname :: T_MultinameKind +sem_MultinameKind_Multiname  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12787 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MultinameKind_MultinameA :: T_MultinameKind +sem_MultinameKind_MultinameA  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12797 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MultinameKind_MultinameL :: T_MultinameKind +sem_MultinameKind_MultinameL  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12807 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MultinameKind_MultinameLA :: T_MultinameKind +sem_MultinameKind_MultinameLA  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12817 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MultinameKind_QName :: T_MultinameKind +sem_MultinameKind_QName  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12827 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MultinameKind_QNameA :: T_MultinameKind +sem_MultinameKind_QNameA  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12837 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MultinameKind_RTQName :: T_MultinameKind +sem_MultinameKind_RTQName  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12847 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MultinameKind_RTQNameA :: T_MultinameKind +sem_MultinameKind_RTQNameA  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12857 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MultinameKind_RTQNameL :: T_MultinameKind +sem_MultinameKind_RTQNameL  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12867 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_MultinameKind_RTQNameLA :: T_MultinameKind +sem_MultinameKind_RTQNameLA  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12877 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- NamespaceInfo -----------------------------------------------+-- cata+sem_NamespaceInfo :: NamespaceInfo  ->+                     T_NamespaceInfo +sem_NamespaceInfo (NamespaceInfo_Info _kind _name )  =+    (sem_NamespaceInfo_Info (sem_NamespaceKind _kind ) _name )+-- semantic domain+type T_NamespaceInfo  = ( )+sem_NamespaceInfo_Info :: T_NamespaceKind  ->+                          Word32 ->+                          T_NamespaceInfo +sem_NamespaceInfo_Info kind_ name_  =+    ( )+-- NamespaceInfos ----------------------------------------------+-- cata+sem_NamespaceInfos :: NamespaceInfos  ->+                      T_NamespaceInfos +sem_NamespaceInfos list  =+    (Prelude.foldr sem_NamespaceInfos_Cons sem_NamespaceInfos_Nil (Prelude.map sem_NamespaceInfo list) )+-- semantic domain+type T_NamespaceInfos  = Word32 ->+                         Options ->+                         SymbolTables ->+                         ( Doc)+sem_NamespaceInfos_Cons :: T_NamespaceInfo  ->+                           T_NamespaceInfos  ->+                           T_NamespaceInfos +sem_NamespaceInfos_Cons hd_ tl_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 12914 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 159 "src/PrettyTree.ag" #-}+                  namespaceView _lhsItbls (Ref _lhsIindex)+                  {-# LINE 12919 "src/PrettyTree.hs" #-}+                  )) of+           { pp_val_ | pp_val_ `seq` (True) ->+           (case ((sem_NsV pp_val_ )) of+            { pp_inst_ | pp_inst_ `seq` (True) ->+            (case (({-# LINE 160 "src/PrettyTree.ag" #-}+                    Verbose+                    {-# LINE 12926 "src/PrettyTree.hs" #-}+                    )) of+             { _ppOinfo | _ppOinfo `seq` (True) ->+             (case (({-# LINE 145 "src/PrettyTree.ag" #-}+                     1 + _lhsIindex+                     {-# LINE 12931 "src/PrettyTree.hs" #-}+                     )) of+              { _tlOindex | _tlOindex `seq` (True) ->+              (case (pp_inst_ _ppOinfo ) of+               { ( _ppIisEmpty,_ppIoutput) | True ->+                   (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                           _lhsIopts+                           {-# LINE 12938 "src/PrettyTree.hs" #-}+                           )) of+                    { _tlOopts | _tlOopts `seq` (True) ->+                    (case (tl_ _tlOindex _tlOopts _tlOtbls ) of+                     { ( _tlIoutput) | True ->+                         (case (({-# LINE 153 "src/PrettyTree.ag" #-}+                                 num _lhsIindex <+> text "->" <+> _ppIoutput $+$ _tlIoutput+                                 {-# LINE 12945 "src/PrettyTree.hs" #-}+                                 )) of+                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                          ( _lhsOoutput) }) }) }) }) }) }) }) }) }))+sem_NamespaceInfos_Nil :: T_NamespaceInfos +sem_NamespaceInfos_Nil  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 12956 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- NamespaceKind -----------------------------------------------+-- cata+sem_NamespaceKind :: NamespaceKind  ->+                     T_NamespaceKind +sem_NamespaceKind (NamespaceKind_Explicit )  =+    (sem_NamespaceKind_Explicit )+sem_NamespaceKind (NamespaceKind_General )  =+    (sem_NamespaceKind_General )+sem_NamespaceKind (NamespaceKind_Internal )  =+    (sem_NamespaceKind_Internal )+sem_NamespaceKind (NamespaceKind_Package )  =+    (sem_NamespaceKind_Package )+sem_NamespaceKind (NamespaceKind_Private )  =+    (sem_NamespaceKind_Private )+sem_NamespaceKind (NamespaceKind_Protected )  =+    (sem_NamespaceKind_Protected )+sem_NamespaceKind (NamespaceKind_Static )  =+    (sem_NamespaceKind_Static )+-- semantic domain+type T_NamespaceKind  = ( )+sem_NamespaceKind_Explicit :: T_NamespaceKind +sem_NamespaceKind_Explicit  =+    ( )+sem_NamespaceKind_General :: T_NamespaceKind +sem_NamespaceKind_General  =+    ( )+sem_NamespaceKind_Internal :: T_NamespaceKind +sem_NamespaceKind_Internal  =+    ( )+sem_NamespaceKind_Package :: T_NamespaceKind +sem_NamespaceKind_Package  =+    ( )+sem_NamespaceKind_Private :: T_NamespaceKind +sem_NamespaceKind_Private  =+    ( )+sem_NamespaceKind_Protected :: T_NamespaceKind +sem_NamespaceKind_Protected  =+    ( )+sem_NamespaceKind_Static :: T_NamespaceKind +sem_NamespaceKind_Static  =+    ( )+-- NamespaceNames ----------------------------------------------+-- cata+sem_NamespaceNames :: NamespaceNames  ->+                      T_NamespaceNames +sem_NamespaceNames list  =+    (Prelude.foldr sem_NamespaceNames_Cons sem_NamespaceNames_Nil list )+-- semantic domain+type T_NamespaceNames  = Options ->+                         SymbolTables ->+                         ( Doc)+sem_NamespaceNames_Cons :: Word32 ->+                           T_NamespaceNames  ->+                           T_NamespaceNames +sem_NamespaceNames_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 13019 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 173 "src/PrettyTree.ag" #-}+                  namespaceView _lhsItbls (Ref hd_)+                  {-# LINE 13024 "src/PrettyTree.hs" #-}+                  )) of+           { pp_val_ | pp_val_ `seq` (True) ->+           (case ((sem_NsV pp_val_ )) of+            { pp_inst_ | pp_inst_ `seq` (True) ->+            (case (({-# LINE 174 "src/PrettyTree.ag" #-}+                    Short+                    {-# LINE 13031 "src/PrettyTree.hs" #-}+                    )) of+             { _ppOinfo | _ppOinfo `seq` (True) ->+             (case (pp_inst_ _ppOinfo ) of+              { ( _ppIisEmpty,_ppIoutput) | True ->+                  (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                          _lhsIopts+                          {-# LINE 13038 "src/PrettyTree.hs" #-}+                          )) of+                   { _tlOopts | _tlOopts `seq` (True) ->+                   (case (tl_ _tlOopts _tlOtbls ) of+                    { ( _tlIoutput) | True ->+                        (case (({-# LINE 171 "src/PrettyTree.ag" #-}+                                _ppIoutput <+> braces (text "ns-id:" <+> num hd_) <+> _tlIoutput+                                {-# LINE 13045 "src/PrettyTree.hs" #-}+                                )) of+                         { _lhsOoutput | _lhsOoutput `seq` (True) ->+                         ( _lhsOoutput) }) }) }) }) }) }) }) }))+sem_NamespaceNames_Nil :: T_NamespaceNames +sem_NamespaceNames_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 13055 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- NmV ---------------------------------------------------------+-- cata+sem_NmV :: NmV  ->+           T_NmV +sem_NmV (NmV_Other _id )  =+    (sem_NmV_Other _id )+sem_NmV (NmV_Qual _id _ns _nm )  =+    (sem_NmV_Qual _id (sem_NsV _ns ) (sem_StrV _nm ) )+sem_NmV (NmV_Quals _id _set _nm )  =+    (sem_NmV_Quals _id (sem_NsSetV _set ) (sem_StrV _nm ) )+-- semantic domain+type T_NmV  = PPInfo ->+              ( Bool,Doc)+sem_NmV_Other :: NameRef ->+                 T_NmV +sem_NmV_Other id_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 189 "src/PrettyTree.ag" #-}+                 False+                 {-# LINE 13078 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOisEmpty | _lhsOisEmpty `seq` (True) ->+          (case (({-# LINE 212 "src/PrettyTree.ag" #-}+                  text "name/other" <> parens (text $ show $ refVal id_)+                  {-# LINE 13083 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOisEmpty,_lhsOoutput) }) }))+sem_NmV_Qual :: NameRef ->+                T_NsV  ->+                T_StrV  ->+                T_NmV +sem_NmV_Qual id_ ns_ nm_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 13095 "src/PrettyTree.hs" #-}+                 )) of+          { _nmOinfo | _nmOinfo `seq` (True) ->+          (case (nm_ _nmOinfo ) of+           { ( _nmIisEmpty,_nmIoutput) | True ->+               (case (({-# LINE 190 "src/PrettyTree.ag" #-}+                       _nmIisEmpty+                       {-# LINE 13102 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOisEmpty | _lhsOisEmpty `seq` (True) ->+                (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                        _lhsIinfo+                        {-# LINE 13107 "src/PrettyTree.hs" #-}+                        )) of+                 { _nsOinfo | _nsOinfo `seq` (True) ->+                 (case (({-# LINE 202 "src/PrettyTree.ag" #-}+                         if _nmIisEmpty+                         then text "*"+                         else _nmIoutput+                         {-# LINE 13114 "src/PrettyTree.hs" #-}+                         )) of+                  { _nmOut | _nmOut `seq` (True) ->+                  (case (ns_ _nsOinfo ) of+                   { ( _nsIisEmpty,_nsIoutput) | True ->+                       (case (({-# LINE 205 "src/PrettyTree.ag" #-}+                               case _lhsIinfo of+                                 Short   -> if _nsIisEmpty+                                            then _nmOut+                                            else _nsIoutput <> text ":" <> _nmOut+                                 Verbose -> props [ ("namespace", _nsIoutput), ("name", _nmIoutput) ]+                               {-# LINE 13125 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        ( _lhsOisEmpty,_lhsOoutput) }) }) }) }) }) }) }))+sem_NmV_Quals :: NameRef ->+                 T_NsSetV  ->+                 T_StrV  ->+                 T_NmV +sem_NmV_Quals id_ set_ nm_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 191 "src/PrettyTree.ag" #-}+                 False+                 {-# LINE 13137 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOisEmpty | _lhsOisEmpty `seq` (True) ->+          (case (({-# LINE 211 "src/PrettyTree.ag" #-}+                  Short+                  {-# LINE 13142 "src/PrettyTree.hs" #-}+                  )) of+           { _info | _info `seq` (True) ->+           (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                   _info+                   {-# LINE 13147 "src/PrettyTree.hs" #-}+                   )) of+            { _nmOinfo | _nmOinfo `seq` (True) ->+            (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                    _info+                    {-# LINE 13152 "src/PrettyTree.hs" #-}+                    )) of+             { _setOinfo | _setOinfo `seq` (True) ->+             (case (nm_ _nmOinfo ) of+              { ( _nmIisEmpty,_nmIoutput) | True ->+                  (case (set_ _setOinfo ) of+                   { ( _setIoutput) | True ->+                       (case (({-# LINE 210 "src/PrettyTree.ag" #-}+                               _setIoutput <> text ":" <> _nmIoutput+                               {-# LINE 13161 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        ( _lhsOisEmpty,_lhsOoutput) }) }) }) }) }) }) }))+-- NmsV --------------------------------------------------------+-- cata+sem_NmsV :: NmsV  ->+            T_NmsV +sem_NmsV list  =+    (Prelude.foldr sem_NmsV_Cons sem_NmsV_Nil (Prelude.map sem_NmV list) )+-- semantic domain+type T_NmsV  = PPInfo ->+               ( Doc)+sem_NmsV_Cons :: T_NmV  ->+                 T_NmsV  ->+                 T_NmsV +sem_NmsV_Cons hd_ tl_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 13181 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOinfo | _tlOinfo `seq` (True) ->+          (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                  _lhsIinfo+                  {-# LINE 13186 "src/PrettyTree.hs" #-}+                  )) of+           { _hdOinfo | _hdOinfo `seq` (True) ->+           (case (tl_ _tlOinfo ) of+            { ( _tlIoutput) | True ->+                (case (hd_ _hdOinfo ) of+                 { ( _hdIisEmpty,_hdIoutput) | True ->+                     (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                             _hdIoutput $+$ _tlIoutput+                             {-# LINE 13195 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+sem_NmsV_Nil :: T_NmsV +sem_NmsV_Nil  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 13204 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- NsSetV ------------------------------------------------------+-- cata+sem_NsSetV :: NsSetV  ->+              T_NsSetV +sem_NsSetV (NsSetV_Set _id _spaces )  =+    (sem_NsSetV_Set _id (sem_NssV _spaces ) )+-- semantic domain+type T_NsSetV  = PPInfo ->+                 ( Doc)+sem_NsSetV_Set :: NamesetRef ->+                  T_NssV  ->+                  T_NsSetV +sem_NsSetV_Set id_ spaces_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 13224 "src/PrettyTree.hs" #-}+                 )) of+          { _spacesOinfo | _spacesOinfo `seq` (True) ->+          (case (spaces_ _spacesOinfo ) of+           { ( _spacesIoutput) | True ->+               (case (({-# LINE 222 "src/PrettyTree.ag" #-}+                       braces _spacesIoutput+                       {-# LINE 13231 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }))+-- NsV ---------------------------------------------------------+-- cata+sem_NsV :: NsV  ->+           T_NsV +sem_NsV (NsV_Ns _id _nm )  =+    (sem_NsV_Ns _id (sem_StrV _nm ) )+-- semantic domain+type T_NsV  = PPInfo ->+              ( Bool,Doc)+sem_NsV_Ns :: NamespaceRef ->+              T_StrV  ->+              T_NsV +sem_NsV_Ns id_ nm_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 13251 "src/PrettyTree.hs" #-}+                 )) of+          { _nmOinfo | _nmOinfo `seq` (True) ->+          (case (nm_ _nmOinfo ) of+           { ( _nmIisEmpty,_nmIoutput) | True ->+               (case (({-# LINE 192 "src/PrettyTree.ag" #-}+                       _nmIisEmpty+                       {-# LINE 13258 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOisEmpty | _lhsOisEmpty `seq` (True) ->+                (case (({-# LINE 215 "src/PrettyTree.ag" #-}+                        if (refVal id_) == 0+                        then text "*"+                        else case _lhsIinfo of+                               Short   -> _nmIoutput+                               Verbose -> _nmIoutput <+> braces (text "ns-id:" <+> num (refVal id_))+                        {-# LINE 13267 "src/PrettyTree.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOisEmpty,_lhsOoutput) }) }) }) }))+-- NssV --------------------------------------------------------+-- cata+sem_NssV :: NssV  ->+            T_NssV +sem_NssV list  =+    (Prelude.foldr sem_NssV_Cons sem_NssV_Nil (Prelude.map sem_NsV list) )+-- semantic domain+type T_NssV  = PPInfo ->+               ( Doc)+sem_NssV_Cons :: T_NsV  ->+                 T_NssV  ->+                 T_NssV +sem_NssV_Cons hd_ tl_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 13287 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOinfo | _tlOinfo `seq` (True) ->+          (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                  _lhsIinfo+                  {-# LINE 13292 "src/PrettyTree.hs" #-}+                  )) of+           { _hdOinfo | _hdOinfo `seq` (True) ->+           (case (tl_ _tlOinfo ) of+            { ( _tlIoutput) | True ->+                (case (hd_ _hdOinfo ) of+                 { ( _hdIisEmpty,_hdIoutput) | True ->+                     (case (({-# LINE 225 "src/PrettyTree.ag" #-}+                             _hdIoutput <+> _tlIoutput+                             {-# LINE 13301 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+sem_NssV_Nil :: T_NssV +sem_NssV_Nil  =+    (\ _lhsIinfo ->+         (case (({-# LINE 226 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 13310 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- Optional ----------------------------------------------------+-- cata+sem_Optional :: Optional  ->+                T_Optional +sem_Optional (Optional_Detail _val _kind )  =+    (sem_Optional_Detail _val (sem_ValueKind _kind ) )+-- semantic domain+type T_Optional  = Options ->+                   SymbolTables ->+                   ( Doc)+sem_Optional_Detail :: Word32 ->+                       T_ValueKind  ->+                       T_Optional +sem_Optional_Detail val_ kind_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 13332 "src/PrettyTree.hs" #-}+                 )) of+          { _kindOtbls | _kindOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 13337 "src/PrettyTree.hs" #-}+                  )) of+           { _kindOopts | _kindOopts `seq` (True) ->+           (case (kind_ _kindOopts _kindOtbls ) of+            { ( _kindIoutput) | True ->+                (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                        _kindIoutput+                        {-# LINE 13344 "src/PrettyTree.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+-- Optionals ---------------------------------------------------+-- cata+sem_Optionals :: Optionals  ->+                 T_Optionals +sem_Optionals list  =+    (Prelude.foldr sem_Optionals_Cons sem_Optionals_Nil (Prelude.map sem_Optional list) )+-- semantic domain+type T_Optionals  = Options ->+                    SymbolTables ->+                    ( Doc)+sem_Optionals_Cons :: T_Optional  ->+                      T_Optionals  ->+                      T_Optionals +sem_Optionals_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 13366 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 13371 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOopts | _tlOopts `seq` (True) ->+           (case (tl_ _tlOopts _tlOtbls ) of+            { ( _tlIoutput) | True ->+                (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                        _lhsItbls+                        {-# LINE 13378 "src/PrettyTree.hs" #-}+                        )) of+                 { _hdOtbls | _hdOtbls `seq` (True) ->+                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                         _lhsIopts+                         {-# LINE 13383 "src/PrettyTree.hs" #-}+                         )) of+                  { _hdOopts | _hdOopts `seq` (True) ->+                  (case (hd_ _hdOopts _hdOtbls ) of+                   { ( _hdIoutput) | True ->+                       (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                               _hdIoutput $+$ _tlIoutput+                               {-# LINE 13390 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        ( _lhsOoutput) }) }) }) }) }) }) }))+sem_Optionals_Nil :: T_Optionals +sem_Optionals_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 13400 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- ParamNames --------------------------------------------------+-- cata+sem_ParamNames :: ParamNames  ->+                  T_ParamNames +sem_ParamNames list  =+    (Prelude.foldr sem_ParamNames_Cons sem_ParamNames_Nil list )+-- semantic domain+type T_ParamNames  = ( )+sem_ParamNames_Cons :: Word32 ->+                       T_ParamNames  ->+                       T_ParamNames +sem_ParamNames_Cons hd_ tl_  =+    ( )+sem_ParamNames_Nil :: T_ParamNames +sem_ParamNames_Nil  =+    ( )+-- ParamTypes --------------------------------------------------+-- cata+sem_ParamTypes :: ParamTypes  ->+                  T_ParamTypes +sem_ParamTypes list  =+    (Prelude.foldr sem_ParamTypes_Cons sem_ParamTypes_Nil list )+-- semantic domain+type T_ParamTypes  = Options ->+                     SymbolTables ->+                     ( Doc)+sem_ParamTypes_Cons :: Word32 ->+                       T_ParamTypes  ->+                       T_ParamTypes +sem_ParamTypes_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 13438 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 13443 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOopts | _tlOopts `seq` (True) ->+           (case (tl_ _tlOopts _tlOtbls ) of+            { ( _tlIoutput) | True ->+                (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                        _tlIoutput+                        {-# LINE 13450 "src/PrettyTree.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_ParamTypes_Nil :: T_ParamTypes +sem_ParamTypes_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 13460 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- ParamV ------------------------------------------------------+-- cata+sem_ParamV :: ParamV  ->+              T_ParamV +sem_ParamV (ParamV_Param _mbNm _tp )  =+    (sem_ParamV_Param (sem_MbStrV _mbNm ) (sem_TypeV _tp ) )+-- semantic domain+type T_ParamV  = PPInfo ->+                 ( Doc)+sem_ParamV_Param :: T_MbStrV  ->+                    T_TypeV  ->+                    T_ParamV +sem_ParamV_Param mbNm_ tp_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 13480 "src/PrettyTree.hs" #-}+                 )) of+          { _tpOinfo | _tpOinfo `seq` (True) ->+          (case (tp_ _tpOinfo ) of+           { ( _tpIoutput) | True ->+               (case (({-# LINE 266 "src/PrettyTree.ag" #-}+                       _tpIoutput+                       {-# LINE 13487 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }))+-- ParamsV -----------------------------------------------------+-- cata+sem_ParamsV :: ParamsV  ->+               T_ParamsV +sem_ParamsV list  =+    (Prelude.foldr sem_ParamsV_Cons sem_ParamsV_Nil (Prelude.map sem_ParamV list) )+-- semantic domain+type T_ParamsV  = PPInfo ->+                  ( ([Doc]))+sem_ParamsV_Cons :: T_ParamV  ->+                    T_ParamsV  ->+                    T_ParamsV +sem_ParamsV_Cons hd_ tl_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 199 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 13507 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOinfo | _tlOinfo `seq` (True) ->+          (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                  _lhsIinfo+                  {-# LINE 13512 "src/PrettyTree.hs" #-}+                  )) of+           { _hdOinfo | _hdOinfo `seq` (True) ->+           (case (tl_ _tlOinfo ) of+            { ( _tlIoutput) | True ->+                (case (hd_ _hdOinfo ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 262 "src/PrettyTree.ag" #-}+                             _hdIoutput : _tlIoutput+                             {-# LINE 13521 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+sem_ParamsV_Nil :: T_ParamsV +sem_ParamsV_Nil  =+    (\ _lhsIinfo ->+         (case (({-# LINE 263 "src/PrettyTree.ag" #-}+                 []+                 {-# LINE 13530 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- PoolDoubles -------------------------------------------------+-- cata+sem_PoolDoubles :: PoolDoubles  ->+                   T_PoolDoubles +sem_PoolDoubles list  =+    (Prelude.foldr sem_PoolDoubles_Cons sem_PoolDoubles_Nil list )+-- semantic domain+type T_PoolDoubles  = Word32 ->+                      Options ->+                      SymbolTables ->+                      ( Doc)+sem_PoolDoubles_Cons :: Double ->+                        T_PoolDoubles  ->+                        T_PoolDoubles +sem_PoolDoubles_Cons hd_ tl_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 143 "src/PrettyTree.ag" #-}+                 1 + _lhsIindex+                 {-# LINE 13554 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOindex | _tlOindex `seq` (True) ->+          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 13559 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOtbls | _tlOtbls `seq` (True) ->+           (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                   _lhsIopts+                   {-# LINE 13564 "src/PrettyTree.hs" #-}+                   )) of+            { _tlOopts | _tlOopts `seq` (True) ->+            (case (tl_ _tlOindex _tlOopts _tlOtbls ) of+             { ( _tlIoutput) | True ->+                 (case (({-# LINE 151 "src/PrettyTree.ag" #-}+                         num _lhsIindex <+> text "->" <+> num hd_ $+$ _tlIoutput+                         {-# LINE 13571 "src/PrettyTree.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOoutput) }) }) }) }) }))+sem_PoolDoubles_Nil :: T_PoolDoubles +sem_PoolDoubles_Nil  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 13582 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- PoolInfo ----------------------------------------------------+-- cata+sem_PoolInfo :: PoolInfo  ->+                T_PoolInfo +sem_PoolInfo (PoolInfo_Info _integers _uintegers _doubles _strings _namespaces _namesets _multinames )  =+    (sem_PoolInfo_Info (sem_PoolInts _integers ) (sem_PoolUInts _uintegers ) (sem_PoolDoubles _doubles ) (sem_PoolStrings _strings ) (sem_NamespaceInfos _namespaces ) (sem_SetInfos _namesets ) (sem_MultinameInfos _multinames ) )+-- semantic domain+type T_PoolInfo  = Options ->+                   SymbolTables ->+                   ( Doc)+sem_PoolInfo_Info :: T_PoolInts  ->+                     T_PoolUInts  ->+                     T_PoolDoubles  ->+                     T_PoolStrings  ->+                     T_NamespaceInfos  ->+                     T_SetInfos  ->+                     T_MultinameInfos  ->+                     T_PoolInfo +sem_PoolInfo_Info integers_ uintegers_ doubles_ strings_ namespaces_ namesets_ multinames_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 13609 "src/PrettyTree.hs" #-}+                 )) of+          { _multinamesOtbls | _multinamesOtbls `seq` (True) ->+          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 13614 "src/PrettyTree.hs" #-}+                  )) of+           { _namesetsOtbls | _namesetsOtbls `seq` (True) ->+           (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                   _lhsItbls+                   {-# LINE 13619 "src/PrettyTree.hs" #-}+                   )) of+            { _namespacesOtbls | _namespacesOtbls `seq` (True) ->+            (case (({-# LINE 139 "src/PrettyTree.ag" #-}+                    1+                    {-# LINE 13624 "src/PrettyTree.hs" #-}+                    )) of+             { _multinamesOindex | _multinamesOindex `seq` (True) ->+             (case (({-# LINE 138 "src/PrettyTree.ag" #-}+                     1+                     {-# LINE 13629 "src/PrettyTree.hs" #-}+                     )) of+              { _namesetsOindex | _namesetsOindex `seq` (True) ->+              (case (({-# LINE 137 "src/PrettyTree.ag" #-}+                      1+                      {-# LINE 13634 "src/PrettyTree.hs" #-}+                      )) of+               { _namespacesOindex | _namespacesOindex `seq` (True) ->+               (case (({-# LINE 136 "src/PrettyTree.ag" #-}+                       1+                       {-# LINE 13639 "src/PrettyTree.hs" #-}+                       )) of+                { _stringsOindex | _stringsOindex `seq` (True) ->+                (case (({-# LINE 135 "src/PrettyTree.ag" #-}+                        1+                        {-# LINE 13644 "src/PrettyTree.hs" #-}+                        )) of+                 { _doublesOindex | _doublesOindex `seq` (True) ->+                 (case (({-# LINE 134 "src/PrettyTree.ag" #-}+                         1+                         {-# LINE 13649 "src/PrettyTree.hs" #-}+                         )) of+                  { _uintegersOindex | _uintegersOindex `seq` (True) ->+                  (case (({-# LINE 133 "src/PrettyTree.ag" #-}+                          1+                          {-# LINE 13654 "src/PrettyTree.hs" #-}+                          )) of+                   { _integersOindex | _integersOindex `seq` (True) ->+                   (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                           _lhsIopts+                           {-# LINE 13659 "src/PrettyTree.hs" #-}+                           )) of+                    { _multinamesOopts | _multinamesOopts `seq` (True) ->+                    (case (multinames_ _multinamesOindex _multinamesOopts _multinamesOtbls ) of+                     { ( _multinamesIoutput) | True ->+                         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                 _lhsIopts+                                 {-# LINE 13666 "src/PrettyTree.hs" #-}+                                 )) of+                          { _namesetsOopts | _namesetsOopts `seq` (True) ->+                          (case (namesets_ _namesetsOindex _namesetsOopts _namesetsOtbls ) of+                           { ( _namesetsIoutput) | True ->+                               (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                       _lhsIopts+                                       {-# LINE 13673 "src/PrettyTree.hs" #-}+                                       )) of+                                { _namespacesOopts | _namespacesOopts `seq` (True) ->+                                (case (namespaces_ _namespacesOindex _namespacesOopts _namespacesOtbls ) of+                                 { ( _namespacesIoutput) | True ->+                                     (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                                             _lhsItbls+                                             {-# LINE 13680 "src/PrettyTree.hs" #-}+                                             )) of+                                      { _stringsOtbls | _stringsOtbls `seq` (True) ->+                                      (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                              _lhsIopts+                                              {-# LINE 13685 "src/PrettyTree.hs" #-}+                                              )) of+                                       { _stringsOopts | _stringsOopts `seq` (True) ->+                                       (case (strings_ _stringsOindex _stringsOopts _stringsOtbls ) of+                                        { ( _stringsIoutput) | True ->+                                            (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                                                    _lhsItbls+                                                    {-# LINE 13692 "src/PrettyTree.hs" #-}+                                                    )) of+                                             { _doublesOtbls | _doublesOtbls `seq` (True) ->+                                             (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                                     _lhsIopts+                                                     {-# LINE 13697 "src/PrettyTree.hs" #-}+                                                     )) of+                                              { _doublesOopts | _doublesOopts `seq` (True) ->+                                              (case (doubles_ _doublesOindex _doublesOopts _doublesOtbls ) of+                                               { ( _doublesIoutput) | True ->+                                                   (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                                                           _lhsItbls+                                                           {-# LINE 13704 "src/PrettyTree.hs" #-}+                                                           )) of+                                                    { _uintegersOtbls | _uintegersOtbls `seq` (True) ->+                                                    (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                                            _lhsIopts+                                                            {-# LINE 13709 "src/PrettyTree.hs" #-}+                                                            )) of+                                                     { _uintegersOopts | _uintegersOopts `seq` (True) ->+                                                     (case (uintegers_ _uintegersOindex _uintegersOopts _uintegersOtbls ) of+                                                      { ( _uintegersIoutput) | True ->+                                                          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                                                                  _lhsItbls+                                                                  {-# LINE 13716 "src/PrettyTree.hs" #-}+                                                                  )) of+                                                           { _integersOtbls | _integersOtbls `seq` (True) ->+                                                           (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                                                   _lhsIopts+                                                                   {-# LINE 13721 "src/PrettyTree.hs" #-}+                                                                   )) of+                                                            { _integersOopts | _integersOopts `seq` (True) ->+                                                            (case (integers_ _integersOindex _integersOopts _integersOtbls ) of+                                                             { ( _integersIoutput) | True ->+                                                                 (case (({-# LINE 121 "src/PrettyTree.ag" #-}+                                                                         vert $ map (\(k,v) -> text "TABLE" <+> text k $+$ nest 2 v)+                                                                           [ ("integers",   _integersIoutput)+                                                                           , ("uintegers",  _uintegersIoutput)+                                                                           , ("doubles",    _doublesIoutput)+                                                                           , ("strings",    _stringsIoutput)+                                                                           , ("namespaces", _namespacesIoutput)+                                                                           , ("namesets",   _namesetsIoutput)+                                                                           , ("multinames", _multinamesIoutput)+                                                                           ]+                                                                         {-# LINE 13736 "src/PrettyTree.hs" #-}+                                                                         )) of+                                                                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                                  ( _lhsOoutput) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+-- PoolInts ----------------------------------------------------+-- cata+sem_PoolInts :: PoolInts  ->+                T_PoolInts +sem_PoolInts list  =+    (Prelude.foldr sem_PoolInts_Cons sem_PoolInts_Nil list )+-- semantic domain+type T_PoolInts  = Word32 ->+                   Options ->+                   SymbolTables ->+                   ( Doc)+sem_PoolInts_Cons :: Word32 ->+                     T_PoolInts  ->+                     T_PoolInts +sem_PoolInts_Cons hd_ tl_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 141 "src/PrettyTree.ag" #-}+                 1 + _lhsIindex+                 {-# LINE 13760 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOindex | _tlOindex `seq` (True) ->+          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 13765 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOtbls | _tlOtbls `seq` (True) ->+           (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                   _lhsIopts+                   {-# LINE 13770 "src/PrettyTree.hs" #-}+                   )) of+            { _tlOopts | _tlOopts `seq` (True) ->+            (case (tl_ _tlOindex _tlOopts _tlOtbls ) of+             { ( _tlIoutput) | True ->+                 (case (({-# LINE 149 "src/PrettyTree.ag" #-}+                         num _lhsIindex <+> text "->" <+> num hd_ $+$ _tlIoutput+                         {-# LINE 13777 "src/PrettyTree.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOoutput) }) }) }) }) }))+sem_PoolInts_Nil :: T_PoolInts +sem_PoolInts_Nil  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 13788 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- PoolStrings -------------------------------------------------+-- cata+sem_PoolStrings :: PoolStrings  ->+                   T_PoolStrings +sem_PoolStrings list  =+    (Prelude.foldr sem_PoolStrings_Cons sem_PoolStrings_Nil list )+-- semantic domain+type T_PoolStrings  = Word32 ->+                      Options ->+                      SymbolTables ->+                      ( Doc)+sem_PoolStrings_Cons :: ByteString ->+                        T_PoolStrings  ->+                        T_PoolStrings +sem_PoolStrings_Cons hd_ tl_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 144 "src/PrettyTree.ag" #-}+                 1 + _lhsIindex+                 {-# LINE 13812 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOindex | _tlOindex `seq` (True) ->+          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 13817 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOtbls | _tlOtbls `seq` (True) ->+           (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                   _lhsIopts+                   {-# LINE 13822 "src/PrettyTree.hs" #-}+                   )) of+            { _tlOopts | _tlOopts `seq` (True) ->+            (case (tl_ _tlOindex _tlOopts _tlOtbls ) of+             { ( _tlIoutput) | True ->+                 (case (({-# LINE 152 "src/PrettyTree.ag" #-}+                         num _lhsIindex <+> text "->" <+> str hd_ $+$ _tlIoutput+                         {-# LINE 13829 "src/PrettyTree.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOoutput) }) }) }) }) }))+sem_PoolStrings_Nil :: T_PoolStrings +sem_PoolStrings_Nil  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 13840 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- PoolUInts ---------------------------------------------------+-- cata+sem_PoolUInts :: PoolUInts  ->+                 T_PoolUInts +sem_PoolUInts list  =+    (Prelude.foldr sem_PoolUInts_Cons sem_PoolUInts_Nil list )+-- semantic domain+type T_PoolUInts  = Word32 ->+                    Options ->+                    SymbolTables ->+                    ( Doc)+sem_PoolUInts_Cons :: Word32 ->+                      T_PoolUInts  ->+                      T_PoolUInts +sem_PoolUInts_Cons hd_ tl_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 142 "src/PrettyTree.ag" #-}+                 1 + _lhsIindex+                 {-# LINE 13864 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOindex | _tlOindex `seq` (True) ->+          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 13869 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOtbls | _tlOtbls `seq` (True) ->+           (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                   _lhsIopts+                   {-# LINE 13874 "src/PrettyTree.hs" #-}+                   )) of+            { _tlOopts | _tlOopts `seq` (True) ->+            (case (tl_ _tlOindex _tlOopts _tlOtbls ) of+             { ( _tlIoutput) | True ->+                 (case (({-# LINE 150 "src/PrettyTree.ag" #-}+                         num _lhsIindex <+> text "->" <+> num hd_ $+$ _tlIoutput+                         {-# LINE 13881 "src/PrettyTree.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOoutput) }) }) }) }) }))+sem_PoolUInts_Nil :: T_PoolUInts +sem_PoolUInts_Nil  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 13892 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- Rect --------------------------------------------------------+-- cata+sem_Rect :: Rect  ->+            T_Rect +sem_Rect (Rect_Rect _bits _xMin _xMax _yMin _yMax )  =+    (sem_Rect_Rect _bits _xMin _xMax _yMin _yMax )+-- semantic domain+type T_Rect  = Options ->+               ( Doc)+sem_Rect_Rect :: Int ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 T_Rect +sem_Rect_Rect bits_ xMin_ xMax_ yMin_ yMax_  =+    (\ _lhsIopts ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 13915 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- ScriptInfo --------------------------------------------------+-- cata+sem_ScriptInfo :: ScriptInfo  ->+                  T_ScriptInfo +sem_ScriptInfo (ScriptInfo_Info _method _traits )  =+    (sem_ScriptInfo_Info _method (sem_Traits _traits ) )+-- semantic domain+type T_ScriptInfo  = Options ->+                     SymbolTables ->+                     ( Doc)+sem_ScriptInfo_Info :: Word32 ->+                       T_Traits  ->+                       T_ScriptInfo +sem_ScriptInfo_Info method_ traits_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 13937 "src/PrettyTree.hs" #-}+                 )) of+          { _traitsOtbls | _traitsOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 13942 "src/PrettyTree.hs" #-}+                  )) of+           { _traitsOopts | _traitsOopts `seq` (True) ->+           (case (traits_ _traitsOopts _traitsOtbls ) of+            { ( _traitsIoutput) | True ->+                (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                        _traitsIoutput+                        {-# LINE 13949 "src/PrettyTree.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+-- ScriptInfos -------------------------------------------------+-- cata+sem_ScriptInfos :: ScriptInfos  ->+                   T_ScriptInfos +sem_ScriptInfos list  =+    (Prelude.foldr sem_ScriptInfos_Cons sem_ScriptInfos_Nil (Prelude.map sem_ScriptInfo list) )+-- semantic domain+type T_ScriptInfos  = Options ->+                      SymbolTables ->+                      ( Doc)+sem_ScriptInfos_Cons :: T_ScriptInfo  ->+                        T_ScriptInfos  ->+                        T_ScriptInfos +sem_ScriptInfos_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 13971 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 13976 "src/PrettyTree.hs" #-}+                  )) of+           { _hdOtbls | _hdOtbls `seq` (True) ->+           (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                   _lhsIopts+                   {-# LINE 13981 "src/PrettyTree.hs" #-}+                   )) of+            { _tlOopts | _tlOopts `seq` (True) ->+            (case (tl_ _tlOopts _tlOtbls ) of+             { ( _tlIoutput) | True ->+                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                         _lhsIopts+                         {-# LINE 13988 "src/PrettyTree.hs" #-}+                         )) of+                  { _hdOopts | _hdOopts `seq` (True) ->+                  (case (hd_ _hdOopts _hdOtbls ) of+                   { ( _hdIoutput) | True ->+                       (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                               _hdIoutput $+$ _tlIoutput+                               {-# LINE 13995 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        ( _lhsOoutput) }) }) }) }) }) }) }))+sem_ScriptInfos_Nil :: T_ScriptInfos +sem_ScriptInfos_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 14005 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- SetInfo -----------------------------------------------------+-- cata+sem_SetInfo :: SetInfo  ->+               T_SetInfo +sem_SetInfo (SetInfo_Info _names )  =+    (sem_SetInfo_Info (sem_NamespaceNames _names ) )+-- semantic domain+type T_SetInfo  = Options ->+                  SymbolTables ->+                  ( Doc)+sem_SetInfo_Info :: T_NamespaceNames  ->+                    T_SetInfo +sem_SetInfo_Info names_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 14026 "src/PrettyTree.hs" #-}+                 )) of+          { _namesOtbls | _namesOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 14031 "src/PrettyTree.hs" #-}+                  )) of+           { _namesOopts | _namesOopts `seq` (True) ->+           (case (names_ _namesOopts _namesOtbls ) of+            { ( _namesIoutput) | True ->+                (case (({-# LINE 168 "src/PrettyTree.ag" #-}+                        text "SET" <+> _namesIoutput+                        {-# LINE 14038 "src/PrettyTree.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+-- SetInfos ----------------------------------------------------+-- cata+sem_SetInfos :: SetInfos  ->+                T_SetInfos +sem_SetInfos list  =+    (Prelude.foldr sem_SetInfos_Cons sem_SetInfos_Nil (Prelude.map sem_SetInfo list) )+-- semantic domain+type T_SetInfos  = Word32 ->+                   Options ->+                   SymbolTables ->+                   ( Doc)+sem_SetInfos_Cons :: T_SetInfo  ->+                     T_SetInfos  ->+                     T_SetInfos +sem_SetInfos_Cons hd_ tl_  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 14062 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 14067 "src/PrettyTree.hs" #-}+                  )) of+           { _hdOtbls | _hdOtbls `seq` (True) ->+           (case (({-# LINE 146 "src/PrettyTree.ag" #-}+                   1 + _lhsIindex+                   {-# LINE 14072 "src/PrettyTree.hs" #-}+                   )) of+            { _tlOindex | _tlOindex `seq` (True) ->+            (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                    _lhsIopts+                    {-# LINE 14077 "src/PrettyTree.hs" #-}+                    )) of+             { _tlOopts | _tlOopts `seq` (True) ->+             (case (tl_ _tlOindex _tlOopts _tlOtbls ) of+              { ( _tlIoutput) | True ->+                  (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                          _lhsIopts+                          {-# LINE 14084 "src/PrettyTree.hs" #-}+                          )) of+                   { _hdOopts | _hdOopts `seq` (True) ->+                   (case (hd_ _hdOopts _hdOtbls ) of+                    { ( _hdIoutput) | True ->+                        (case (({-# LINE 154 "src/PrettyTree.ag" #-}+                                num _lhsIindex <+> text "->" <+> _hdIoutput $+$ _tlIoutput+                                {-# LINE 14091 "src/PrettyTree.hs" #-}+                                )) of+                         { _lhsOoutput | _lhsOoutput `seq` (True) ->+                         ( _lhsOoutput) }) }) }) }) }) }) }) }))+sem_SetInfos_Nil :: T_SetInfos +sem_SetInfos_Nil  =+    (\ _lhsIindex+       _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 14102 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- SigV --------------------------------------------------------+-- cata+sem_SigV :: SigV  ->+            T_SigV +sem_SigV (SigV_Sig _id _ret _params )  =+    (sem_SigV_Sig _id (sem_TypeV _ret ) (sem_ParamsV _params ) )+-- semantic domain+type T_SigV  = PPInfo ->+               ( Doc)+sem_SigV_Sig :: MethodRef ->+                T_TypeV  ->+                T_ParamsV  ->+                T_SigV +sem_SigV_Sig id_ ret_ params_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 258 "src/PrettyTree.ag" #-}+                 Short+                 {-# LINE 14123 "src/PrettyTree.hs" #-}+                 )) of+          { _retOinfo | _retOinfo `seq` (True) ->+          (case (({-# LINE 257 "src/PrettyTree.ag" #-}+                  Short+                  {-# LINE 14128 "src/PrettyTree.hs" #-}+                  )) of+           { _paramsOinfo | _paramsOinfo `seq` (True) ->+           (case (params_ _paramsOinfo ) of+            { ( _paramsIoutput) | True ->+                (case (ret_ _retOinfo ) of+                 { ( _retIoutput) | True ->+                     (case (({-# LINE 259 "src/PrettyTree.ag" #-}+                             parens (hsep $ punctuate (text ",") _paramsIoutput) <> text ":" <> _retIoutput+                             {-# LINE 14137 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+-- StrV --------------------------------------------------------+-- cata+sem_StrV :: StrV  ->+            T_StrV +sem_StrV (StrV_Str _id _val )  =+    (sem_StrV_Str _id _val )+-- semantic domain+type T_StrV  = PPInfo ->+               ( Bool,Doc)+sem_StrV_Str :: StringRef ->+                String ->+                T_StrV +sem_StrV_Str id_ val_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 186 "src/PrettyTree.ag" #-}+                 null val_+                 {-# LINE 14157 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOisEmpty | _lhsOisEmpty `seq` (True) ->+          (case (({-# LINE 229 "src/PrettyTree.ag" #-}+                  case _lhsIinfo of+                    Short   -> text val_+                    Verbose -> text val_ <+> braces (text "str-id:" <+> num (refVal id_))+                  {-# LINE 14164 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOisEmpty,_lhsOoutput) }) }))+-- SuperV ------------------------------------------------------+-- cata+sem_SuperV :: SuperV  ->+              T_SuperV +sem_SuperV (SuperV_Super _tp )  =+    (sem_SuperV_Super (sem_TypeV _tp ) )+-- semantic domain+type T_SuperV  = PPInfo ->+                 ( Doc)+sem_SuperV_Super :: T_TypeV  ->+                    T_SuperV +sem_SuperV_Super tp_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 14183 "src/PrettyTree.hs" #-}+                 )) of+          { _tpOinfo | _tpOinfo `seq` (True) ->+          (case (tp_ _tpOinfo ) of+           { ( _tpIoutput) | True ->+               (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                       _tpIoutput+                       {-# LINE 14190 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }))+-- SwfFile -----------------------------------------------------+-- cata+sem_SwfFile :: SwfFile  ->+               T_SwfFile +sem_SwfFile (SwfFile_File _compressed _version _length _size _rate _count _tags )  =+    (sem_SwfFile_File _compressed _version _length (sem_Rect _size ) _rate _count (sem_Tags _tags ) )+-- semantic domain+type T_SwfFile  = Options ->+                  ([SymbolTables]) ->+                  ( Doc,([SymbolTables]))+data Inh_SwfFile  = Inh_SwfFile {opts_Inh_SwfFile :: !(Options),tbls_Inh_SwfFile :: !(([SymbolTables]))}+data Syn_SwfFile  = Syn_SwfFile {output_Syn_SwfFile :: !(Doc),tbls_Syn_SwfFile :: !(([SymbolTables]))}+wrap_SwfFile :: T_SwfFile  ->+                Inh_SwfFile  ->+                Syn_SwfFile +wrap_SwfFile sem (Inh_SwfFile _lhsIopts _lhsItbls )  =+    (let ( _lhsOoutput,_lhsOtbls) | True = sem _lhsIopts _lhsItbls +     in  (Syn_SwfFile _lhsOoutput _lhsOtbls ))+sem_SwfFile_File :: Bool ->+                    Word8 ->+                    Word32 ->+                    T_Rect  ->+                    Word16 ->+                    Word16 ->+                    T_Tags  ->+                    T_SwfFile +sem_SwfFile_File compressed_ version_ length_ size_ rate_ count_ tags_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 50 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 14225 "src/PrettyTree.hs" #-}+                 )) of+          { _tagsOtbls | _tagsOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 14230 "src/PrettyTree.hs" #-}+                  )) of+           { _tagsOopts | _tagsOopts `seq` (True) ->+           (case (tags_ _tagsOopts _tagsOtbls ) of+            { ( _tagsIoutput,_tagsItbls) | True ->+                (case (({-# LINE 43 "src/PrettyTree.ag" #-}+                        text "SWF" <+> space <+> props+                          [ ("compressed", bool compressed_)+                          , ("version",    num version_)+                          , ("length",     num length_)+                          ]+                        $+$ _tagsIoutput+                        {-# LINE 14242 "src/PrettyTree.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 (case (({-# LINE 50 "src/PrettyTree.ag" #-}+                         _tagsItbls+                         {-# LINE 14247 "src/PrettyTree.hs" #-}+                         )) of+                  { _lhsOtbls | _lhsOtbls `seq` (True) ->+                  ( _lhsOoutput,_lhsOtbls) }) }) }) }) }))+-- TableV ------------------------------------------------------+-- cata+sem_TableV :: TableV  ->+              T_TableV +sem_TableV (TableV_Table _classes _methods )  =+    (sem_TableV_Table (sem_ClassesV _classes ) (sem_MethodsV _methods ) )+-- semantic domain+type T_TableV  = PPInfo ->+                 ( Doc)+sem_TableV_Table :: T_ClassesV  ->+                    T_MethodsV  ->+                    T_TableV +sem_TableV_Table classes_ methods_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 14267 "src/PrettyTree.hs" #-}+                 )) of+          { _classesOinfo | _classesOinfo `seq` (True) ->+          (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                  _lhsIinfo+                  {-# LINE 14272 "src/PrettyTree.hs" #-}+                  )) of+           { _methodsOinfo | _methodsOinfo `seq` (True) ->+           (case (methods_ _methodsOinfo ) of+            { ( _methodsIoutput) | True ->+                (case (classes_ _classesOinfo ) of+                 { ( _classesIoutput) | True ->+                     (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                             _classesIoutput $+$ _methodsIoutput+                             {-# LINE 14281 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+-- TablesV -----------------------------------------------------+-- cata+sem_TablesV :: TablesV  ->+               T_TablesV +sem_TablesV list  =+    (Prelude.foldr sem_TablesV_Cons sem_TablesV_Nil (Prelude.map sem_TableV list) )+-- semantic domain+type T_TablesV  = PPInfo ->+                  ( Doc)+sem_TablesV_Cons :: T_TableV  ->+                    T_TablesV  ->+                    T_TablesV +sem_TablesV_Cons hd_ tl_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 14301 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOinfo | _tlOinfo `seq` (True) ->+          (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                  _lhsIinfo+                  {-# LINE 14306 "src/PrettyTree.hs" #-}+                  )) of+           { _hdOinfo | _hdOinfo `seq` (True) ->+           (case (tl_ _tlOinfo ) of+            { ( _tlIoutput) | True ->+                (case (hd_ _hdOinfo ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                             _hdIoutput $+$ _tlIoutput+                             {-# LINE 14315 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+sem_TablesV_Nil :: T_TablesV +sem_TablesV_Nil  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 14324 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- Tag ---------------------------------------------------------+-- cata+sem_Tag :: Tag  ->+           T_Tag +sem_Tag (Tag_Abc _flags _name _file )  =+    (sem_Tag_Abc (sem_AbcFlags _flags ) _name (sem_AbcFile _file ) )+sem_Tag (Tag_End )  =+    (sem_Tag_End )+sem_Tag (Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )  =+    (sem_Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )+sem_Tag (Tag_Opaque _kind _length _body )  =+    (sem_Tag_Opaque (sem_TagKind _kind ) _length _body )+-- semantic domain+type T_Tag  = Options ->+              ([SymbolTables]) ->+              ( Doc,([SymbolTables]))+sem_Tag_Abc :: T_AbcFlags  ->+               ByteString ->+               T_AbcFile  ->+               T_Tag +sem_Tag_Abc flags_ name_ file_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 50 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 14353 "src/PrettyTree.hs" #-}+                 )) of+          { _fileOtbls | _fileOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 14358 "src/PrettyTree.hs" #-}+                  )) of+           { _fileOopts | _fileOopts `seq` (True) ->+           (case (file_ _fileOopts _fileOtbls ) of+            { ( _fileIoutput,_fileItbls) | True ->+                (case (flags_ ) of+                 { ( _flagsIdoLazyInit) | True ->+                     (case (({-# LINE 75 "src/PrettyTree.ag" #-}+                             text "TAG Abc" <+> space <+> props+                               [ ("lazy init", bool _flagsIdoLazyInit)+                               , ("name",      str name_)+                               ]+                             $+$ _fileIoutput+                             {-# LINE 14371 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      (case (({-# LINE 50 "src/PrettyTree.ag" #-}+                              _fileItbls+                              {-# LINE 14376 "src/PrettyTree.hs" #-}+                              )) of+                       { _lhsOtbls | _lhsOtbls `seq` (True) ->+                       ( _lhsOoutput,_lhsOtbls) }) }) }) }) }) }))+sem_Tag_End :: T_Tag +sem_Tag_End  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 14386 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          (case (({-# LINE 50 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 14391 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOtbls | _lhsOtbls `seq` (True) ->+           ( _lhsOoutput,_lhsOtbls) }) }))+sem_Tag_FileAttributes :: Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          T_Tag +sem_Tag_FileAttributes useDirectBlit_ useGPU_ hasMetaData_ hasAS3_ useNetwork_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 81 "src/PrettyTree.ag" #-}+                 text "TAG FileAttributes" <+> space <+> props+                   [ ("use blit",    bool useDirectBlit_)+                   , ("use gpu",     bool useGPU_)+                   , ("hasAS3",      bool hasAS3_)+                   , ("use network", bool useNetwork_)+                   ]+                 {-# LINE 14411 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          (case (({-# LINE 50 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 14416 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOtbls | _lhsOtbls `seq` (True) ->+           ( _lhsOoutput,_lhsOtbls) }) }))+sem_Tag_Opaque :: T_TagKind  ->+                  Word32 ->+                  ByteString ->+                  T_Tag +sem_Tag_Opaque kind_ length_ body_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (kind_ ) of+          { ( _kindIself) | True ->+              (case (({-# LINE 88 "src/PrettyTree.ag" #-}+                      text "TAG" <+> text (show _kindIself) <+> space <+> props+                        [ ("length", num length_)+                        ]+                      {-# LINE 14433 "src/PrettyTree.hs" #-}+                      )) of+               { _lhsOoutput | _lhsOoutput `seq` (True) ->+               (case (({-# LINE 50 "src/PrettyTree.ag" #-}+                       _lhsItbls+                       {-# LINE 14438 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOtbls | _lhsOtbls `seq` (True) ->+                ( _lhsOoutput,_lhsOtbls) }) }) }))+-- TagKind -----------------------------------------------------+-- cata+sem_TagKind :: TagKind  ->+               T_TagKind +sem_TagKind (TagKind_CSMTextSettings )  =+    (sem_TagKind_CSMTextSettings )+sem_TagKind (TagKind_DefineBinaryData )  =+    (sem_TagKind_DefineBinaryData )+sem_TagKind (TagKind_DefineBits )  =+    (sem_TagKind_DefineBits )+sem_TagKind (TagKind_DefineBitsJPEG2 )  =+    (sem_TagKind_DefineBitsJPEG2 )+sem_TagKind (TagKind_DefineBitsJPEG3 )  =+    (sem_TagKind_DefineBitsJPEG3 )+sem_TagKind (TagKind_DefineBitsJPEG4 )  =+    (sem_TagKind_DefineBitsJPEG4 )+sem_TagKind (TagKind_DefineBitsLossless )  =+    (sem_TagKind_DefineBitsLossless )+sem_TagKind (TagKind_DefineBitsLossless2 )  =+    (sem_TagKind_DefineBitsLossless2 )+sem_TagKind (TagKind_DefineButton )  =+    (sem_TagKind_DefineButton )+sem_TagKind (TagKind_DefineButton2 )  =+    (sem_TagKind_DefineButton2 )+sem_TagKind (TagKind_DefineButtonCxform )  =+    (sem_TagKind_DefineButtonCxform )+sem_TagKind (TagKind_DefineButtonSound )  =+    (sem_TagKind_DefineButtonSound )+sem_TagKind (TagKind_DefineEditText )  =+    (sem_TagKind_DefineEditText )+sem_TagKind (TagKind_DefineFont )  =+    (sem_TagKind_DefineFont )+sem_TagKind (TagKind_DefineFont2 )  =+    (sem_TagKind_DefineFont2 )+sem_TagKind (TagKind_DefineFont3 )  =+    (sem_TagKind_DefineFont3 )+sem_TagKind (TagKind_DefineFont4 )  =+    (sem_TagKind_DefineFont4 )+sem_TagKind (TagKind_DefineFontAlignZones )  =+    (sem_TagKind_DefineFontAlignZones )+sem_TagKind (TagKind_DefineFontInfo )  =+    (sem_TagKind_DefineFontInfo )+sem_TagKind (TagKind_DefineFontInfo2 )  =+    (sem_TagKind_DefineFontInfo2 )+sem_TagKind (TagKind_DefineFontName )  =+    (sem_TagKind_DefineFontName )+sem_TagKind (TagKind_DefineMorphShape )  =+    (sem_TagKind_DefineMorphShape )+sem_TagKind (TagKind_DefineMorphShape2 )  =+    (sem_TagKind_DefineMorphShape2 )+sem_TagKind (TagKind_DefineScalingGrid )  =+    (sem_TagKind_DefineScalingGrid )+sem_TagKind (TagKind_DefineSceneAndFrameLabelData )  =+    (sem_TagKind_DefineSceneAndFrameLabelData )+sem_TagKind (TagKind_DefineShape )  =+    (sem_TagKind_DefineShape )+sem_TagKind (TagKind_DefineShape2 )  =+    (sem_TagKind_DefineShape2 )+sem_TagKind (TagKind_DefineShape3 )  =+    (sem_TagKind_DefineShape3 )+sem_TagKind (TagKind_DefineShape4 )  =+    (sem_TagKind_DefineShape4 )+sem_TagKind (TagKind_DefineSound )  =+    (sem_TagKind_DefineSound )+sem_TagKind (TagKind_DefineSprite )  =+    (sem_TagKind_DefineSprite )+sem_TagKind (TagKind_DefineText )  =+    (sem_TagKind_DefineText )+sem_TagKind (TagKind_DefineText2 )  =+    (sem_TagKind_DefineText2 )+sem_TagKind (TagKind_DefineVideoStream )  =+    (sem_TagKind_DefineVideoStream )+sem_TagKind (TagKind_DoABC )  =+    (sem_TagKind_DoABC )+sem_TagKind (TagKind_DoAction )  =+    (sem_TagKind_DoAction )+sem_TagKind (TagKind_DoInitAction )  =+    (sem_TagKind_DoInitAction )+sem_TagKind (TagKind_EnableDebugger )  =+    (sem_TagKind_EnableDebugger )+sem_TagKind (TagKind_EnableDebugger2 )  =+    (sem_TagKind_EnableDebugger2 )+sem_TagKind (TagKind_End )  =+    (sem_TagKind_End )+sem_TagKind (TagKind_ExportAssets )  =+    (sem_TagKind_ExportAssets )+sem_TagKind (TagKind_FileAttributes )  =+    (sem_TagKind_FileAttributes )+sem_TagKind (TagKind_FrameLabel )  =+    (sem_TagKind_FrameLabel )+sem_TagKind (TagKind_ImportAssets )  =+    (sem_TagKind_ImportAssets )+sem_TagKind (TagKind_ImportAssets2 )  =+    (sem_TagKind_ImportAssets2 )+sem_TagKind (TagKind_JPEGTables )  =+    (sem_TagKind_JPEGTables )+sem_TagKind (TagKind_Metadata )  =+    (sem_TagKind_Metadata )+sem_TagKind (TagKind_Other _code )  =+    (sem_TagKind_Other _code )+sem_TagKind (TagKind_PlaceObject )  =+    (sem_TagKind_PlaceObject )+sem_TagKind (TagKind_PlaceObject2 )  =+    (sem_TagKind_PlaceObject2 )+sem_TagKind (TagKind_PlaceObject3 )  =+    (sem_TagKind_PlaceObject3 )+sem_TagKind (TagKind_Protect )  =+    (sem_TagKind_Protect )+sem_TagKind (TagKind_RemoveObject )  =+    (sem_TagKind_RemoveObject )+sem_TagKind (TagKind_RemoveObject2 )  =+    (sem_TagKind_RemoveObject2 )+sem_TagKind (TagKind_ScriptLimits )  =+    (sem_TagKind_ScriptLimits )+sem_TagKind (TagKind_SetBackgroundColor )  =+    (sem_TagKind_SetBackgroundColor )+sem_TagKind (TagKind_SetTabIndex )  =+    (sem_TagKind_SetTabIndex )+sem_TagKind (TagKind_ShowFrame )  =+    (sem_TagKind_ShowFrame )+sem_TagKind (TagKind_SoundStreamBlock )  =+    (sem_TagKind_SoundStreamBlock )+sem_TagKind (TagKind_SoundStreamHead )  =+    (sem_TagKind_SoundStreamHead )+sem_TagKind (TagKind_SoundStreamHead2 )  =+    (sem_TagKind_SoundStreamHead2 )+sem_TagKind (TagKind_StartSound )  =+    (sem_TagKind_StartSound )+sem_TagKind (TagKind_StartSound2 )  =+    (sem_TagKind_StartSound2 )+sem_TagKind (TagKind_SymbolClass )  =+    (sem_TagKind_SymbolClass )+sem_TagKind (TagKind_VideoFrame )  =+    (sem_TagKind_VideoFrame )+-- semantic domain+type T_TagKind  = ( TagKind )+sem_TagKind_CSMTextSettings :: T_TagKind +sem_TagKind_CSMTextSettings  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_CSMTextSettings+            {-# LINE 14582 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14587 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineBinaryData :: T_TagKind +sem_TagKind_DefineBinaryData  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineBinaryData+            {-# LINE 14595 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14600 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineBits :: T_TagKind +sem_TagKind_DefineBits  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineBits+            {-# LINE 14608 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14613 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineBitsJPEG2 :: T_TagKind +sem_TagKind_DefineBitsJPEG2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineBitsJPEG2+            {-# LINE 14621 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14626 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineBitsJPEG3 :: T_TagKind +sem_TagKind_DefineBitsJPEG3  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineBitsJPEG3+            {-# LINE 14634 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14639 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineBitsJPEG4 :: T_TagKind +sem_TagKind_DefineBitsJPEG4  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineBitsJPEG4+            {-# LINE 14647 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14652 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineBitsLossless :: T_TagKind +sem_TagKind_DefineBitsLossless  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineBitsLossless+            {-# LINE 14660 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14665 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineBitsLossless2 :: T_TagKind +sem_TagKind_DefineBitsLossless2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineBitsLossless2+            {-# LINE 14673 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14678 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineButton :: T_TagKind +sem_TagKind_DefineButton  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineButton+            {-# LINE 14686 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14691 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineButton2 :: T_TagKind +sem_TagKind_DefineButton2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineButton2+            {-# LINE 14699 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14704 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineButtonCxform :: T_TagKind +sem_TagKind_DefineButtonCxform  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineButtonCxform+            {-# LINE 14712 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14717 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineButtonSound :: T_TagKind +sem_TagKind_DefineButtonSound  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineButtonSound+            {-# LINE 14725 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14730 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineEditText :: T_TagKind +sem_TagKind_DefineEditText  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineEditText+            {-# LINE 14738 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14743 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineFont :: T_TagKind +sem_TagKind_DefineFont  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineFont+            {-# LINE 14751 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14756 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineFont2 :: T_TagKind +sem_TagKind_DefineFont2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineFont2+            {-# LINE 14764 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14769 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineFont3 :: T_TagKind +sem_TagKind_DefineFont3  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineFont3+            {-# LINE 14777 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14782 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineFont4 :: T_TagKind +sem_TagKind_DefineFont4  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineFont4+            {-# LINE 14790 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14795 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineFontAlignZones :: T_TagKind +sem_TagKind_DefineFontAlignZones  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineFontAlignZones+            {-# LINE 14803 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14808 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineFontInfo :: T_TagKind +sem_TagKind_DefineFontInfo  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineFontInfo+            {-# LINE 14816 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14821 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineFontInfo2 :: T_TagKind +sem_TagKind_DefineFontInfo2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineFontInfo2+            {-# LINE 14829 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14834 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineFontName :: T_TagKind +sem_TagKind_DefineFontName  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineFontName+            {-# LINE 14842 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14847 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineMorphShape :: T_TagKind +sem_TagKind_DefineMorphShape  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineMorphShape+            {-# LINE 14855 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14860 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineMorphShape2 :: T_TagKind +sem_TagKind_DefineMorphShape2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineMorphShape2+            {-# LINE 14868 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14873 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineScalingGrid :: T_TagKind +sem_TagKind_DefineScalingGrid  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineScalingGrid+            {-# LINE 14881 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14886 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineSceneAndFrameLabelData :: T_TagKind +sem_TagKind_DefineSceneAndFrameLabelData  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineSceneAndFrameLabelData+            {-# LINE 14894 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14899 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineShape :: T_TagKind +sem_TagKind_DefineShape  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineShape+            {-# LINE 14907 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14912 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineShape2 :: T_TagKind +sem_TagKind_DefineShape2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineShape2+            {-# LINE 14920 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14925 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineShape3 :: T_TagKind +sem_TagKind_DefineShape3  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineShape3+            {-# LINE 14933 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14938 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineShape4 :: T_TagKind +sem_TagKind_DefineShape4  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineShape4+            {-# LINE 14946 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14951 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineSound :: T_TagKind +sem_TagKind_DefineSound  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineSound+            {-# LINE 14959 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14964 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineSprite :: T_TagKind +sem_TagKind_DefineSprite  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineSprite+            {-# LINE 14972 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14977 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineText :: T_TagKind +sem_TagKind_DefineText  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineText+            {-# LINE 14985 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 14990 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineText2 :: T_TagKind +sem_TagKind_DefineText2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineText2+            {-# LINE 14998 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15003 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DefineVideoStream :: T_TagKind +sem_TagKind_DefineVideoStream  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DefineVideoStream+            {-# LINE 15011 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15016 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DoABC :: T_TagKind +sem_TagKind_DoABC  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DoABC+            {-# LINE 15024 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15029 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DoAction :: T_TagKind +sem_TagKind_DoAction  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DoAction+            {-# LINE 15037 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15042 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_DoInitAction :: T_TagKind +sem_TagKind_DoInitAction  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_DoInitAction+            {-# LINE 15050 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15055 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_EnableDebugger :: T_TagKind +sem_TagKind_EnableDebugger  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_EnableDebugger+            {-# LINE 15063 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15068 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_EnableDebugger2 :: T_TagKind +sem_TagKind_EnableDebugger2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_EnableDebugger2+            {-# LINE 15076 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15081 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_End :: T_TagKind +sem_TagKind_End  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_End+            {-# LINE 15089 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15094 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_ExportAssets :: T_TagKind +sem_TagKind_ExportAssets  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_ExportAssets+            {-# LINE 15102 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15107 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_FileAttributes :: T_TagKind +sem_TagKind_FileAttributes  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_FileAttributes+            {-# LINE 15115 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15120 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_FrameLabel :: T_TagKind +sem_TagKind_FrameLabel  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_FrameLabel+            {-# LINE 15128 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15133 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_ImportAssets :: T_TagKind +sem_TagKind_ImportAssets  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_ImportAssets+            {-# LINE 15141 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15146 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_ImportAssets2 :: T_TagKind +sem_TagKind_ImportAssets2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_ImportAssets2+            {-# LINE 15154 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15159 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_JPEGTables :: T_TagKind +sem_TagKind_JPEGTables  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_JPEGTables+            {-# LINE 15167 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15172 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_Metadata :: T_TagKind +sem_TagKind_Metadata  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_Metadata+            {-# LINE 15180 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15185 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_Other :: Word16 ->+                     T_TagKind +sem_TagKind_Other code_  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_Other code_+            {-# LINE 15194 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15199 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_PlaceObject :: T_TagKind +sem_TagKind_PlaceObject  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_PlaceObject+            {-# LINE 15207 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15212 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_PlaceObject2 :: T_TagKind +sem_TagKind_PlaceObject2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_PlaceObject2+            {-# LINE 15220 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15225 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_PlaceObject3 :: T_TagKind +sem_TagKind_PlaceObject3  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_PlaceObject3+            {-# LINE 15233 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15238 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_Protect :: T_TagKind +sem_TagKind_Protect  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_Protect+            {-# LINE 15246 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15251 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_RemoveObject :: T_TagKind +sem_TagKind_RemoveObject  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_RemoveObject+            {-# LINE 15259 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15264 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_RemoveObject2 :: T_TagKind +sem_TagKind_RemoveObject2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_RemoveObject2+            {-# LINE 15272 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15277 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_ScriptLimits :: T_TagKind +sem_TagKind_ScriptLimits  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_ScriptLimits+            {-# LINE 15285 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15290 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_SetBackgroundColor :: T_TagKind +sem_TagKind_SetBackgroundColor  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_SetBackgroundColor+            {-# LINE 15298 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15303 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_SetTabIndex :: T_TagKind +sem_TagKind_SetTabIndex  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_SetTabIndex+            {-# LINE 15311 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15316 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_ShowFrame :: T_TagKind +sem_TagKind_ShowFrame  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_ShowFrame+            {-# LINE 15324 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15329 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_SoundStreamBlock :: T_TagKind +sem_TagKind_SoundStreamBlock  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_SoundStreamBlock+            {-# LINE 15337 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15342 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_SoundStreamHead :: T_TagKind +sem_TagKind_SoundStreamHead  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_SoundStreamHead+            {-# LINE 15350 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15355 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_SoundStreamHead2 :: T_TagKind +sem_TagKind_SoundStreamHead2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_SoundStreamHead2+            {-# LINE 15363 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15368 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_StartSound :: T_TagKind +sem_TagKind_StartSound  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_StartSound+            {-# LINE 15376 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15381 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_StartSound2 :: T_TagKind +sem_TagKind_StartSound2  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_StartSound2+            {-# LINE 15389 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15394 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_SymbolClass :: T_TagKind +sem_TagKind_SymbolClass  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_SymbolClass+            {-# LINE 15402 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15407 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+sem_TagKind_VideoFrame :: T_TagKind +sem_TagKind_VideoFrame  =+    (case (({-# LINE 92 "src/PrettyTree.ag" #-}+            TagKind_VideoFrame+            {-# LINE 15415 "src/PrettyTree.hs" #-}+            )) of+     { _self | _self `seq` (True) ->+     (case (({-# LINE 92 "src/PrettyTree.ag" #-}+             _self+             {-# LINE 15420 "src/PrettyTree.hs" #-}+             )) of+      { _lhsOself | _lhsOself `seq` (True) ->+      ( _lhsOself) }) })+-- Tags --------------------------------------------------------+-- cata+sem_Tags :: Tags  ->+            T_Tags +sem_Tags list  =+    (Prelude.foldr sem_Tags_Cons sem_Tags_Nil (Prelude.map sem_Tag list) )+-- semantic domain+type T_Tags  = Options ->+               ([SymbolTables]) ->+               ( Doc,([SymbolTables]))+sem_Tags_Cons :: T_Tag  ->+                 T_Tags  ->+                 T_Tags +sem_Tags_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 50 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 15442 "src/PrettyTree.hs" #-}+                 )) of+          { _hdOtbls | _hdOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 15447 "src/PrettyTree.hs" #-}+                  )) of+           { _hdOopts | _hdOopts `seq` (True) ->+           (case (hd_ _hdOopts _hdOtbls ) of+            { ( _hdIoutput,_hdItbls) | True ->+                (case (({-# LINE 50 "src/PrettyTree.ag" #-}+                        _hdItbls+                        {-# LINE 15454 "src/PrettyTree.hs" #-}+                        )) of+                 { _tlOtbls | _tlOtbls `seq` (True) ->+                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                         _lhsIopts+                         {-# LINE 15459 "src/PrettyTree.hs" #-}+                         )) of+                  { _tlOopts | _tlOopts `seq` (True) ->+                  (case (tl_ _tlOopts _tlOtbls ) of+                   { ( _tlIoutput,_tlItbls) | True ->+                       (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                               _hdIoutput $+$ _tlIoutput+                               {-# LINE 15466 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        (case (({-# LINE 50 "src/PrettyTree.ag" #-}+                                _tlItbls+                                {-# LINE 15471 "src/PrettyTree.hs" #-}+                                )) of+                         { _lhsOtbls | _lhsOtbls `seq` (True) ->+                         ( _lhsOoutput,_lhsOtbls) }) }) }) }) }) }) }) }))+sem_Tags_Nil :: T_Tags +sem_Tags_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 15481 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          (case (({-# LINE 50 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 15486 "src/PrettyTree.hs" #-}+                  )) of+           { _lhsOtbls | _lhsOtbls `seq` (True) ->+           ( _lhsOoutput,_lhsOtbls) }) }))+-- Trait -------------------------------------------------------+-- cata+sem_Trait :: Trait  ->+             T_Trait +sem_Trait (Trait_Trait _name _data _attrs _meta )  =+    (sem_Trait_Trait _name (sem_TraitData _data ) (sem_TraitAttrs _attrs ) (sem_TraitMeta _meta ) )+-- semantic domain+type T_Trait  = Options ->+                SymbolTables ->+                ( Doc)+sem_Trait_Trait :: Word32 ->+                   T_TraitData  ->+                   T_TraitAttrs  ->+                   T_TraitMeta  ->+                   T_Trait +sem_Trait_Trait name_ data_ attrs_ meta_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 15510 "src/PrettyTree.hs" #-}+                 )) of+          { _dataOtbls | _dataOtbls `seq` (True) ->+          (case (({-# LINE 325 "src/PrettyTree.ag" #-}+                  nameView _lhsItbls (Ref name_)+                  {-# LINE 15515 "src/PrettyTree.hs" #-}+                  )) of+           { nm_val_ | nm_val_ `seq` (True) ->+           (case ((sem_NmV nm_val_ )) of+            { nm_inst_ | nm_inst_ `seq` (True) ->+            (case (({-# LINE 326 "src/PrettyTree.ag" #-}+                    Short+                    {-# LINE 15522 "src/PrettyTree.hs" #-}+                    )) of+             { _nmOinfo | _nmOinfo `seq` (True) ->+             (case (nm_inst_ _nmOinfo ) of+              { ( _nmIisEmpty,_nmIoutput) | True ->+                  (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                          _lhsItbls+                          {-# LINE 15529 "src/PrettyTree.hs" #-}+                          )) of+                   { _attrsOtbls | _attrsOtbls `seq` (True) ->+                   (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                           _lhsIopts+                           {-# LINE 15534 "src/PrettyTree.hs" #-}+                           )) of+                    { _attrsOopts | _attrsOopts `seq` (True) ->+                    (case (attrs_ _attrsOopts _attrsOtbls ) of+                     { ( _attrsIoutput) | True ->+                         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                                 _lhsIopts+                                 {-# LINE 15541 "src/PrettyTree.hs" #-}+                                 )) of+                          { _dataOopts | _dataOopts `seq` (True) ->+                          (case (data_ _dataOopts _dataOtbls ) of+                           { ( _dataIoutput) | True ->+                               (case (({-# LINE 328 "src/PrettyTree.ag" #-}+                                       text "TRAIT" <+> _nmIoutput <+> parens (text $ show name_) <+>+                                           space <+> _attrsIoutput+                                       $+$ nest 2 _dataIoutput+                                       {-# LINE 15550 "src/PrettyTree.hs" #-}+                                       )) of+                                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                ( _lhsOoutput) }) }) }) }) }) }) }) }) }) }) }))+-- TraitAttr ---------------------------------------------------+-- cata+sem_TraitAttr :: TraitAttr  ->+                 T_TraitAttr +sem_TraitAttr (TraitAttr_Final )  =+    (sem_TraitAttr_Final )+sem_TraitAttr (TraitAttr_Metadata )  =+    (sem_TraitAttr_Metadata )+sem_TraitAttr (TraitAttr_Override )  =+    (sem_TraitAttr_Override )+-- semantic domain+type T_TraitAttr  = Options ->+                    SymbolTables ->+                    ( Doc)+sem_TraitAttr_Final :: T_TraitAttr +sem_TraitAttr_Final  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 334 "src/PrettyTree.ag" #-}+                 text "final"+                 {-# LINE 15574 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_TraitAttr_Metadata :: T_TraitAttr +sem_TraitAttr_Metadata  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 336 "src/PrettyTree.ag" #-}+                 text "metadata"+                 {-# LINE 15584 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_TraitAttr_Override :: T_TraitAttr +sem_TraitAttr_Override  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 335 "src/PrettyTree.ag" #-}+                 text "override"+                 {-# LINE 15594 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- TraitAttrs --------------------------------------------------+-- cata+sem_TraitAttrs :: TraitAttrs  ->+                  T_TraitAttrs +sem_TraitAttrs list  =+    (Prelude.foldr sem_TraitAttrs_Cons sem_TraitAttrs_Nil (Prelude.map sem_TraitAttr list) )+-- semantic domain+type T_TraitAttrs  = Options ->+                     SymbolTables ->+                     ( Doc)+sem_TraitAttrs_Cons :: T_TraitAttr  ->+                       T_TraitAttrs  ->+                       T_TraitAttrs +sem_TraitAttrs_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 15616 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 15621 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOopts | _tlOopts `seq` (True) ->+           (case (tl_ _tlOopts _tlOtbls ) of+            { ( _tlIoutput) | True ->+                (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                        _lhsItbls+                        {-# LINE 15628 "src/PrettyTree.hs" #-}+                        )) of+                 { _hdOtbls | _hdOtbls `seq` (True) ->+                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                         _lhsIopts+                         {-# LINE 15633 "src/PrettyTree.hs" #-}+                         )) of+                  { _hdOopts | _hdOopts `seq` (True) ->+                  (case (hd_ _hdOopts _hdOtbls ) of+                   { ( _hdIoutput) | True ->+                       (case (({-# LINE 332 "src/PrettyTree.ag" #-}+                               _hdIoutput <+> _tlIoutput+                               {-# LINE 15640 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        ( _lhsOoutput) }) }) }) }) }) }) }))+sem_TraitAttrs_Nil :: T_TraitAttrs +sem_TraitAttrs_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 15650 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- TraitData ---------------------------------------------------+-- cata+sem_TraitData :: TraitData  ->+                 T_TraitData +sem_TraitData (TraitData_Class _slotId _class )  =+    (sem_TraitData_Class _slotId _class )+sem_TraitData (TraitData_Const _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Const _slotId _tp _vindex (sem_ValueKind _vkind ) )+sem_TraitData (TraitData_Function _dispId _method )  =+    (sem_TraitData_Function _dispId _method )+sem_TraitData (TraitData_Getter _dispId _method )  =+    (sem_TraitData_Getter _dispId _method )+sem_TraitData (TraitData_Method _dispId _method )  =+    (sem_TraitData_Method _dispId _method )+sem_TraitData (TraitData_Setter _dispId _method )  =+    (sem_TraitData_Setter _dispId _method )+sem_TraitData (TraitData_Slot _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Slot _slotId _tp _vindex (sem_ValueKind _vkind ) )+-- semantic domain+type T_TraitData  = Options ->+                    SymbolTables ->+                    ( Doc)+sem_TraitData_Class :: Word32 ->+                       Word32 ->+                       T_TraitData +sem_TraitData_Class slotId_ class_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 367 "src/PrettyTree.ag" #-}+                 Ref class_+                 {-# LINE 15684 "src/PrettyTree.hs" #-}+                 )) of+          { _key | _key `seq` (True) ->+          (case (({-# LINE 368 "src/PrettyTree.ag" #-}+                  lookupClass _key     _lhsItbls+                  {-# LINE 15689 "src/PrettyTree.hs" #-}+                  )) of+           { _descr | _descr `seq` (True) ->+           (case (({-# LINE 371 "src/PrettyTree.ag" #-}+                   nameView _lhsItbls (clName _descr    )+                   {-# LINE 15694 "src/PrettyTree.hs" #-}+                   )) of+            { nm_val_ | nm_val_ `seq` (True) ->+            (case ((sem_NmV nm_val_ )) of+             { nm_inst_ | nm_inst_ `seq` (True) ->+             (case (({-# LINE 372 "src/PrettyTree.ag" #-}+                     Short+                     {-# LINE 15701 "src/PrettyTree.hs" #-}+                     )) of+              { _nmOinfo | _nmOinfo `seq` (True) ->+              (case (nm_inst_ _nmOinfo ) of+               { ( _nmIisEmpty,_nmIoutput) | True ->+                   (case (({-# LINE 374 "src/PrettyTree.ag" #-}+                           text "CLASS" <+> _nmIoutput+                           {-# LINE 15708 "src/PrettyTree.hs" #-}+                           )) of+                    { _lhsOoutput | _lhsOoutput `seq` (True) ->+                    ( _lhsOoutput) }) }) }) }) }) }) }))+sem_TraitData_Const :: Word32 ->+                       Word32 ->+                       Word32 ->+                       T_ValueKind  ->+                       T_TraitData +sem_TraitData_Const slotId_ tp_ vindex_ vkind_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 348 "src/PrettyTree.ag" #-}+                 nameView _lhsItbls (Ref tp_)+                 {-# LINE 15722 "src/PrettyTree.hs" #-}+                 )) of+          { nm_val_ | nm_val_ `seq` (True) ->+          (case ((sem_NmV nm_val_ )) of+           { nm_inst_ | nm_inst_ `seq` (True) ->+           (case (({-# LINE 349 "src/PrettyTree.ag" #-}+                   Short+                   {-# LINE 15729 "src/PrettyTree.hs" #-}+                   )) of+            { _nmOinfo | _nmOinfo `seq` (True) ->+            (case (({-# LINE 340 "src/PrettyTree.ag" #-}+                    text "CONST"+                    {-# LINE 15734 "src/PrettyTree.hs" #-}+                    )) of+             { _desc | _desc `seq` (True) ->+             (case (nm_inst_ _nmOinfo ) of+              { ( _nmIisEmpty,_nmIoutput) | True ->+                  (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                          _lhsItbls+                          {-# LINE 15741 "src/PrettyTree.hs" #-}+                          )) of+                   { _vkindOtbls | _vkindOtbls `seq` (True) ->+                   (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                           _lhsIopts+                           {-# LINE 15746 "src/PrettyTree.hs" #-}+                           )) of+                    { _vkindOopts | _vkindOopts `seq` (True) ->+                    (case (vkind_ _vkindOopts _vkindOtbls ) of+                     { ( _vkindIoutput) | True ->+                         (case (({-# LINE 351 "src/PrettyTree.ag" #-}+                                 _desc     <+> props+                                   [ ("slotid", num slotId_)+                                   , ("type",   _nmIoutput)+                                   , ("vindex", num vindex_)+                                   , ("vkind",  _vkindIoutput)+                                   ]+                                 {-# LINE 15758 "src/PrettyTree.hs" #-}+                                 )) of+                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                          ( _lhsOoutput) }) }) }) }) }) }) }) }) }))+sem_TraitData_Function :: Word32 ->+                          Word32 ->+                          T_TraitData +sem_TraitData_Function dispId_ method_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 359 "src/PrettyTree.ag" #-}+                 methodView _lhsItbls (Ref method_)+                 {-# LINE 15770 "src/PrettyTree.hs" #-}+                 )) of+          { m_val_ | m_val_ `seq` (True) ->+          (case ((sem_MethodV m_val_ )) of+           { m_inst_ | m_inst_ `seq` (True) ->+           (case (({-# LINE 344 "src/PrettyTree.ag" #-}+                   text "FUN"+                   {-# LINE 15777 "src/PrettyTree.hs" #-}+                   )) of+            { _desc | _desc `seq` (True) ->+            (case (({-# LINE 360 "src/PrettyTree.ag" #-}+                    Short+                    {-# LINE 15782 "src/PrettyTree.hs" #-}+                    )) of+             { _mOinfo | _mOinfo `seq` (True) ->+             (case (m_inst_ _mOinfo ) of+              { ( _mIoutput) | True ->+                  (case (({-# LINE 362 "src/PrettyTree.ag" #-}+                          _desc     <+> props+                            [ ("disp-id", num dispId_)+                            , ("method",  _mIoutput)+                            ]+                          {-# LINE 15792 "src/PrettyTree.hs" #-}+                          )) of+                   { _lhsOoutput | _lhsOoutput `seq` (True) ->+                   ( _lhsOoutput) }) }) }) }) }) }))+sem_TraitData_Getter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Getter dispId_ method_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 359 "src/PrettyTree.ag" #-}+                 methodView _lhsItbls (Ref method_)+                 {-# LINE 15804 "src/PrettyTree.hs" #-}+                 )) of+          { m_val_ | m_val_ `seq` (True) ->+          (case ((sem_MethodV m_val_ )) of+           { m_inst_ | m_inst_ `seq` (True) ->+           (case (({-# LINE 342 "src/PrettyTree.ag" #-}+                   text "GETTER"+                   {-# LINE 15811 "src/PrettyTree.hs" #-}+                   )) of+            { _desc | _desc `seq` (True) ->+            (case (({-# LINE 360 "src/PrettyTree.ag" #-}+                    Short+                    {-# LINE 15816 "src/PrettyTree.hs" #-}+                    )) of+             { _mOinfo | _mOinfo `seq` (True) ->+             (case (m_inst_ _mOinfo ) of+              { ( _mIoutput) | True ->+                  (case (({-# LINE 362 "src/PrettyTree.ag" #-}+                          _desc     <+> props+                            [ ("disp-id", num dispId_)+                            , ("method",  _mIoutput)+                            ]+                          {-# LINE 15826 "src/PrettyTree.hs" #-}+                          )) of+                   { _lhsOoutput | _lhsOoutput `seq` (True) ->+                   ( _lhsOoutput) }) }) }) }) }) }))+sem_TraitData_Method :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Method dispId_ method_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 359 "src/PrettyTree.ag" #-}+                 methodView _lhsItbls (Ref method_)+                 {-# LINE 15838 "src/PrettyTree.hs" #-}+                 )) of+          { m_val_ | m_val_ `seq` (True) ->+          (case ((sem_MethodV m_val_ )) of+           { m_inst_ | m_inst_ `seq` (True) ->+           (case (({-# LINE 341 "src/PrettyTree.ag" #-}+                   text "METHOD"+                   {-# LINE 15845 "src/PrettyTree.hs" #-}+                   )) of+            { _desc | _desc `seq` (True) ->+            (case (({-# LINE 360 "src/PrettyTree.ag" #-}+                    Short+                    {-# LINE 15850 "src/PrettyTree.hs" #-}+                    )) of+             { _mOinfo | _mOinfo `seq` (True) ->+             (case (m_inst_ _mOinfo ) of+              { ( _mIoutput) | True ->+                  (case (({-# LINE 362 "src/PrettyTree.ag" #-}+                          _desc     <+> props+                            [ ("disp-id", num dispId_)+                            , ("method",  _mIoutput)+                            ]+                          {-# LINE 15860 "src/PrettyTree.hs" #-}+                          )) of+                   { _lhsOoutput | _lhsOoutput `seq` (True) ->+                   ( _lhsOoutput) }) }) }) }) }) }))+sem_TraitData_Setter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Setter dispId_ method_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 359 "src/PrettyTree.ag" #-}+                 methodView _lhsItbls (Ref method_)+                 {-# LINE 15872 "src/PrettyTree.hs" #-}+                 )) of+          { m_val_ | m_val_ `seq` (True) ->+          (case ((sem_MethodV m_val_ )) of+           { m_inst_ | m_inst_ `seq` (True) ->+           (case (({-# LINE 343 "src/PrettyTree.ag" #-}+                   text "SETTER"+                   {-# LINE 15879 "src/PrettyTree.hs" #-}+                   )) of+            { _desc | _desc `seq` (True) ->+            (case (({-# LINE 360 "src/PrettyTree.ag" #-}+                    Short+                    {-# LINE 15884 "src/PrettyTree.hs" #-}+                    )) of+             { _mOinfo | _mOinfo `seq` (True) ->+             (case (m_inst_ _mOinfo ) of+              { ( _mIoutput) | True ->+                  (case (({-# LINE 362 "src/PrettyTree.ag" #-}+                          _desc     <+> props+                            [ ("disp-id", num dispId_)+                            , ("method",  _mIoutput)+                            ]+                          {-# LINE 15894 "src/PrettyTree.hs" #-}+                          )) of+                   { _lhsOoutput | _lhsOoutput `seq` (True) ->+                   ( _lhsOoutput) }) }) }) }) }) }))+sem_TraitData_Slot :: Word32 ->+                      Word32 ->+                      Word32 ->+                      T_ValueKind  ->+                      T_TraitData +sem_TraitData_Slot slotId_ tp_ vindex_ vkind_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 348 "src/PrettyTree.ag" #-}+                 nameView _lhsItbls (Ref tp_)+                 {-# LINE 15908 "src/PrettyTree.hs" #-}+                 )) of+          { nm_val_ | nm_val_ `seq` (True) ->+          (case ((sem_NmV nm_val_ )) of+           { nm_inst_ | nm_inst_ `seq` (True) ->+           (case (({-# LINE 349 "src/PrettyTree.ag" #-}+                   Short+                   {-# LINE 15915 "src/PrettyTree.hs" #-}+                   )) of+            { _nmOinfo | _nmOinfo `seq` (True) ->+            (case (({-# LINE 339 "src/PrettyTree.ag" #-}+                    text "SLOT"+                    {-# LINE 15920 "src/PrettyTree.hs" #-}+                    )) of+             { _desc | _desc `seq` (True) ->+             (case (nm_inst_ _nmOinfo ) of+              { ( _nmIisEmpty,_nmIoutput) | True ->+                  (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                          _lhsItbls+                          {-# LINE 15927 "src/PrettyTree.hs" #-}+                          )) of+                   { _vkindOtbls | _vkindOtbls `seq` (True) ->+                   (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                           _lhsIopts+                           {-# LINE 15932 "src/PrettyTree.hs" #-}+                           )) of+                    { _vkindOopts | _vkindOopts `seq` (True) ->+                    (case (vkind_ _vkindOopts _vkindOtbls ) of+                     { ( _vkindIoutput) | True ->+                         (case (({-# LINE 351 "src/PrettyTree.ag" #-}+                                 _desc     <+> props+                                   [ ("slotid", num slotId_)+                                   , ("type",   _nmIoutput)+                                   , ("vindex", num vindex_)+                                   , ("vkind",  _vkindIoutput)+                                   ]+                                 {-# LINE 15944 "src/PrettyTree.hs" #-}+                                 )) of+                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                          ( _lhsOoutput) }) }) }) }) }) }) }) }) }))+-- TraitKind ---------------------------------------------------+-- cata+sem_TraitKind :: TraitKind  ->+                 T_TraitKind +sem_TraitKind (TraitKind_Class )  =+    (sem_TraitKind_Class )+sem_TraitKind (TraitKind_Const )  =+    (sem_TraitKind_Const )+sem_TraitKind (TraitKind_Function )  =+    (sem_TraitKind_Function )+sem_TraitKind (TraitKind_Getter )  =+    (sem_TraitKind_Getter )+sem_TraitKind (TraitKind_Method )  =+    (sem_TraitKind_Method )+sem_TraitKind (TraitKind_Setter )  =+    (sem_TraitKind_Setter )+sem_TraitKind (TraitKind_Slot )  =+    (sem_TraitKind_Slot )+-- semantic domain+type T_TraitKind  = Options ->+                    SymbolTables ->+                    ( Doc)+sem_TraitKind_Class :: T_TraitKind +sem_TraitKind_Class  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 15976 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_TraitKind_Const :: T_TraitKind +sem_TraitKind_Const  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 15986 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_TraitKind_Function :: T_TraitKind +sem_TraitKind_Function  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 15996 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_TraitKind_Getter :: T_TraitKind +sem_TraitKind_Getter  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16006 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_TraitKind_Method :: T_TraitKind +sem_TraitKind_Method  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16016 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_TraitKind_Setter :: T_TraitKind +sem_TraitKind_Setter  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16026 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_TraitKind_Slot :: T_TraitKind +sem_TraitKind_Slot  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16036 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- TraitMeta ---------------------------------------------------+-- cata+sem_TraitMeta :: TraitMeta  ->+                 T_TraitMeta +sem_TraitMeta list  =+    (Prelude.foldr sem_TraitMeta_Cons sem_TraitMeta_Nil list )+-- semantic domain+type T_TraitMeta  = Options ->+                    SymbolTables ->+                    ( Doc)+sem_TraitMeta_Cons :: Word32 ->+                      T_TraitMeta  ->+                      T_TraitMeta +sem_TraitMeta_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 16058 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                  _lhsIopts+                  {-# LINE 16063 "src/PrettyTree.hs" #-}+                  )) of+           { _tlOopts | _tlOopts `seq` (True) ->+           (case (tl_ _tlOopts _tlOtbls ) of+            { ( _tlIoutput) | True ->+                (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                        _tlIoutput+                        {-# LINE 16070 "src/PrettyTree.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_TraitMeta_Nil :: T_TraitMeta +sem_TraitMeta_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16080 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- TraitV ------------------------------------------------------+-- cata+sem_TraitV :: TraitV  ->+              T_TraitV +sem_TraitV (TraitV_Field _nm _tp )  =+    (sem_TraitV_Field (sem_NmV _nm ) (sem_TypeV _tp ) )+sem_TraitV (TraitV_Method _nm _sig )  =+    (sem_TraitV_Method (sem_NmV _nm ) (sem_SigV _sig ) )+sem_TraitV (TraitV_Other _nm )  =+    (sem_TraitV_Other (sem_NmV _nm ) )+-- semantic domain+type T_TraitV  = PPInfo ->+                 ( Doc)+sem_TraitV_Field :: T_NmV  ->+                    T_TypeV  ->+                    T_TraitV +sem_TraitV_Field nm_ tp_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 16104 "src/PrettyTree.hs" #-}+                 )) of+          { _tpOinfo | _tpOinfo `seq` (True) ->+          (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                  _lhsIinfo+                  {-# LINE 16109 "src/PrettyTree.hs" #-}+                  )) of+           { _nmOinfo | _nmOinfo `seq` (True) ->+           (case (tp_ _tpOinfo ) of+            { ( _tpIoutput) | True ->+                (case (nm_ _nmOinfo ) of+                 { ( _nmIisEmpty,_nmIoutput) | True ->+                     (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                             _nmIoutput $+$ _tpIoutput+                             {-# LINE 16118 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+sem_TraitV_Method :: T_NmV  ->+                     T_SigV  ->+                     T_TraitV +sem_TraitV_Method nm_ sig_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 16129 "src/PrettyTree.hs" #-}+                 )) of+          { _nmOinfo | _nmOinfo `seq` (True) ->+          (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                  _lhsIinfo+                  {-# LINE 16134 "src/PrettyTree.hs" #-}+                  )) of+           { _sigOinfo | _sigOinfo `seq` (True) ->+           (case (sig_ _sigOinfo ) of+            { ( _sigIoutput) | True ->+                (case (nm_ _nmOinfo ) of+                 { ( _nmIisEmpty,_nmIoutput) | True ->+                     (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                             _nmIoutput $+$ _sigIoutput+                             {-# LINE 16143 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+sem_TraitV_Other :: T_NmV  ->+                    T_TraitV +sem_TraitV_Other nm_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 16153 "src/PrettyTree.hs" #-}+                 )) of+          { _nmOinfo | _nmOinfo `seq` (True) ->+          (case (nm_ _nmOinfo ) of+           { ( _nmIisEmpty,_nmIoutput) | True ->+               (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                       _nmIoutput+                       {-# LINE 16160 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }))+-- Traits ------------------------------------------------------+-- cata+sem_Traits :: Traits  ->+              T_Traits +sem_Traits list  =+    (Prelude.foldr sem_Traits_Cons sem_Traits_Nil (Prelude.map sem_Trait list) )+-- semantic domain+type T_Traits  = Options ->+                 SymbolTables ->+                 ( Doc)+sem_Traits_Cons :: T_Trait  ->+                   T_Traits  ->+                   T_Traits +sem_Traits_Cons hd_ tl_  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                 _lhsItbls+                 {-# LINE 16182 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (({-# LINE 51 "src/PrettyTree.ag" #-}+                  _lhsItbls+                  {-# LINE 16187 "src/PrettyTree.hs" #-}+                  )) of+           { _hdOtbls | _hdOtbls `seq` (True) ->+           (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                   _lhsIopts+                   {-# LINE 16192 "src/PrettyTree.hs" #-}+                   )) of+            { _tlOopts | _tlOopts `seq` (True) ->+            (case (tl_ _tlOopts _tlOtbls ) of+             { ( _tlIoutput) | True ->+                 (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                         _lhsIopts+                         {-# LINE 16199 "src/PrettyTree.hs" #-}+                         )) of+                  { _hdOopts | _hdOopts `seq` (True) ->+                  (case (hd_ _hdOopts _hdOtbls ) of+                   { ( _hdIoutput) | True ->+                       (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                               _hdIoutput $+$ _tlIoutput+                               {-# LINE 16206 "src/PrettyTree.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        ( _lhsOoutput) }) }) }) }) }) }) }))+sem_Traits_Nil :: T_Traits +sem_Traits_Nil  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16216 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- TraitsV -----------------------------------------------------+-- cata+sem_TraitsV :: TraitsV  ->+               T_TraitsV +sem_TraitsV list  =+    (Prelude.foldr sem_TraitsV_Cons sem_TraitsV_Nil (Prelude.map sem_TraitV list) )+-- semantic domain+type T_TraitsV  = PPInfo ->+                  ( Doc)+sem_TraitsV_Cons :: T_TraitV  ->+                    T_TraitsV  ->+                    T_TraitsV +sem_TraitsV_Cons hd_ tl_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 16236 "src/PrettyTree.hs" #-}+                 )) of+          { _tlOinfo | _tlOinfo `seq` (True) ->+          (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                  _lhsIinfo+                  {-# LINE 16241 "src/PrettyTree.hs" #-}+                  )) of+           { _hdOinfo | _hdOinfo `seq` (True) ->+           (case (tl_ _tlOinfo ) of+            { ( _tlIoutput) | True ->+                (case (hd_ _hdOinfo ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                             _hdIoutput $+$ _tlIoutput+                             {-# LINE 16250 "src/PrettyTree.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      ( _lhsOoutput) }) }) }) }) }))+sem_TraitsV_Nil :: T_TraitsV +sem_TraitsV_Nil  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16259 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+-- TypeV -------------------------------------------------------+-- cata+sem_TypeV :: TypeV  ->+             T_TypeV +sem_TypeV (TypeV_Type _isNull _nm )  =+    (sem_TypeV_Type _isNull (sem_NmV _nm ) )+-- semantic domain+type T_TypeV  = PPInfo ->+                ( Doc)+sem_TypeV_Type :: Bool ->+                  T_NmV  ->+                  T_TypeV +sem_TypeV_Type isNull_ nm_  =+    (\ _lhsIinfo ->+         (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                 _lhsIinfo+                 {-# LINE 16279 "src/PrettyTree.hs" #-}+                 )) of+          { _nmOinfo | _nmOinfo `seq` (True) ->+          (case (nm_ _nmOinfo ) of+           { ( _nmIisEmpty,_nmIoutput) | True ->+               (case (({-# LINE 197 "src/PrettyTree.ag" #-}+                       _nmIoutput+                       {-# LINE 16286 "src/PrettyTree.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }))+-- ValueKind ---------------------------------------------------+-- cata+sem_ValueKind :: ValueKind  ->+                 T_ValueKind +sem_ValueKind (ValueKind_Double )  =+    (sem_ValueKind_Double )+sem_ValueKind (ValueKind_Explicit )  =+    (sem_ValueKind_Explicit )+sem_ValueKind (ValueKind_False )  =+    (sem_ValueKind_False )+sem_ValueKind (ValueKind_Int )  =+    (sem_ValueKind_Int )+sem_ValueKind (ValueKind_Internal )  =+    (sem_ValueKind_Internal )+sem_ValueKind (ValueKind_Namespace )  =+    (sem_ValueKind_Namespace )+sem_ValueKind (ValueKind_Null )  =+    (sem_ValueKind_Null )+sem_ValueKind (ValueKind_Package )  =+    (sem_ValueKind_Package )+sem_ValueKind (ValueKind_Private )  =+    (sem_ValueKind_Private )+sem_ValueKind (ValueKind_Protected )  =+    (sem_ValueKind_Protected )+sem_ValueKind (ValueKind_Static )  =+    (sem_ValueKind_Static )+sem_ValueKind (ValueKind_True )  =+    (sem_ValueKind_True )+sem_ValueKind (ValueKind_UInt )  =+    (sem_ValueKind_UInt )+sem_ValueKind (ValueKind_Undefined )  =+    (sem_ValueKind_Undefined )+sem_ValueKind (ValueKind_Utf8 )  =+    (sem_ValueKind_Utf8 )+-- semantic domain+type T_ValueKind  = Options ->+                    SymbolTables ->+                    ( Doc)+sem_ValueKind_Double :: T_ValueKind +sem_ValueKind_Double  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16334 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_Explicit :: T_ValueKind +sem_ValueKind_Explicit  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16344 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_False :: T_ValueKind +sem_ValueKind_False  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16354 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_Int :: T_ValueKind +sem_ValueKind_Int  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16364 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_Internal :: T_ValueKind +sem_ValueKind_Internal  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16374 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_Namespace :: T_ValueKind +sem_ValueKind_Namespace  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16384 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_Null :: T_ValueKind +sem_ValueKind_Null  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16394 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_Package :: T_ValueKind +sem_ValueKind_Package  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16404 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_Private :: T_ValueKind +sem_ValueKind_Private  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16414 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_Protected :: T_ValueKind +sem_ValueKind_Protected  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16424 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_Static :: T_ValueKind +sem_ValueKind_Static  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16434 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_True :: T_ValueKind +sem_ValueKind_True  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16444 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_UInt :: T_ValueKind +sem_ValueKind_UInt  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16454 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_Undefined :: T_ValueKind +sem_ValueKind_Undefined  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16464 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))+sem_ValueKind_Utf8 :: T_ValueKind +sem_ValueKind_Utf8  =+    (\ _lhsIopts+       _lhsItbls ->+         (case (({-# LINE 40 "src/PrettyTree.ag" #-}+                 empty+                 {-# LINE 16474 "src/PrettyTree.hs" #-}+                 )) of+          { _lhsOoutput | _lhsOoutput `seq` (True) ->+          ( _lhsOoutput) }))
+ dist/build/SymView.hs view
@@ -0,0 +1,161 @@+++-- UUAGC 0.9.36 (src/SymView.ag)+module SymView where++{-# LINE 6 "src/SymView.ag" #-}++import Data.Word+import ProgInfo+import Data.Maybe+{-# LINE 12 "dist/src/sdist.27680/asil-1.2/dist/build/SymView.hs" #-}+{-# LINE 17 "src/SymView.ag" #-}+++tablesView :: [SymbolTables] -> FileV+tablesView tbls = FileV_File $ map tableView tbls++tableView :: SymbolTables -> TableV+tableView tbls = TableV_Table classes methods where+  classes = map (classView tbls) (map Ref $ keysEnv $ tableClasses tbls)+  methods = map (methodView tbls) (map Ref $ keysEnv $ tableSigs tbls)+++classView :: SymbolTables -> ClassRef -> ClassV+classView tbls ref = res where+  c         = lookupClass ref tbls+  nm        = nameView tbls (clName c)+  mbSuper   = fmap (SuperV_Super . TypeV_Type (refNull $ fromJust $ clSuper c)) $ mbNameView tbls $ clSuper c+  itfs      = map (\tpRef -> ItfV_Itf $ TypeV_Type (refNull tpRef) $ nameView tbls tpRef) (clInterfaces c)+  dynTraits = map (traitView tbls) (clDynTraits c)+  staTraits = map (traitView tbls) (clStaTraits c)+  res       = ClassV_Class ref nm mbSuper itfs dynTraits staTraits++traitView :: SymbolTables -> TraitDescr -> TraitV+traitView tbls tr = case trData tr of+  TraitMethod mRef -> TraitV_Method nm $ sigView tbls mRef+  TraitField tpRef -> TraitV_Field nm $ TypeV_Type (refNull tpRef) $ nameView tbls tpRef+  TraitClass _     -> TraitV_Other nm+  where nm = nameView tbls (trName tr)+++methodView :: SymbolTables -> MethodRef -> MethodV+methodView tbls ref = res where+  m    = lookupMethod ref tbls+  mbNm = mbStringView tbls $ sigName m+  sig  = sigView' tbls ref m+  res  = MethodV_Method mbNm sig++sigView :: SymbolTables -> MethodRef -> SigV+sigView tbls ref = sigView' tbls ref m where+  m    = lookupMethod ref tbls++sigView' :: SymbolTables -> MethodRef -> Sig -> SigV+sigView' tbls ref m = res where+  mbNm = mbStringView tbls $ sigName m+  tRef = sigReturn m+  ret  = TypeV_Type (refNull tRef) $ nameView tbls tRef+  ps   = map (paramView tbls) (sigParams m)+  res  = SigV_Sig ref ret ps++paramView :: SymbolTables -> SigParam -> ParamV+paramView tbls p = ParamV_Param (mbStringView tbls $ spName p) (TypeV_Type (refNull tpRef) $ nameView tbls tpRef)+  where tpRef = spType p+++mbNameView :: SymbolTables -> Maybe NameRef -> MbNmV+mbNameView tbls = maybe Nothing (Just . nameView tbls)++nameView :: SymbolTables -> NameRef -> NmV+nameView tbls ref = case nmStr nm of+  Nothing -> NmV_Other ref+  Just strRef -> case nmQual nm of+    QualNs nsRef -> NmV_Qual ref (namespaceView tbls nsRef) (stringView tbls strRef)+    QualNss sRef -> case nsSpaces $ lookupNameset sRef tbls of+      [nsRef]    -> NmV_Qual ref (namespaceView tbls nsRef) (stringView tbls strRef)+      _          -> NmV_Quals ref (namesetsView tbls  sRef) (stringView tbls strRef)+    _            -> NmV_Other ref+ where nm = lookupName ref tbls++mbStringView :: SymbolTables -> Maybe StringRef -> MbStrV+mbStringView tbls = maybe Nothing (Just . stringView tbls)++stringView :: SymbolTables -> StringRef -> StrV+stringView tbls ref = StrV_Str ref (lookupString ref tbls)++namespaceView :: SymbolTables -> NamespaceRef -> NsV+namespaceView tbls ref = NsV_Ns ref (stringView tbls $ nsName $ lookupNamespace ref tbls)++namesetsView :: SymbolTables -> NamesetRef -> NsSetV+namesetsView tbls ref = NsSetV_Set ref views where+  spaces = nsSpaces $ lookupNameset ref tbls+  views  = map (namespaceView tbls) spaces+{-# LINE 94 "dist/src/sdist.27680/asil-1.2/dist/build/SymView.hs" #-}+-- ClassV ------------------------------------------------------+data ClassV  = ClassV_Class !(ClassRef) !(NmV ) !(MbSuperV ) !(ItfsV ) !(TraitsV ) !(TraitsV ) +             deriving ( Eq,Show)+-- ClassesV ----------------------------------------------------+type ClassesV  = [ClassV ]+-- FileV -------------------------------------------------------+data FileV  = FileV_File !(TablesV ) +            deriving ( Eq,Show)+-- ItfV --------------------------------------------------------+data ItfV  = ItfV_Itf !(TypeV ) +           deriving ( Eq,Show)+-- ItfsV -------------------------------------------------------+type ItfsV  = [ItfV ]+-- MbNmV -------------------------------------------------------+type MbNmV  = Maybe NmV +-- MbStrV ------------------------------------------------------+type MbStrV  = Maybe StrV +-- MbSuperV ----------------------------------------------------+type MbSuperV  = Maybe SuperV +-- MethodV -----------------------------------------------------+data MethodV  = MethodV_Method !(MbStrV ) !(SigV ) +              deriving ( Eq,Show)+-- MethodsV ----------------------------------------------------+type MethodsV  = [MethodV ]+-- NmV ---------------------------------------------------------+data NmV  = NmV_Other !(NameRef) +          | NmV_Qual !(NameRef) !(NsV ) !(StrV ) +          | NmV_Quals !(NameRef) !(NsSetV ) !(StrV ) +          deriving ( Eq,Show)+-- NmsV --------------------------------------------------------+type NmsV  = [NmV ]+-- NsSetV ------------------------------------------------------+data NsSetV  = NsSetV_Set !(NamesetRef) !(NssV ) +             deriving ( Eq,Show)+-- NsV ---------------------------------------------------------+data NsV  = NsV_Ns !(NamespaceRef) !(StrV ) +          deriving ( Eq,Show)+-- NssV --------------------------------------------------------+type NssV  = [NsV ]+-- ParamV ------------------------------------------------------+data ParamV  = ParamV_Param !(MbStrV ) !(TypeV ) +             deriving ( Eq,Show)+-- ParamsV -----------------------------------------------------+type ParamsV  = [ParamV ]+-- SigV --------------------------------------------------------+data SigV  = SigV_Sig !(MethodRef) !(TypeV ) !(ParamsV ) +           deriving ( Eq,Show)+-- StrV --------------------------------------------------------+data StrV  = StrV_Str !(StringRef) !(String) +           deriving ( Eq,Show)+-- SuperV ------------------------------------------------------+data SuperV  = SuperV_Super !(TypeV ) +             deriving ( Eq,Show)+-- TableV ------------------------------------------------------+data TableV  = TableV_Table !(ClassesV ) !(MethodsV ) +             deriving ( Eq,Show)+-- TablesV -----------------------------------------------------+type TablesV  = [TableV ]+-- TraitV ------------------------------------------------------+data TraitV  = TraitV_Field !(NmV ) !(TypeV ) +             | TraitV_Method !(NmV ) !(SigV ) +             | TraitV_Other !(NmV ) +             deriving ( Eq,Show)+-- TraitsV -----------------------------------------------------+type TraitsV  = [TraitV ]+-- TypeV -------------------------------------------------------+data TypeV  = TypeV_Type !(Bool) !(NmV ) +            deriving ( Eq,Show)
+ dist/build/SymbolTables.hs view
@@ -0,0 +1,3219 @@+++-- UUAGC 0.9.36 (src/SymbolTables.ag)+module SymbolTables(symInfoAbc, symInfoSwf) where++{-# LINE 16 "src/SymbolTables.ag" #-}++import Data.ByteString.Lazy(ByteString,unpack)+import ByteCode+import Data.Monoid+import Data.Word+import qualified Data.Set as Set+import Data.Set(Set)+import qualified Data.Map as Map+import Data.Map(Map)+import Codec.Binary.UTF8.String+import Env+import ProgInfo+{-# LINE 20 "dist/src/sdist.27680/asil-1.2/dist/build/SymbolTables.hs" #-}+{-# LINE 34 "src/SymbolTables.ag" #-}++-- | Extracts symbol tables from an Abc module+symInfoAbc :: AbcFile -> SymbolTables+symInfoAbc abc = tables_Syn_AbcFile syn where+  inh = Inh_AbcFile {}+  sem = sem_AbcFile abc+  syn = wrap_AbcFile sem inh++-- | Extracts all symbol tables from a flash file+symInfoSwf :: SwfFile -> [SymbolTables]+symInfoSwf swf = allTables_Syn_SwfFile syn where+  inh = Inh_SwfFile {}+  sem = sem_SwfFile swf+  syn = wrap_SwfFile sem inh+{-# LINE 36 "dist/src/sdist.27680/asil-1.2/dist/build/SymbolTables.hs" #-}+-- AbcFile -----------------------------------------------------+-- cata+sem_AbcFile :: AbcFile  ->+               T_AbcFile +sem_AbcFile (AbcFile_File _minorVersion _majorVersion _constantPool _methods _metadatas _instances _classes _scripts _bodies )  =+    (sem_AbcFile_File _minorVersion _majorVersion (sem_PoolInfo _constantPool ) (sem_MethodInfos _methods ) (sem_MetaInfos _metadatas ) (sem_InstanceInfos _instances ) (sem_ClassInfos _classes ) (sem_ScriptInfos _scripts ) (sem_BodyInfos _bodies ) )+-- semantic domain+type T_AbcFile  = ( ([SymbolTables]),SymbolTables)+data Inh_AbcFile  = Inh_AbcFile {}+data Syn_AbcFile  = Syn_AbcFile {allTables_Syn_AbcFile :: !(([SymbolTables])),tables_Syn_AbcFile :: !(SymbolTables)}+wrap_AbcFile :: T_AbcFile  ->+                Inh_AbcFile  ->+                Syn_AbcFile +wrap_AbcFile sem (Inh_AbcFile )  =+    (let ( _lhsOallTables,_lhsOtables) | True = sem +     in  (Syn_AbcFile _lhsOallTables _lhsOtables ))+sem_AbcFile_File :: Word16 ->+                    Word16 ->+                    T_PoolInfo  ->+                    T_MethodInfos  ->+                    T_MetaInfos  ->+                    T_InstanceInfos  ->+                    T_ClassInfos  ->+                    T_ScriptInfos  ->+                    T_BodyInfos  ->+                    T_AbcFile +sem_AbcFile_File minorVersion_ majorVersion_ constantPool_ methods_ metadatas_ instances_ classes_ scripts_ bodies_  =+    (case (({-# LINE 185 "src/SymbolTables.ag" #-}+            0+            {-# LINE 66 "src/SymbolTables.hs" #-}+            )) of+     { _classesOindex | _classesOindex `seq` (True) ->+     (case (({-# LINE 184 "src/SymbolTables.ag" #-}+             0+             {-# LINE 71 "src/SymbolTables.hs" #-}+             )) of+      { _instancesOindex | _instancesOindex `seq` (True) ->+      (case (classes_ _classesOindex ) of+       { ( _classesIgathTraits) | True ->+           (case (instances_ _instancesOindex ) of+            { ( _instancesIgathInsts) | True ->+                (case (({-# LINE 180 "src/SymbolTables.ag" #-}+                        mapEnv (\n c -> c { clStaTraits = Map.findWithDefault [] n _classesIgathTraits }) _instancesIgathInsts+                        {-# LINE 80 "src/SymbolTables.hs" #-}+                        )) of+                 { _classInfos | _classInfos `seq` (True) ->+                 (case (({-# LINE 158 "src/SymbolTables.ag" #-}+                         0+                         {-# LINE 85 "src/SymbolTables.hs" #-}+                         )) of+                  { _methodsOsigIndex | _methodsOsigIndex `seq` (True) ->+                  (case (constantPool_ ) of+                   { ( _constantPoolIgathDoublePool,_constantPoolIgathIntPool,_constantPoolIgathNamePool,_constantPoolIgathNamesetsPool,_constantPoolIgathNamespacePool,_constantPoolIgathStringPool,_constantPoolIgathUIntPool) | True ->+                       (case (({-# LINE 149 "src/SymbolTables.ag" #-}+                               singleEnv 0 (Namespace $ Ref 0) `mappend` _constantPoolIgathNamespacePool+                               {-# LINE 92 "src/SymbolTables.hs" #-}+                               )) of+                        { _spacesPool | _spacesPool `seq` (True) ->+                        (case (({-# LINE 132 "src/SymbolTables.ag" #-}+                                singleEnv 0 (Nameset []) `mappend` _constantPoolIgathNamesetsPool+                                {-# LINE 97 "src/SymbolTables.hs" #-}+                                )) of+                         { _setsPool | _setsPool `seq` (True) ->+                         (case (({-# LINE 113 "src/SymbolTables.ag" #-}+                                 singleEnv 0 (Name (QualNs $ Ref 0) (Just $ Ref 0)) `mappend` _constantPoolIgathNamePool+                                 {-# LINE 102 "src/SymbolTables.hs" #-}+                                 )) of+                          { _namePool | _namePool `seq` (True) ->+                          (case (({-# LINE 90 "src/SymbolTables.ag" #-}+                                  singleEnv 0 "" `mappend` _constantPoolIgathStringPool+                                  {-# LINE 107 "src/SymbolTables.hs" #-}+                                  )) of+                           { _stringPool | _stringPool `seq` (True) ->+                           (case (({-# LINE 89 "src/SymbolTables.ag" #-}+                                   singleEnv 0 0 `mappend` _constantPoolIgathDoublePool+                                   {-# LINE 112 "src/SymbolTables.hs" #-}+                                   )) of+                            { _doublePool | _doublePool `seq` (True) ->+                            (case (({-# LINE 88 "src/SymbolTables.ag" #-}+                                    singleEnv 0 0 `mappend` _constantPoolIgathUIntPool+                                    {-# LINE 117 "src/SymbolTables.hs" #-}+                                    )) of+                             { _uintPool | _uintPool `seq` (True) ->+                             (case (({-# LINE 87 "src/SymbolTables.ag" #-}+                                     singleEnv 0 0 `mappend` _constantPoolIgathIntPool+                                     {-# LINE 122 "src/SymbolTables.hs" #-}+                                     )) of+                              { _intPool | _intPool `seq` (True) ->+                              (case (methods_ _methodsOsigIndex ) of+                               { ( _methodsIgathSigs) | True ->+                                   (case (({-# LINE 57 "src/SymbolTables.ag" #-}+                                           SymbolTables _intPool     _uintPool     _doublePool     _stringPool     _namePool+                                              _spacesPool     _setsPool     _methodsIgathSigs _classInfos+                                           {-# LINE 130 "src/SymbolTables.hs" #-}+                                           )) of+                                    { _tables | _tables `seq` (True) ->+                                    (case (({-# LINE 61 "src/SymbolTables.ag" #-}+                                            [_tables    ]+                                            {-# LINE 135 "src/SymbolTables.hs" #-}+                                            )) of+                                     { _allTables | _allTables `seq` (True) ->+                                     (case (({-# LINE 60 "src/SymbolTables.ag" #-}+                                             _allTables+                                             {-# LINE 140 "src/SymbolTables.hs" #-}+                                             )) of+                                      { _lhsOallTables | _lhsOallTables `seq` (True) ->+                                      (case (({-# LINE 55 "src/SymbolTables.ag" #-}+                                              _tables+                                              {-# LINE 145 "src/SymbolTables.hs" #-}+                                              )) of+                                       { _lhsOtables | _lhsOtables `seq` (True) ->+                                       ( _lhsOallTables,_lhsOtables) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) })+-- AbcFlag -----------------------------------------------------+-- cata+sem_AbcFlag :: AbcFlag  ->+               T_AbcFlag +sem_AbcFlag (AbcFlag_LazyInit )  =+    (sem_AbcFlag_LazyInit )+-- semantic domain+type T_AbcFlag  = ( )+sem_AbcFlag_LazyInit :: T_AbcFlag +sem_AbcFlag_LazyInit  =+    ( )+-- AbcFlags ----------------------------------------------------+-- cata+sem_AbcFlags :: AbcFlags  ->+                T_AbcFlags +sem_AbcFlags list  =+    (Prelude.foldr sem_AbcFlags_Cons sem_AbcFlags_Nil (Prelude.map sem_AbcFlag list) )+-- semantic domain+type T_AbcFlags  = ( )+sem_AbcFlags_Cons :: T_AbcFlag  ->+                     T_AbcFlags  ->+                     T_AbcFlags +sem_AbcFlags_Cons hd_ tl_  =+    ( )+sem_AbcFlags_Nil :: T_AbcFlags +sem_AbcFlags_Nil  =+    ( )+-- BodyInfo ----------------------------------------------------+-- cata+sem_BodyInfo :: BodyInfo  ->+                T_BodyInfo +sem_BodyInfo (BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth _instructions _exceptions _traits )  =+    (sem_BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth (sem_Instructions _instructions ) (sem_Exceptions _exceptions ) (sem_Traits _traits ) )+-- semantic domain+type T_BodyInfo  = ( )+sem_BodyInfo_Info :: Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     T_Instructions  ->+                     T_Exceptions  ->+                     T_Traits  ->+                     T_BodyInfo +sem_BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ instructions_ exceptions_ traits_  =+    ( )+-- BodyInfos ---------------------------------------------------+-- cata+sem_BodyInfos :: BodyInfos  ->+                 T_BodyInfos +sem_BodyInfos list  =+    (Prelude.foldr sem_BodyInfos_Cons sem_BodyInfos_Nil (Prelude.map sem_BodyInfo list) )+-- semantic domain+type T_BodyInfos  = ( )+sem_BodyInfos_Cons :: T_BodyInfo  ->+                      T_BodyInfos  ->+                      T_BodyInfos +sem_BodyInfos_Cons hd_ tl_  =+    ( )+sem_BodyInfos_Nil :: T_BodyInfos +sem_BodyInfos_Nil  =+    ( )+-- CaseOffsets -------------------------------------------------+-- cata+sem_CaseOffsets :: CaseOffsets  ->+                   T_CaseOffsets +sem_CaseOffsets list  =+    (Prelude.foldr sem_CaseOffsets_Cons sem_CaseOffsets_Nil list )+-- semantic domain+type T_CaseOffsets  = ( )+sem_CaseOffsets_Cons :: Word32 ->+                        T_CaseOffsets  ->+                        T_CaseOffsets +sem_CaseOffsets_Cons hd_ tl_  =+    ( )+sem_CaseOffsets_Nil :: T_CaseOffsets +sem_CaseOffsets_Nil  =+    ( )+-- ClassInfo ---------------------------------------------------+-- cata+sem_ClassInfo :: ClassInfo  ->+                 T_ClassInfo +sem_ClassInfo (ClassInfo_Info _con _traits )  =+    (sem_ClassInfo_Info _con (sem_Traits _traits ) )+-- semantic domain+type T_ClassInfo  = ( TraitDescrs)+sem_ClassInfo_Info :: Word32 ->+                      T_Traits  ->+                      T_ClassInfo +sem_ClassInfo_Info con_ traits_  =+    (case (traits_ ) of+     { ( _traitsIgathInfos) | True ->+         (case (({-# LINE 210 "src/SymbolTables.ag" #-}+                 _traitsIgathInfos+                 {-# LINE 243 "src/SymbolTables.hs" #-}+                 )) of+          { _lhsOgathInfos | _lhsOgathInfos `seq` (True) ->+          ( _lhsOgathInfos) }) })+-- ClassInfos --------------------------------------------------+-- cata+sem_ClassInfos :: ClassInfos  ->+                  T_ClassInfos +sem_ClassInfos list  =+    (Prelude.foldr sem_ClassInfos_Cons sem_ClassInfos_Nil (Prelude.map sem_ClassInfo list) )+-- semantic domain+type T_ClassInfos  = Word32 ->+                     ( (Map Word32 TraitDescrs))+sem_ClassInfos_Cons :: T_ClassInfo  ->+                       T_ClassInfos  ->+                       T_ClassInfos +sem_ClassInfos_Cons hd_ tl_  =+    (\ _lhsIindex ->+         (case (({-# LINE 188 "src/SymbolTables.ag" #-}+                 1 + _lhsIindex+                 {-# LINE 263 "src/SymbolTables.hs" #-}+                 )) of+          { _tlOindex | _tlOindex `seq` (True) ->+          (case (tl_ _tlOindex ) of+           { ( _tlIgathTraits) | True ->+               (case (hd_ ) of+                { ( _hdIgathInfos) | True ->+                    (case (({-# LINE 207 "src/SymbolTables.ag" #-}+                            Map.insert _lhsIindex _hdIgathInfos _tlIgathTraits+                            {-# LINE 272 "src/SymbolTables.hs" #-}+                            )) of+                     { _lhsOgathTraits | _lhsOgathTraits `seq` (True) ->+                     ( _lhsOgathTraits) }) }) }) }))+sem_ClassInfos_Nil :: T_ClassInfos +sem_ClassInfos_Nil  =+    (\ _lhsIindex ->+         (case (({-# LINE 206 "src/SymbolTables.ag" #-}+                 mempty+                 {-# LINE 281 "src/SymbolTables.hs" #-}+                 )) of+          { _lhsOgathTraits | _lhsOgathTraits `seq` (True) ->+          ( _lhsOgathTraits) }))+-- DebugType ---------------------------------------------------+-- cata+sem_DebugType :: DebugType  ->+                 T_DebugType +sem_DebugType (DebugType_Local )  =+    (sem_DebugType_Local )+-- semantic domain+type T_DebugType  = ( )+sem_DebugType_Local :: T_DebugType +sem_DebugType_Local  =+    ( )+-- Exception ---------------------------------------------------+-- cata+sem_Exception :: Exception  ->+                 T_Exception +sem_Exception (Exception_Info _from _to _target _tp _name )  =+    (sem_Exception_Info _from _to _target _tp _name )+-- semantic domain+type T_Exception  = ( )+sem_Exception_Info :: Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      T_Exception +sem_Exception_Info from_ to_ target_ tp_ name_  =+    ( )+-- Exceptions --------------------------------------------------+-- cata+sem_Exceptions :: Exceptions  ->+                  T_Exceptions +sem_Exceptions list  =+    (Prelude.foldr sem_Exceptions_Cons sem_Exceptions_Nil (Prelude.map sem_Exception list) )+-- semantic domain+type T_Exceptions  = ( )+sem_Exceptions_Cons :: T_Exception  ->+                       T_Exceptions  ->+                       T_Exceptions +sem_Exceptions_Cons hd_ tl_  =+    ( )+sem_Exceptions_Nil :: T_Exceptions +sem_Exceptions_Nil  =+    ( )+-- InstanceFlag ------------------------------------------------+-- cata+sem_InstanceFlag :: InstanceFlag  ->+                    T_InstanceFlag +sem_InstanceFlag (InstanceFlag_ClassFinal )  =+    (sem_InstanceFlag_ClassFinal )+sem_InstanceFlag (InstanceFlag_ClassInterface )  =+    (sem_InstanceFlag_ClassInterface )+sem_InstanceFlag (InstanceFlag_ClassProtected )  =+    (sem_InstanceFlag_ClassProtected )+sem_InstanceFlag (InstanceFlag_ClassSealed )  =+    (sem_InstanceFlag_ClassSealed )+-- semantic domain+type T_InstanceFlag  = ( )+sem_InstanceFlag_ClassFinal :: T_InstanceFlag +sem_InstanceFlag_ClassFinal  =+    ( )+sem_InstanceFlag_ClassInterface :: T_InstanceFlag +sem_InstanceFlag_ClassInterface  =+    ( )+sem_InstanceFlag_ClassProtected :: T_InstanceFlag +sem_InstanceFlag_ClassProtected  =+    ( )+sem_InstanceFlag_ClassSealed :: T_InstanceFlag +sem_InstanceFlag_ClassSealed  =+    ( )+-- InstanceFlags -----------------------------------------------+-- cata+sem_InstanceFlags :: InstanceFlags  ->+                     T_InstanceFlags +sem_InstanceFlags list  =+    (Prelude.foldr sem_InstanceFlags_Cons sem_InstanceFlags_Nil (Prelude.map sem_InstanceFlag list) )+-- semantic domain+type T_InstanceFlags  = ( )+sem_InstanceFlags_Cons :: T_InstanceFlag  ->+                          T_InstanceFlags  ->+                          T_InstanceFlags +sem_InstanceFlags_Cons hd_ tl_  =+    ( )+sem_InstanceFlags_Nil :: T_InstanceFlags +sem_InstanceFlags_Nil  =+    ( )+-- InstanceInfo ------------------------------------------------+-- cata+sem_InstanceInfo :: InstanceInfo  ->+                    T_InstanceInfo +sem_InstanceInfo (InstanceInfo_Info _name _super _flags _protectedNs _interfaces _constructor _traits )  =+    (sem_InstanceInfo_Info _name _super (sem_InstanceFlags _flags ) _protectedNs (sem_Interfaces _interfaces ) _constructor (sem_Traits _traits ) )+-- semantic domain+type T_InstanceInfo  = ( ClassDescr)+sem_InstanceInfo_Info :: Word32 ->+                         Word32 ->+                         T_InstanceFlags  ->+                         Word32 ->+                         T_Interfaces  ->+                         Word32 ->+                         T_Traits  ->+                         T_InstanceInfo +sem_InstanceInfo_Info name_ super_ flags_ protectedNs_ interfaces_ constructor_ traits_  =+    (case (traits_ ) of+     { ( _traitsIgathInfos) | True ->+         (case (interfaces_ ) of+          { ( _interfacesIitfs) | True ->+              (case (({-# LINE 198 "src/SymbolTables.ag" #-}+                      ClassDescr (Ref name_) (if super_ /= 0 then Just $ Ref super_ else Nothing) (map Ref _interfacesIitfs) _traitsIgathInfos []+                      {-# LINE 393 "src/SymbolTables.hs" #-}+                      )) of+               { _lhsOclassInfo | _lhsOclassInfo `seq` (True) ->+               ( _lhsOclassInfo) }) }) })+-- InstanceInfos -----------------------------------------------+-- cata+sem_InstanceInfos :: InstanceInfos  ->+                     T_InstanceInfos +sem_InstanceInfos list  =+    (Prelude.foldr sem_InstanceInfos_Cons sem_InstanceInfos_Nil (Prelude.map sem_InstanceInfo list) )+-- semantic domain+type T_InstanceInfos  = Word32 ->+                        ( ClassDescrs)+sem_InstanceInfos_Cons :: T_InstanceInfo  ->+                          T_InstanceInfos  ->+                          T_InstanceInfos +sem_InstanceInfos_Cons hd_ tl_  =+    (\ _lhsIindex ->+         (case (({-# LINE 187 "src/SymbolTables.ag" #-}+                 1 + _lhsIindex+                 {-# LINE 413 "src/SymbolTables.hs" #-}+                 )) of+          { _tlOindex | _tlOindex `seq` (True) ->+          (case (tl_ _tlOindex ) of+           { ( _tlIgathInsts) | True ->+               (case (hd_ ) of+                { ( _hdIclassInfo) | True ->+                    (case (({-# LINE 194 "src/SymbolTables.ag" #-}+                            singleEnv _lhsIindex _hdIclassInfo `mappend` _tlIgathInsts+                            {-# LINE 422 "src/SymbolTables.hs" #-}+                            )) of+                     { _lhsOgathInsts | _lhsOgathInsts `seq` (True) ->+                     ( _lhsOgathInsts) }) }) }) }))+sem_InstanceInfos_Nil :: T_InstanceInfos +sem_InstanceInfos_Nil  =+    (\ _lhsIindex ->+         (case (({-# LINE 193 "src/SymbolTables.ag" #-}+                 mempty+                 {-# LINE 431 "src/SymbolTables.hs" #-}+                 )) of+          { _lhsOgathInsts | _lhsOgathInsts `seq` (True) ->+          ( _lhsOgathInsts) }))+-- Instruction -------------------------------------------------+-- cata+sem_Instruction :: Instruction  ->+                   T_Instruction +sem_Instruction (Instruction_Add )  =+    (sem_Instruction_Add )+sem_Instruction (Instruction_Add_d )  =+    (sem_Instruction_Add_d )+sem_Instruction (Instruction_Add_i )  =+    (sem_Instruction_Add_i )+sem_Instruction (Instruction_ApplyType _name )  =+    (sem_Instruction_ApplyType _name )+sem_Instruction (Instruction_AsType _name )  =+    (sem_Instruction_AsType _name )+sem_Instruction (Instruction_AsTypeLate )  =+    (sem_Instruction_AsTypeLate )+sem_Instruction (Instruction_BitAnd )  =+    (sem_Instruction_BitAnd )+sem_Instruction (Instruction_BitNot )  =+    (sem_Instruction_BitNot )+sem_Instruction (Instruction_BitOr )  =+    (sem_Instruction_BitOr )+sem_Instruction (Instruction_BitXor )  =+    (sem_Instruction_BitXor )+sem_Instruction (Instruction_BreakLine _line )  =+    (sem_Instruction_BreakLine _line )+sem_Instruction (Instruction_Breakpoint )  =+    (sem_Instruction_Breakpoint )+sem_Instruction (Instruction_Call _argCount )  =+    (sem_Instruction_Call _argCount )+sem_Instruction (Instruction_CallInterface _name _argCount )  =+    (sem_Instruction_CallInterface _name _argCount )+sem_Instruction (Instruction_CallMethod _index _argCount )  =+    (sem_Instruction_CallMethod _index _argCount )+sem_Instruction (Instruction_CallProp _name _argCount )  =+    (sem_Instruction_CallProp _name _argCount )+sem_Instruction (Instruction_CallPropLex _name _argCount )  =+    (sem_Instruction_CallPropLex _name _argCount )+sem_Instruction (Instruction_CallPropVoid _name _argCount )  =+    (sem_Instruction_CallPropVoid _name _argCount )+sem_Instruction (Instruction_CallStatic _method _argCount )  =+    (sem_Instruction_CallStatic _method _argCount )+sem_Instruction (Instruction_CallSuper _name _argCount )  =+    (sem_Instruction_CallSuper _name _argCount )+sem_Instruction (Instruction_CallSuperId )  =+    (sem_Instruction_CallSuperId )+sem_Instruction (Instruction_CallSuperVoid _name _argCount )  =+    (sem_Instruction_CallSuperVoid _name _argCount )+sem_Instruction (Instruction_CheckFilter )  =+    (sem_Instruction_CheckFilter )+sem_Instruction (Instruction_Coerce _name )  =+    (sem_Instruction_Coerce _name )+sem_Instruction (Instruction_Coerce_a )  =+    (sem_Instruction_Coerce_a )+sem_Instruction (Instruction_Coerce_b )  =+    (sem_Instruction_Coerce_b )+sem_Instruction (Instruction_Coerce_d )  =+    (sem_Instruction_Coerce_d )+sem_Instruction (Instruction_Coerce_i )  =+    (sem_Instruction_Coerce_i )+sem_Instruction (Instruction_Coerce_o )  =+    (sem_Instruction_Coerce_o )+sem_Instruction (Instruction_Coerce_s )  =+    (sem_Instruction_Coerce_s )+sem_Instruction (Instruction_Coerce_u )  =+    (sem_Instruction_Coerce_u )+sem_Instruction (Instruction_Concat )  =+    (sem_Instruction_Concat )+sem_Instruction (Instruction_Construct _argCount )  =+    (sem_Instruction_Construct _argCount )+sem_Instruction (Instruction_ConstructProp _name _argCount )  =+    (sem_Instruction_ConstructProp _name _argCount )+sem_Instruction (Instruction_ConstructSuper _argCount )  =+    (sem_Instruction_ConstructSuper _argCount )+sem_Instruction (Instruction_Convert_b )  =+    (sem_Instruction_Convert_b )+sem_Instruction (Instruction_Convert_d )  =+    (sem_Instruction_Convert_d )+sem_Instruction (Instruction_Convert_i )  =+    (sem_Instruction_Convert_i )+sem_Instruction (Instruction_Convert_o )  =+    (sem_Instruction_Convert_o )+sem_Instruction (Instruction_Convert_s )  =+    (sem_Instruction_Convert_s )+sem_Instruction (Instruction_Convert_u )  =+    (sem_Instruction_Convert_u )+sem_Instruction (Instruction_Debug _tp _name _reg _extra )  =+    (sem_Instruction_Debug (sem_DebugType _tp ) _name _reg _extra )+sem_Instruction (Instruction_DebugFile _name )  =+    (sem_Instruction_DebugFile _name )+sem_Instruction (Instruction_DebugLine _line )  =+    (sem_Instruction_DebugLine _line )+sem_Instruction (Instruction_DecLocal _reg )  =+    (sem_Instruction_DecLocal _reg )+sem_Instruction (Instruction_DecLocal_i _reg )  =+    (sem_Instruction_DecLocal_i _reg )+sem_Instruction (Instruction_Decrement )  =+    (sem_Instruction_Decrement )+sem_Instruction (Instruction_Decrement_i )  =+    (sem_Instruction_Decrement_i )+sem_Instruction (Instruction_DeleteProperty _name )  =+    (sem_Instruction_DeleteProperty _name )+sem_Instruction (Instruction_DeletePropertyLate )  =+    (sem_Instruction_DeletePropertyLate )+sem_Instruction (Instruction_Divide )  =+    (sem_Instruction_Divide )+sem_Instruction (Instruction_Dup )  =+    (sem_Instruction_Dup )+sem_Instruction (Instruction_Dxns _name )  =+    (sem_Instruction_Dxns _name )+sem_Instruction (Instruction_DxnsLate )  =+    (sem_Instruction_DxnsLate )+sem_Instruction (Instruction_Equals )  =+    (sem_Instruction_Equals )+sem_Instruction (Instruction_EscXAttr )  =+    (sem_Instruction_EscXAttr )+sem_Instruction (Instruction_EscXElem )  =+    (sem_Instruction_EscXElem )+sem_Instruction (Instruction_FindDef _name )  =+    (sem_Instruction_FindDef _name )+sem_Instruction (Instruction_FindPropStrict _name )  =+    (sem_Instruction_FindPropStrict _name )+sem_Instruction (Instruction_FindProperty _name )  =+    (sem_Instruction_FindProperty _name )+sem_Instruction (Instruction_FindPropertyGlobal _name )  =+    (sem_Instruction_FindPropertyGlobal _name )+sem_Instruction (Instruction_FindPropertyGlobalStrict _name )  =+    (sem_Instruction_FindPropertyGlobalStrict _name )+sem_Instruction (Instruction_GetDescendants _name )  =+    (sem_Instruction_GetDescendants _name )+sem_Instruction (Instruction_GetGlobalScope )  =+    (sem_Instruction_GetGlobalScope )+sem_Instruction (Instruction_GetGlobalSlot _slot )  =+    (sem_Instruction_GetGlobalSlot _slot )+sem_Instruction (Instruction_GetLex _name )  =+    (sem_Instruction_GetLex _name )+sem_Instruction (Instruction_GetLocal _reg )  =+    (sem_Instruction_GetLocal _reg )+sem_Instruction (Instruction_GetLocal0 )  =+    (sem_Instruction_GetLocal0 )+sem_Instruction (Instruction_GetLocal1 )  =+    (sem_Instruction_GetLocal1 )+sem_Instruction (Instruction_GetLocal2 )  =+    (sem_Instruction_GetLocal2 )+sem_Instruction (Instruction_GetLocal3 )  =+    (sem_Instruction_GetLocal3 )+sem_Instruction (Instruction_GetOuterScope _name )  =+    (sem_Instruction_GetOuterScope _name )+sem_Instruction (Instruction_GetProperty _name )  =+    (sem_Instruction_GetProperty _name )+sem_Instruction (Instruction_GetScopeObject _index )  =+    (sem_Instruction_GetScopeObject _index )+sem_Instruction (Instruction_GetSlot _slot )  =+    (sem_Instruction_GetSlot _slot )+sem_Instruction (Instruction_GetSuper _name )  =+    (sem_Instruction_GetSuper _name )+sem_Instruction (Instruction_GreaterEquals )  =+    (sem_Instruction_GreaterEquals )+sem_Instruction (Instruction_GreaterThan )  =+    (sem_Instruction_GreaterThan )+sem_Instruction (Instruction_HasNext )  =+    (sem_Instruction_HasNext )+sem_Instruction (Instruction_HasNext2 _objectReg _indexReg )  =+    (sem_Instruction_HasNext2 _objectReg _indexReg )+sem_Instruction (Instruction_IfEq _offset )  =+    (sem_Instruction_IfEq _offset )+sem_Instruction (Instruction_IfFalse _offset )  =+    (sem_Instruction_IfFalse _offset )+sem_Instruction (Instruction_IfGe _offset )  =+    (sem_Instruction_IfGe _offset )+sem_Instruction (Instruction_IfGt _offset )  =+    (sem_Instruction_IfGt _offset )+sem_Instruction (Instruction_IfLe _offset )  =+    (sem_Instruction_IfLe _offset )+sem_Instruction (Instruction_IfLt _offset )  =+    (sem_Instruction_IfLt _offset )+sem_Instruction (Instruction_IfNGe _offset )  =+    (sem_Instruction_IfNGe _offset )+sem_Instruction (Instruction_IfNGt _offset )  =+    (sem_Instruction_IfNGt _offset )+sem_Instruction (Instruction_IfNLe _offset )  =+    (sem_Instruction_IfNLe _offset )+sem_Instruction (Instruction_IfNLt _offset )  =+    (sem_Instruction_IfNLt _offset )+sem_Instruction (Instruction_IfNe _offset )  =+    (sem_Instruction_IfNe _offset )+sem_Instruction (Instruction_IfStrictEq _offset )  =+    (sem_Instruction_IfStrictEq _offset )+sem_Instruction (Instruction_IfStrictNe _offset )  =+    (sem_Instruction_IfStrictNe _offset )+sem_Instruction (Instruction_IfTrue _offset )  =+    (sem_Instruction_IfTrue _offset )+sem_Instruction (Instruction_In )  =+    (sem_Instruction_In )+sem_Instruction (Instruction_IncLocal _reg )  =+    (sem_Instruction_IncLocal _reg )+sem_Instruction (Instruction_IncLocal_i _reg )  =+    (sem_Instruction_IncLocal_i _reg )+sem_Instruction (Instruction_Increment )  =+    (sem_Instruction_Increment )+sem_Instruction (Instruction_Increment_i )  =+    (sem_Instruction_Increment_i )+sem_Instruction (Instruction_InitProperty _name )  =+    (sem_Instruction_InitProperty _name )+sem_Instruction (Instruction_InstanceOf )  =+    (sem_Instruction_InstanceOf )+sem_Instruction (Instruction_IsType _name )  =+    (sem_Instruction_IsType _name )+sem_Instruction (Instruction_IsTypeLate )  =+    (sem_Instruction_IsTypeLate )+sem_Instruction (Instruction_Jump _offset )  =+    (sem_Instruction_Jump _offset )+sem_Instruction (Instruction_Kill _reg )  =+    (sem_Instruction_Kill _reg )+sem_Instruction (Instruction_Label )  =+    (sem_Instruction_Label )+sem_Instruction (Instruction_LessEquals )  =+    (sem_Instruction_LessEquals )+sem_Instruction (Instruction_LessThan )  =+    (sem_Instruction_LessThan )+sem_Instruction (Instruction_LoadFloat32 )  =+    (sem_Instruction_LoadFloat32 )+sem_Instruction (Instruction_LoadFloat64 )  =+    (sem_Instruction_LoadFloat64 )+sem_Instruction (Instruction_LoadIndirect16 )  =+    (sem_Instruction_LoadIndirect16 )+sem_Instruction (Instruction_LoadIndirect32 )  =+    (sem_Instruction_LoadIndirect32 )+sem_Instruction (Instruction_LoadIndirect8 )  =+    (sem_Instruction_LoadIndirect8 )+sem_Instruction (Instruction_Location _index )  =+    (sem_Instruction_Location _index )+sem_Instruction (Instruction_LookupSwitch _defaultOffset _caseOffsets )  =+    (sem_Instruction_LookupSwitch _defaultOffset (sem_CaseOffsets _caseOffsets ) )+sem_Instruction (Instruction_Lshift )  =+    (sem_Instruction_Lshift )+sem_Instruction (Instruction_Modulo )  =+    (sem_Instruction_Modulo )+sem_Instruction (Instruction_Multiply )  =+    (sem_Instruction_Multiply )+sem_Instruction (Instruction_Multiply_i )  =+    (sem_Instruction_Multiply_i )+sem_Instruction (Instruction_Negate )  =+    (sem_Instruction_Negate )+sem_Instruction (Instruction_Negate_i )  =+    (sem_Instruction_Negate_i )+sem_Instruction (Instruction_NewActivation )  =+    (sem_Instruction_NewActivation )+sem_Instruction (Instruction_NewArray _argCount )  =+    (sem_Instruction_NewArray _argCount )+sem_Instruction (Instruction_NewCatch _exception )  =+    (sem_Instruction_NewCatch _exception )+sem_Instruction (Instruction_NewClass _class )  =+    (sem_Instruction_NewClass _class )+sem_Instruction (Instruction_NewFunction _method )  =+    (sem_Instruction_NewFunction _method )+sem_Instruction (Instruction_NewObject _argCount )  =+    (sem_Instruction_NewObject _argCount )+sem_Instruction (Instruction_NextName )  =+    (sem_Instruction_NextName )+sem_Instruction (Instruction_NextValue )  =+    (sem_Instruction_NextValue )+sem_Instruction (Instruction_Nop )  =+    (sem_Instruction_Nop )+sem_Instruction (Instruction_Not )  =+    (sem_Instruction_Not )+sem_Instruction (Instruction_Pop )  =+    (sem_Instruction_Pop )+sem_Instruction (Instruction_PopScope )  =+    (sem_Instruction_PopScope )+sem_Instruction (Instruction_PushByte _val )  =+    (sem_Instruction_PushByte _val )+sem_Instruction (Instruction_PushDouble _name )  =+    (sem_Instruction_PushDouble _name )+sem_Instruction (Instruction_PushFalse )  =+    (sem_Instruction_PushFalse )+sem_Instruction (Instruction_PushInt _name )  =+    (sem_Instruction_PushInt _name )+sem_Instruction (Instruction_PushNaN )  =+    (sem_Instruction_PushNaN )+sem_Instruction (Instruction_PushNamespace _name )  =+    (sem_Instruction_PushNamespace _name )+sem_Instruction (Instruction_PushNull )  =+    (sem_Instruction_PushNull )+sem_Instruction (Instruction_PushScope )  =+    (sem_Instruction_PushScope )+sem_Instruction (Instruction_PushShort _val )  =+    (sem_Instruction_PushShort _val )+sem_Instruction (Instruction_PushString _name )  =+    (sem_Instruction_PushString _name )+sem_Instruction (Instruction_PushTrue )  =+    (sem_Instruction_PushTrue )+sem_Instruction (Instruction_PushUInt _name )  =+    (sem_Instruction_PushUInt _name )+sem_Instruction (Instruction_PushUndefined )  =+    (sem_Instruction_PushUndefined )+sem_Instruction (Instruction_PushWith )  =+    (sem_Instruction_PushWith )+sem_Instruction (Instruction_ReturnValue )  =+    (sem_Instruction_ReturnValue )+sem_Instruction (Instruction_ReturnVoid )  =+    (sem_Instruction_ReturnVoid )+sem_Instruction (Instruction_Rshift )  =+    (sem_Instruction_Rshift )+sem_Instruction (Instruction_SetGlobalSlot _slot )  =+    (sem_Instruction_SetGlobalSlot _slot )+sem_Instruction (Instruction_SetLocal _reg )  =+    (sem_Instruction_SetLocal _reg )+sem_Instruction (Instruction_SetLocal0 )  =+    (sem_Instruction_SetLocal0 )+sem_Instruction (Instruction_SetLocal1 )  =+    (sem_Instruction_SetLocal1 )+sem_Instruction (Instruction_SetLocal2 )  =+    (sem_Instruction_SetLocal2 )+sem_Instruction (Instruction_SetLocal3 )  =+    (sem_Instruction_SetLocal3 )+sem_Instruction (Instruction_SetProperty _name )  =+    (sem_Instruction_SetProperty _name )+sem_Instruction (Instruction_SetPropertyLate )  =+    (sem_Instruction_SetPropertyLate )+sem_Instruction (Instruction_SetSlot _slot )  =+    (sem_Instruction_SetSlot _slot )+sem_Instruction (Instruction_SetSuper _name )  =+    (sem_Instruction_SetSuper _name )+sem_Instruction (Instruction_SignExtend1 )  =+    (sem_Instruction_SignExtend1 )+sem_Instruction (Instruction_SignExtend16 )  =+    (sem_Instruction_SignExtend16 )+sem_Instruction (Instruction_SignExtend8 )  =+    (sem_Instruction_SignExtend8 )+sem_Instruction (Instruction_StoreFloat32 )  =+    (sem_Instruction_StoreFloat32 )+sem_Instruction (Instruction_StoreFloat64 )  =+    (sem_Instruction_StoreFloat64 )+sem_Instruction (Instruction_StoreIndirect16 )  =+    (sem_Instruction_StoreIndirect16 )+sem_Instruction (Instruction_StoreIndirect32 )  =+    (sem_Instruction_StoreIndirect32 )+sem_Instruction (Instruction_StoreIndirect8 )  =+    (sem_Instruction_StoreIndirect8 )+sem_Instruction (Instruction_StrictEquals )  =+    (sem_Instruction_StrictEquals )+sem_Instruction (Instruction_Substract )  =+    (sem_Instruction_Substract )+sem_Instruction (Instruction_Substract_i )  =+    (sem_Instruction_Substract_i )+sem_Instruction (Instruction_Swap )  =+    (sem_Instruction_Swap )+sem_Instruction (Instruction_Throw )  =+    (sem_Instruction_Throw )+sem_Instruction (Instruction_Timestamp )  =+    (sem_Instruction_Timestamp )+sem_Instruction (Instruction_TypeOf )  =+    (sem_Instruction_TypeOf )+sem_Instruction (Instruction_Urshift )  =+    (sem_Instruction_Urshift )+-- semantic domain+type T_Instruction  = ( )+sem_Instruction_Add :: T_Instruction +sem_Instruction_Add  =+    ( )+sem_Instruction_Add_d :: T_Instruction +sem_Instruction_Add_d  =+    ( )+sem_Instruction_Add_i :: T_Instruction +sem_Instruction_Add_i  =+    ( )+sem_Instruction_ApplyType :: Word32 ->+                             T_Instruction +sem_Instruction_ApplyType name_  =+    ( )+sem_Instruction_AsType :: Word32 ->+                          T_Instruction +sem_Instruction_AsType name_  =+    ( )+sem_Instruction_AsTypeLate :: T_Instruction +sem_Instruction_AsTypeLate  =+    ( )+sem_Instruction_BitAnd :: T_Instruction +sem_Instruction_BitAnd  =+    ( )+sem_Instruction_BitNot :: T_Instruction +sem_Instruction_BitNot  =+    ( )+sem_Instruction_BitOr :: T_Instruction +sem_Instruction_BitOr  =+    ( )+sem_Instruction_BitXor :: T_Instruction +sem_Instruction_BitXor  =+    ( )+sem_Instruction_BreakLine :: Word32 ->+                             T_Instruction +sem_Instruction_BreakLine line_  =+    ( )+sem_Instruction_Breakpoint :: T_Instruction +sem_Instruction_Breakpoint  =+    ( )+sem_Instruction_Call :: Word32 ->+                        T_Instruction +sem_Instruction_Call argCount_  =+    ( )+sem_Instruction_CallInterface :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallInterface name_ argCount_  =+    ( )+sem_Instruction_CallMethod :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallMethod index_ argCount_  =+    ( )+sem_Instruction_CallProp :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_CallProp name_ argCount_  =+    ( )+sem_Instruction_CallPropLex :: Word32 ->+                               Word32 ->+                               T_Instruction +sem_Instruction_CallPropLex name_ argCount_  =+    ( )+sem_Instruction_CallPropVoid :: Word32 ->+                                Word32 ->+                                T_Instruction +sem_Instruction_CallPropVoid name_ argCount_  =+    ( )+sem_Instruction_CallStatic :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallStatic method_ argCount_  =+    ( )+sem_Instruction_CallSuper :: Word32 ->+                             Word32 ->+                             T_Instruction +sem_Instruction_CallSuper name_ argCount_  =+    ( )+sem_Instruction_CallSuperId :: T_Instruction +sem_Instruction_CallSuperId  =+    ( )+sem_Instruction_CallSuperVoid :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallSuperVoid name_ argCount_  =+    ( )+sem_Instruction_CheckFilter :: T_Instruction +sem_Instruction_CheckFilter  =+    ( )+sem_Instruction_Coerce :: Word32 ->+                          T_Instruction +sem_Instruction_Coerce name_  =+    ( )+sem_Instruction_Coerce_a :: T_Instruction +sem_Instruction_Coerce_a  =+    ( )+sem_Instruction_Coerce_b :: T_Instruction +sem_Instruction_Coerce_b  =+    ( )+sem_Instruction_Coerce_d :: T_Instruction +sem_Instruction_Coerce_d  =+    ( )+sem_Instruction_Coerce_i :: T_Instruction +sem_Instruction_Coerce_i  =+    ( )+sem_Instruction_Coerce_o :: T_Instruction +sem_Instruction_Coerce_o  =+    ( )+sem_Instruction_Coerce_s :: T_Instruction +sem_Instruction_Coerce_s  =+    ( )+sem_Instruction_Coerce_u :: T_Instruction +sem_Instruction_Coerce_u  =+    ( )+sem_Instruction_Concat :: T_Instruction +sem_Instruction_Concat  =+    ( )+sem_Instruction_Construct :: Word32 ->+                             T_Instruction +sem_Instruction_Construct argCount_  =+    ( )+sem_Instruction_ConstructProp :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_ConstructProp name_ argCount_  =+    ( )+sem_Instruction_ConstructSuper :: Word32 ->+                                  T_Instruction +sem_Instruction_ConstructSuper argCount_  =+    ( )+sem_Instruction_Convert_b :: T_Instruction +sem_Instruction_Convert_b  =+    ( )+sem_Instruction_Convert_d :: T_Instruction +sem_Instruction_Convert_d  =+    ( )+sem_Instruction_Convert_i :: T_Instruction +sem_Instruction_Convert_i  =+    ( )+sem_Instruction_Convert_o :: T_Instruction +sem_Instruction_Convert_o  =+    ( )+sem_Instruction_Convert_s :: T_Instruction +sem_Instruction_Convert_s  =+    ( )+sem_Instruction_Convert_u :: T_Instruction +sem_Instruction_Convert_u  =+    ( )+sem_Instruction_Debug :: T_DebugType  ->+                         Word32 ->+                         Word32 ->+                         Word32 ->+                         T_Instruction +sem_Instruction_Debug tp_ name_ reg_ extra_  =+    ( )+sem_Instruction_DebugFile :: Word32 ->+                             T_Instruction +sem_Instruction_DebugFile name_  =+    ( )+sem_Instruction_DebugLine :: Word32 ->+                             T_Instruction +sem_Instruction_DebugLine line_  =+    ( )+sem_Instruction_DecLocal :: Word32 ->+                            T_Instruction +sem_Instruction_DecLocal reg_  =+    ( )+sem_Instruction_DecLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_DecLocal_i reg_  =+    ( )+sem_Instruction_Decrement :: T_Instruction +sem_Instruction_Decrement  =+    ( )+sem_Instruction_Decrement_i :: T_Instruction +sem_Instruction_Decrement_i  =+    ( )+sem_Instruction_DeleteProperty :: Word32 ->+                                  T_Instruction +sem_Instruction_DeleteProperty name_  =+    ( )+sem_Instruction_DeletePropertyLate :: T_Instruction +sem_Instruction_DeletePropertyLate  =+    ( )+sem_Instruction_Divide :: T_Instruction +sem_Instruction_Divide  =+    ( )+sem_Instruction_Dup :: T_Instruction +sem_Instruction_Dup  =+    ( )+sem_Instruction_Dxns :: Word32 ->+                        T_Instruction +sem_Instruction_Dxns name_  =+    ( )+sem_Instruction_DxnsLate :: T_Instruction +sem_Instruction_DxnsLate  =+    ( )+sem_Instruction_Equals :: T_Instruction +sem_Instruction_Equals  =+    ( )+sem_Instruction_EscXAttr :: T_Instruction +sem_Instruction_EscXAttr  =+    ( )+sem_Instruction_EscXElem :: T_Instruction +sem_Instruction_EscXElem  =+    ( )+sem_Instruction_FindDef :: Word32 ->+                           T_Instruction +sem_Instruction_FindDef name_  =+    ( )+sem_Instruction_FindPropStrict :: Word32 ->+                                  T_Instruction +sem_Instruction_FindPropStrict name_  =+    ( )+sem_Instruction_FindProperty :: Word32 ->+                                T_Instruction +sem_Instruction_FindProperty name_  =+    ( )+sem_Instruction_FindPropertyGlobal :: Word32 ->+                                      T_Instruction +sem_Instruction_FindPropertyGlobal name_  =+    ( )+sem_Instruction_FindPropertyGlobalStrict :: Word32 ->+                                            T_Instruction +sem_Instruction_FindPropertyGlobalStrict name_  =+    ( )+sem_Instruction_GetDescendants :: Word32 ->+                                  T_Instruction +sem_Instruction_GetDescendants name_  =+    ( )+sem_Instruction_GetGlobalScope :: T_Instruction +sem_Instruction_GetGlobalScope  =+    ( )+sem_Instruction_GetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_GetGlobalSlot slot_  =+    ( )+sem_Instruction_GetLex :: Word32 ->+                          T_Instruction +sem_Instruction_GetLex name_  =+    ( )+sem_Instruction_GetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_GetLocal reg_  =+    ( )+sem_Instruction_GetLocal0 :: T_Instruction +sem_Instruction_GetLocal0  =+    ( )+sem_Instruction_GetLocal1 :: T_Instruction +sem_Instruction_GetLocal1  =+    ( )+sem_Instruction_GetLocal2 :: T_Instruction +sem_Instruction_GetLocal2  =+    ( )+sem_Instruction_GetLocal3 :: T_Instruction +sem_Instruction_GetLocal3  =+    ( )+sem_Instruction_GetOuterScope :: Word32 ->+                                 T_Instruction +sem_Instruction_GetOuterScope name_  =+    ( )+sem_Instruction_GetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_GetProperty name_  =+    ( )+sem_Instruction_GetScopeObject :: Word8 ->+                                  T_Instruction +sem_Instruction_GetScopeObject index_  =+    ( )+sem_Instruction_GetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_GetSlot slot_  =+    ( )+sem_Instruction_GetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_GetSuper name_  =+    ( )+sem_Instruction_GreaterEquals :: T_Instruction +sem_Instruction_GreaterEquals  =+    ( )+sem_Instruction_GreaterThan :: T_Instruction +sem_Instruction_GreaterThan  =+    ( )+sem_Instruction_HasNext :: T_Instruction +sem_Instruction_HasNext  =+    ( )+sem_Instruction_HasNext2 :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_HasNext2 objectReg_ indexReg_  =+    ( )+sem_Instruction_IfEq :: Word32 ->+                        T_Instruction +sem_Instruction_IfEq offset_  =+    ( )+sem_Instruction_IfFalse :: Word32 ->+                           T_Instruction +sem_Instruction_IfFalse offset_  =+    ( )+sem_Instruction_IfGe :: Word32 ->+                        T_Instruction +sem_Instruction_IfGe offset_  =+    ( )+sem_Instruction_IfGt :: Word32 ->+                        T_Instruction +sem_Instruction_IfGt offset_  =+    ( )+sem_Instruction_IfLe :: Word32 ->+                        T_Instruction +sem_Instruction_IfLe offset_  =+    ( )+sem_Instruction_IfLt :: Word32 ->+                        T_Instruction +sem_Instruction_IfLt offset_  =+    ( )+sem_Instruction_IfNGe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGe offset_  =+    ( )+sem_Instruction_IfNGt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGt offset_  =+    ( )+sem_Instruction_IfNLe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLe offset_  =+    ( )+sem_Instruction_IfNLt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLt offset_  =+    ( )+sem_Instruction_IfNe :: Word32 ->+                        T_Instruction +sem_Instruction_IfNe offset_  =+    ( )+sem_Instruction_IfStrictEq :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictEq offset_  =+    ( )+sem_Instruction_IfStrictNe :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictNe offset_  =+    ( )+sem_Instruction_IfTrue :: Word32 ->+                          T_Instruction +sem_Instruction_IfTrue offset_  =+    ( )+sem_Instruction_In :: T_Instruction +sem_Instruction_In  =+    ( )+sem_Instruction_IncLocal :: Word32 ->+                            T_Instruction +sem_Instruction_IncLocal reg_  =+    ( )+sem_Instruction_IncLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_IncLocal_i reg_  =+    ( )+sem_Instruction_Increment :: T_Instruction +sem_Instruction_Increment  =+    ( )+sem_Instruction_Increment_i :: T_Instruction +sem_Instruction_Increment_i  =+    ( )+sem_Instruction_InitProperty :: Word32 ->+                                T_Instruction +sem_Instruction_InitProperty name_  =+    ( )+sem_Instruction_InstanceOf :: T_Instruction +sem_Instruction_InstanceOf  =+    ( )+sem_Instruction_IsType :: Word32 ->+                          T_Instruction +sem_Instruction_IsType name_  =+    ( )+sem_Instruction_IsTypeLate :: T_Instruction +sem_Instruction_IsTypeLate  =+    ( )+sem_Instruction_Jump :: Word32 ->+                        T_Instruction +sem_Instruction_Jump offset_  =+    ( )+sem_Instruction_Kill :: Word32 ->+                        T_Instruction +sem_Instruction_Kill reg_  =+    ( )+sem_Instruction_Label :: T_Instruction +sem_Instruction_Label  =+    ( )+sem_Instruction_LessEquals :: T_Instruction +sem_Instruction_LessEquals  =+    ( )+sem_Instruction_LessThan :: T_Instruction +sem_Instruction_LessThan  =+    ( )+sem_Instruction_LoadFloat32 :: T_Instruction +sem_Instruction_LoadFloat32  =+    ( )+sem_Instruction_LoadFloat64 :: T_Instruction +sem_Instruction_LoadFloat64  =+    ( )+sem_Instruction_LoadIndirect16 :: T_Instruction +sem_Instruction_LoadIndirect16  =+    ( )+sem_Instruction_LoadIndirect32 :: T_Instruction +sem_Instruction_LoadIndirect32  =+    ( )+sem_Instruction_LoadIndirect8 :: T_Instruction +sem_Instruction_LoadIndirect8  =+    ( )+sem_Instruction_Location :: Int ->+                            T_Instruction +sem_Instruction_Location index_  =+    ( )+sem_Instruction_LookupSwitch :: Word32 ->+                                T_CaseOffsets  ->+                                T_Instruction +sem_Instruction_LookupSwitch defaultOffset_ caseOffsets_  =+    ( )+sem_Instruction_Lshift :: T_Instruction +sem_Instruction_Lshift  =+    ( )+sem_Instruction_Modulo :: T_Instruction +sem_Instruction_Modulo  =+    ( )+sem_Instruction_Multiply :: T_Instruction +sem_Instruction_Multiply  =+    ( )+sem_Instruction_Multiply_i :: T_Instruction +sem_Instruction_Multiply_i  =+    ( )+sem_Instruction_Negate :: T_Instruction +sem_Instruction_Negate  =+    ( )+sem_Instruction_Negate_i :: T_Instruction +sem_Instruction_Negate_i  =+    ( )+sem_Instruction_NewActivation :: T_Instruction +sem_Instruction_NewActivation  =+    ( )+sem_Instruction_NewArray :: Word32 ->+                            T_Instruction +sem_Instruction_NewArray argCount_  =+    ( )+sem_Instruction_NewCatch :: Word32 ->+                            T_Instruction +sem_Instruction_NewCatch exception_  =+    ( )+sem_Instruction_NewClass :: Word32 ->+                            T_Instruction +sem_Instruction_NewClass class_  =+    ( )+sem_Instruction_NewFunction :: Word32 ->+                               T_Instruction +sem_Instruction_NewFunction method_  =+    ( )+sem_Instruction_NewObject :: Word32 ->+                             T_Instruction +sem_Instruction_NewObject argCount_  =+    ( )+sem_Instruction_NextName :: T_Instruction +sem_Instruction_NextName  =+    ( )+sem_Instruction_NextValue :: T_Instruction +sem_Instruction_NextValue  =+    ( )+sem_Instruction_Nop :: T_Instruction +sem_Instruction_Nop  =+    ( )+sem_Instruction_Not :: T_Instruction +sem_Instruction_Not  =+    ( )+sem_Instruction_Pop :: T_Instruction +sem_Instruction_Pop  =+    ( )+sem_Instruction_PopScope :: T_Instruction +sem_Instruction_PopScope  =+    ( )+sem_Instruction_PushByte :: Word8 ->+                            T_Instruction +sem_Instruction_PushByte val_  =+    ( )+sem_Instruction_PushDouble :: Word32 ->+                              T_Instruction +sem_Instruction_PushDouble name_  =+    ( )+sem_Instruction_PushFalse :: T_Instruction +sem_Instruction_PushFalse  =+    ( )+sem_Instruction_PushInt :: Word32 ->+                           T_Instruction +sem_Instruction_PushInt name_  =+    ( )+sem_Instruction_PushNaN :: T_Instruction +sem_Instruction_PushNaN  =+    ( )+sem_Instruction_PushNamespace :: Word32 ->+                                 T_Instruction +sem_Instruction_PushNamespace name_  =+    ( )+sem_Instruction_PushNull :: T_Instruction +sem_Instruction_PushNull  =+    ( )+sem_Instruction_PushScope :: T_Instruction +sem_Instruction_PushScope  =+    ( )+sem_Instruction_PushShort :: Word32 ->+                             T_Instruction +sem_Instruction_PushShort val_  =+    ( )+sem_Instruction_PushString :: Word32 ->+                              T_Instruction +sem_Instruction_PushString name_  =+    ( )+sem_Instruction_PushTrue :: T_Instruction +sem_Instruction_PushTrue  =+    ( )+sem_Instruction_PushUInt :: Word32 ->+                            T_Instruction +sem_Instruction_PushUInt name_  =+    ( )+sem_Instruction_PushUndefined :: T_Instruction +sem_Instruction_PushUndefined  =+    ( )+sem_Instruction_PushWith :: T_Instruction +sem_Instruction_PushWith  =+    ( )+sem_Instruction_ReturnValue :: T_Instruction +sem_Instruction_ReturnValue  =+    ( )+sem_Instruction_ReturnVoid :: T_Instruction +sem_Instruction_ReturnVoid  =+    ( )+sem_Instruction_Rshift :: T_Instruction +sem_Instruction_Rshift  =+    ( )+sem_Instruction_SetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_SetGlobalSlot slot_  =+    ( )+sem_Instruction_SetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_SetLocal reg_  =+    ( )+sem_Instruction_SetLocal0 :: T_Instruction +sem_Instruction_SetLocal0  =+    ( )+sem_Instruction_SetLocal1 :: T_Instruction +sem_Instruction_SetLocal1  =+    ( )+sem_Instruction_SetLocal2 :: T_Instruction +sem_Instruction_SetLocal2  =+    ( )+sem_Instruction_SetLocal3 :: T_Instruction +sem_Instruction_SetLocal3  =+    ( )+sem_Instruction_SetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_SetProperty name_  =+    ( )+sem_Instruction_SetPropertyLate :: T_Instruction +sem_Instruction_SetPropertyLate  =+    ( )+sem_Instruction_SetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_SetSlot slot_  =+    ( )+sem_Instruction_SetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_SetSuper name_  =+    ( )+sem_Instruction_SignExtend1 :: T_Instruction +sem_Instruction_SignExtend1  =+    ( )+sem_Instruction_SignExtend16 :: T_Instruction +sem_Instruction_SignExtend16  =+    ( )+sem_Instruction_SignExtend8 :: T_Instruction +sem_Instruction_SignExtend8  =+    ( )+sem_Instruction_StoreFloat32 :: T_Instruction +sem_Instruction_StoreFloat32  =+    ( )+sem_Instruction_StoreFloat64 :: T_Instruction +sem_Instruction_StoreFloat64  =+    ( )+sem_Instruction_StoreIndirect16 :: T_Instruction +sem_Instruction_StoreIndirect16  =+    ( )+sem_Instruction_StoreIndirect32 :: T_Instruction +sem_Instruction_StoreIndirect32  =+    ( )+sem_Instruction_StoreIndirect8 :: T_Instruction +sem_Instruction_StoreIndirect8  =+    ( )+sem_Instruction_StrictEquals :: T_Instruction +sem_Instruction_StrictEquals  =+    ( )+sem_Instruction_Substract :: T_Instruction +sem_Instruction_Substract  =+    ( )+sem_Instruction_Substract_i :: T_Instruction +sem_Instruction_Substract_i  =+    ( )+sem_Instruction_Swap :: T_Instruction +sem_Instruction_Swap  =+    ( )+sem_Instruction_Throw :: T_Instruction +sem_Instruction_Throw  =+    ( )+sem_Instruction_Timestamp :: T_Instruction +sem_Instruction_Timestamp  =+    ( )+sem_Instruction_TypeOf :: T_Instruction +sem_Instruction_TypeOf  =+    ( )+sem_Instruction_Urshift :: T_Instruction +sem_Instruction_Urshift  =+    ( )+-- Instructions ------------------------------------------------+-- cata+sem_Instructions :: Instructions  ->+                    T_Instructions +sem_Instructions list  =+    (Prelude.foldr sem_Instructions_Cons sem_Instructions_Nil (Prelude.map sem_Instruction list) )+-- semantic domain+type T_Instructions  = ( )+sem_Instructions_Cons :: T_Instruction  ->+                         T_Instructions  ->+                         T_Instructions +sem_Instructions_Cons hd_ tl_  =+    ( )+sem_Instructions_Nil :: T_Instructions +sem_Instructions_Nil  =+    ( )+-- Interfaces --------------------------------------------------+-- cata+sem_Interfaces :: Interfaces  ->+                  T_Interfaces +sem_Interfaces list  =+    (Prelude.foldr sem_Interfaces_Cons sem_Interfaces_Nil list )+-- semantic domain+type T_Interfaces  = ( Interfaces )+sem_Interfaces_Cons :: Word32 ->+                       T_Interfaces  ->+                       T_Interfaces +sem_Interfaces_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIitfs) | True ->+         (case (({-# LINE 200 "src/SymbolTables.ag" #-}+                 (:) hd_ _tlIitfs+                 {-# LINE 1444 "src/SymbolTables.hs" #-}+                 )) of+          { _itfs | _itfs `seq` (True) ->+          (case (({-# LINE 200 "src/SymbolTables.ag" #-}+                  _itfs+                  {-# LINE 1449 "src/SymbolTables.hs" #-}+                  )) of+           { _lhsOitfs | _lhsOitfs `seq` (True) ->+           ( _lhsOitfs) }) }) })+sem_Interfaces_Nil :: T_Interfaces +sem_Interfaces_Nil  =+    (case (({-# LINE 200 "src/SymbolTables.ag" #-}+            []+            {-# LINE 1457 "src/SymbolTables.hs" #-}+            )) of+     { _itfs | _itfs `seq` (True) ->+     (case (({-# LINE 200 "src/SymbolTables.ag" #-}+             _itfs+             {-# LINE 1462 "src/SymbolTables.hs" #-}+             )) of+      { _lhsOitfs | _lhsOitfs `seq` (True) ->+      ( _lhsOitfs) }) })+-- MetaInfo ----------------------------------------------------+-- cata+sem_MetaInfo :: MetaInfo  ->+                T_MetaInfo +sem_MetaInfo (MetaInfo_Info _name _items )  =+    (sem_MetaInfo_Info _name (sem_MetaItems _items ) )+-- semantic domain+type T_MetaInfo  = ( )+sem_MetaInfo_Info :: Word32 ->+                     T_MetaItems  ->+                     T_MetaInfo +sem_MetaInfo_Info name_ items_  =+    ( )+-- MetaInfos ---------------------------------------------------+-- cata+sem_MetaInfos :: MetaInfos  ->+                 T_MetaInfos +sem_MetaInfos list  =+    (Prelude.foldr sem_MetaInfos_Cons sem_MetaInfos_Nil (Prelude.map sem_MetaInfo list) )+-- semantic domain+type T_MetaInfos  = ( )+sem_MetaInfos_Cons :: T_MetaInfo  ->+                      T_MetaInfos  ->+                      T_MetaInfos +sem_MetaInfos_Cons hd_ tl_  =+    ( )+sem_MetaInfos_Nil :: T_MetaInfos +sem_MetaInfos_Nil  =+    ( )+-- MetaItem ----------------------------------------------------+-- cata+sem_MetaItem :: MetaItem  ->+                T_MetaItem +sem_MetaItem (MetaItem_Item _key _value )  =+    (sem_MetaItem_Item _key _value )+-- semantic domain+type T_MetaItem  = ( )+sem_MetaItem_Item :: Word32 ->+                     Word32 ->+                     T_MetaItem +sem_MetaItem_Item key_ value_  =+    ( )+-- MetaItems ---------------------------------------------------+-- cata+sem_MetaItems :: MetaItems  ->+                 T_MetaItems +sem_MetaItems list  =+    (Prelude.foldr sem_MetaItems_Cons sem_MetaItems_Nil (Prelude.map sem_MetaItem list) )+-- semantic domain+type T_MetaItems  = ( )+sem_MetaItems_Cons :: T_MetaItem  ->+                      T_MetaItems  ->+                      T_MetaItems +sem_MetaItems_Cons hd_ tl_  =+    ( )+sem_MetaItems_Nil :: T_MetaItems +sem_MetaItems_Nil  =+    ( )+-- MethodFlag --------------------------------------------------+-- cata+sem_MethodFlag :: MethodFlag  ->+                  T_MethodFlag +sem_MethodFlag (MethodFlag_HasOptionals )  =+    (sem_MethodFlag_HasOptionals )+sem_MethodFlag (MethodFlag_HasParamNames )  =+    (sem_MethodFlag_HasParamNames )+sem_MethodFlag (MethodFlag_NeedAct )  =+    (sem_MethodFlag_NeedAct )+sem_MethodFlag (MethodFlag_NeedArgs )  =+    (sem_MethodFlag_NeedArgs )+sem_MethodFlag (MethodFlag_NeedRest )  =+    (sem_MethodFlag_NeedRest )+sem_MethodFlag (MethodFlag_SetDXNS )  =+    (sem_MethodFlag_SetDXNS )+-- semantic domain+type T_MethodFlag  = ( )+sem_MethodFlag_HasOptionals :: T_MethodFlag +sem_MethodFlag_HasOptionals  =+    ( )+sem_MethodFlag_HasParamNames :: T_MethodFlag +sem_MethodFlag_HasParamNames  =+    ( )+sem_MethodFlag_NeedAct :: T_MethodFlag +sem_MethodFlag_NeedAct  =+    ( )+sem_MethodFlag_NeedArgs :: T_MethodFlag +sem_MethodFlag_NeedArgs  =+    ( )+sem_MethodFlag_NeedRest :: T_MethodFlag +sem_MethodFlag_NeedRest  =+    ( )+sem_MethodFlag_SetDXNS :: T_MethodFlag +sem_MethodFlag_SetDXNS  =+    ( )+-- MethodFlags -------------------------------------------------+-- cata+sem_MethodFlags :: MethodFlags  ->+                   T_MethodFlags +sem_MethodFlags list  =+    (Prelude.foldr sem_MethodFlags_Cons sem_MethodFlags_Nil (Prelude.map sem_MethodFlag list) )+-- semantic domain+type T_MethodFlags  = ( )+sem_MethodFlags_Cons :: T_MethodFlag  ->+                        T_MethodFlags  ->+                        T_MethodFlags +sem_MethodFlags_Cons hd_ tl_  =+    ( )+sem_MethodFlags_Nil :: T_MethodFlags +sem_MethodFlags_Nil  =+    ( )+-- MethodInfo --------------------------------------------------+-- cata+sem_MethodInfo :: MethodInfo  ->+                  T_MethodInfo +sem_MethodInfo (MethodInfo_Info _return _params _name _flags _options _names )  =+    (sem_MethodInfo_Info _return (sem_ParamTypes _params ) _name (sem_MethodFlags _flags ) (sem_Optionals _options ) (sem_ParamNames _names ) )+-- semantic domain+type T_MethodInfo  = ( Sig)+sem_MethodInfo_Info :: Word32 ->+                       T_ParamTypes  ->+                       Word32 ->+                       T_MethodFlags  ->+                       T_Optionals  ->+                       T_ParamNames  ->+                       T_MethodInfo +sem_MethodInfo_Info return_ params_ name_ flags_ options_ names_  =+    (case (names_ ) of+     { ( _namesInames) | True ->+         (case (({-# LINE 167 "src/SymbolTables.ag" #-}+                 map (Just . Ref) _namesInames+                 {-# LINE 1596 "src/SymbolTables.hs" #-}+                 )) of+          { _mbNamesL | _mbNamesL `seq` (True) ->+          (case (params_ ) of+           { ( _paramsItypes) | True ->+               (case (({-# LINE 168 "src/SymbolTables.ag" #-}+                       zipWith SigParam (_mbNamesL     ++ repeat Nothing) (map Ref _paramsItypes)+                       {-# LINE 1603 "src/SymbolTables.hs" #-}+                       )) of+                { _paramSigs | _paramSigs `seq` (True) ->+                (case (({-# LINE 169 "src/SymbolTables.ag" #-}+                        Sig (if name_ /= 0 then Just $ Ref name_ else Nothing) (Ref return_) _paramSigs+                        {-# LINE 1608 "src/SymbolTables.hs" #-}+                        )) of+                 { _lhsOgathSig | _lhsOgathSig `seq` (True) ->+                 ( _lhsOgathSig) }) }) }) }) })+-- MethodInfos -------------------------------------------------+-- cata+sem_MethodInfos :: MethodInfos  ->+                   T_MethodInfos +sem_MethodInfos list  =+    (Prelude.foldr sem_MethodInfos_Cons sem_MethodInfos_Nil (Prelude.map sem_MethodInfo list) )+-- semantic domain+type T_MethodInfos  = Word32 ->+                      ( Sigs)+sem_MethodInfos_Cons :: T_MethodInfo  ->+                        T_MethodInfos  ->+                        T_MethodInfos +sem_MethodInfos_Cons hd_ tl_  =+    (\ _lhsIsigIndex ->+         (case (({-# LINE 161 "src/SymbolTables.ag" #-}+                 1 + _lhsIsigIndex+                 {-# LINE 1628 "src/SymbolTables.hs" #-}+                 )) of+          { _tlOsigIndex | _tlOsigIndex `seq` (True) ->+          (case (tl_ _tlOsigIndex ) of+           { ( _tlIgathSigs) | True ->+               (case (hd_ ) of+                { ( _hdIgathSig) | True ->+                    (case (({-# LINE 162 "src/SymbolTables.ag" #-}+                            singleEnv _lhsIsigIndex _hdIgathSig `mappend` _tlIgathSigs+                            {-# LINE 1637 "src/SymbolTables.hs" #-}+                            )) of+                     { _lhsOgathSigs | _lhsOgathSigs `seq` (True) ->+                     ( _lhsOgathSigs) }) }) }) }))+sem_MethodInfos_Nil :: T_MethodInfos +sem_MethodInfos_Nil  =+    (\ _lhsIsigIndex ->+         (case (({-# LINE 163 "src/SymbolTables.ag" #-}+                 mempty+                 {-# LINE 1646 "src/SymbolTables.hs" #-}+                 )) of+          { _lhsOgathSigs | _lhsOgathSigs `seq` (True) ->+          ( _lhsOgathSigs) }))+-- MultinameInfo -----------------------------------------------+-- cata+sem_MultinameInfo :: MultinameInfo  ->+                     T_MultinameInfo +sem_MultinameInfo (MultinameInfo_Generic _name _params )  =+    (sem_MultinameInfo_Generic _name (sem_ParamNames _params ) )+sem_MultinameInfo (MultinameInfo_Multiname _name _set )  =+    (sem_MultinameInfo_Multiname _name _set )+sem_MultinameInfo (MultinameInfo_MultinameA _name _set )  =+    (sem_MultinameInfo_MultinameA _name _set )+sem_MultinameInfo (MultinameInfo_MultinameL _set )  =+    (sem_MultinameInfo_MultinameL _set )+sem_MultinameInfo (MultinameInfo_MultinameLA _set )  =+    (sem_MultinameInfo_MultinameLA _set )+sem_MultinameInfo (MultinameInfo_QName _namespace _name )  =+    (sem_MultinameInfo_QName _namespace _name )+sem_MultinameInfo (MultinameInfo_QNameA _namespace _name )  =+    (sem_MultinameInfo_QNameA _namespace _name )+sem_MultinameInfo (MultinameInfo_RTQName _name )  =+    (sem_MultinameInfo_RTQName _name )+sem_MultinameInfo (MultinameInfo_RTQNameA _name )  =+    (sem_MultinameInfo_RTQNameA _name )+sem_MultinameInfo (MultinameInfo_RTQNameL )  =+    (sem_MultinameInfo_RTQNameL )+sem_MultinameInfo (MultinameInfo_RTQNameLA )  =+    (sem_MultinameInfo_RTQNameLA )+-- semantic domain+type T_MultinameInfo  = ( Name)+sem_MultinameInfo_Generic :: Word32 ->+                             T_ParamNames  ->+                             T_MultinameInfo +sem_MultinameInfo_Generic name_ params_  =+    (case (({-# LINE 110 "src/SymbolTables.ag" #-}+            Name QualOther Nothing+            {-# LINE 1684 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOname | _lhsOname `seq` (True) ->+     ( _lhsOname) })+sem_MultinameInfo_Multiname :: Word32 ->+                               Word32 ->+                               T_MultinameInfo +sem_MultinameInfo_Multiname name_ set_  =+    (case (({-# LINE 108 "src/SymbolTables.ag" #-}+            Name (QualNss $ Ref set_) (Just $ Ref name_)+            {-# LINE 1694 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOname | _lhsOname `seq` (True) ->+     ( _lhsOname) })+sem_MultinameInfo_MultinameA :: Word32 ->+                                Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameA name_ set_  =+    (case (({-# LINE 108 "src/SymbolTables.ag" #-}+            Name (QualNss $ Ref set_) (Just $ Ref name_)+            {-# LINE 1704 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOname | _lhsOname `seq` (True) ->+     ( _lhsOname) })+sem_MultinameInfo_MultinameL :: Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameL set_  =+    (case (({-# LINE 109 "src/SymbolTables.ag" #-}+            Name (QualNss $ Ref set_) Nothing+            {-# LINE 1713 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOname | _lhsOname `seq` (True) ->+     ( _lhsOname) })+sem_MultinameInfo_MultinameLA :: Word32 ->+                                 T_MultinameInfo +sem_MultinameInfo_MultinameLA set_  =+    (case (({-# LINE 109 "src/SymbolTables.ag" #-}+            Name (QualNss $ Ref set_) Nothing+            {-# LINE 1722 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOname | _lhsOname `seq` (True) ->+     ( _lhsOname) })+sem_MultinameInfo_QName :: Word32 ->+                           Word32 ->+                           T_MultinameInfo +sem_MultinameInfo_QName namespace_ name_  =+    (case (({-# LINE 105 "src/SymbolTables.ag" #-}+            Name (QualNs $ Ref namespace_) (Just $ Ref name_)+            {-# LINE 1732 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOname | _lhsOname `seq` (True) ->+     ( _lhsOname) })+sem_MultinameInfo_QNameA :: Word32 ->+                            Word32 ->+                            T_MultinameInfo +sem_MultinameInfo_QNameA namespace_ name_  =+    (case (({-# LINE 105 "src/SymbolTables.ag" #-}+            Name (QualNs $ Ref namespace_) (Just $ Ref name_)+            {-# LINE 1742 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOname | _lhsOname `seq` (True) ->+     ( _lhsOname) })+sem_MultinameInfo_RTQName :: Word32 ->+                             T_MultinameInfo +sem_MultinameInfo_RTQName name_  =+    (case (({-# LINE 106 "src/SymbolTables.ag" #-}+            Name QualLate (Just $ Ref name_)+            {-# LINE 1751 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOname | _lhsOname `seq` (True) ->+     ( _lhsOname) })+sem_MultinameInfo_RTQNameA :: Word32 ->+                              T_MultinameInfo +sem_MultinameInfo_RTQNameA name_  =+    (case (({-# LINE 106 "src/SymbolTables.ag" #-}+            Name QualLate (Just $ Ref name_)+            {-# LINE 1760 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOname | _lhsOname `seq` (True) ->+     ( _lhsOname) })+sem_MultinameInfo_RTQNameL :: T_MultinameInfo +sem_MultinameInfo_RTQNameL  =+    (case (({-# LINE 107 "src/SymbolTables.ag" #-}+            Name QualLate Nothing+            {-# LINE 1768 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOname | _lhsOname `seq` (True) ->+     ( _lhsOname) })+sem_MultinameInfo_RTQNameLA :: T_MultinameInfo +sem_MultinameInfo_RTQNameLA  =+    (case (({-# LINE 107 "src/SymbolTables.ag" #-}+            Name QualLate Nothing+            {-# LINE 1776 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOname | _lhsOname `seq` (True) ->+     ( _lhsOname) })+-- MultinameInfos ----------------------------------------------+-- cata+sem_MultinameInfos :: MultinameInfos  ->+                      T_MultinameInfos +sem_MultinameInfos list  =+    (Prelude.foldr sem_MultinameInfos_Cons sem_MultinameInfos_Nil (Prelude.map sem_MultinameInfo list) )+-- semantic domain+type T_MultinameInfos  = ( ([Name]))+sem_MultinameInfos_Cons :: T_MultinameInfo  ->+                           T_MultinameInfos  ->+                           T_MultinameInfos +sem_MultinameInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlInames) | True ->+         (case (({-# LINE 101 "src/SymbolTables.ag" #-}+                 _tlInames+                 {-# LINE 1796 "src/SymbolTables.hs" #-}+                 )) of+          { _names_augmented_syn | _names_augmented_syn `seq` (True) ->+          (case (hd_ ) of+           { ( _hdIname) | True ->+               (case (({-# LINE 101 "src/SymbolTables.ag" #-}+                       (_hdIname :)+                       {-# LINE 1803 "src/SymbolTables.hs" #-}+                       )) of+                { _names_augmented_f1 | _names_augmented_f1 `seq` (True) ->+                (case (({-# LINE 101 "src/SymbolTables.ag" #-}+                        foldr ($) _names_augmented_syn [_names_augmented_f1]+                        {-# LINE 1808 "src/SymbolTables.hs" #-}+                        )) of+                 { _lhsOnames | _lhsOnames `seq` (True) ->+                 ( _lhsOnames) }) }) }) }) })+sem_MultinameInfos_Nil :: T_MultinameInfos +sem_MultinameInfos_Nil  =+    (case (({-# LINE 100 "src/SymbolTables.ag" #-}+            []+            {-# LINE 1816 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOnames | _lhsOnames `seq` (True) ->+     ( _lhsOnames) })+-- MultinameKind -----------------------------------------------+-- cata+sem_MultinameKind :: MultinameKind  ->+                     T_MultinameKind +sem_MultinameKind (MultinameKind_Generic )  =+    (sem_MultinameKind_Generic )+sem_MultinameKind (MultinameKind_Multiname )  =+    (sem_MultinameKind_Multiname )+sem_MultinameKind (MultinameKind_MultinameA )  =+    (sem_MultinameKind_MultinameA )+sem_MultinameKind (MultinameKind_MultinameL )  =+    (sem_MultinameKind_MultinameL )+sem_MultinameKind (MultinameKind_MultinameLA )  =+    (sem_MultinameKind_MultinameLA )+sem_MultinameKind (MultinameKind_QName )  =+    (sem_MultinameKind_QName )+sem_MultinameKind (MultinameKind_QNameA )  =+    (sem_MultinameKind_QNameA )+sem_MultinameKind (MultinameKind_RTQName )  =+    (sem_MultinameKind_RTQName )+sem_MultinameKind (MultinameKind_RTQNameA )  =+    (sem_MultinameKind_RTQNameA )+sem_MultinameKind (MultinameKind_RTQNameL )  =+    (sem_MultinameKind_RTQNameL )+sem_MultinameKind (MultinameKind_RTQNameLA )  =+    (sem_MultinameKind_RTQNameLA )+-- semantic domain+type T_MultinameKind  = ( )+sem_MultinameKind_Generic :: T_MultinameKind +sem_MultinameKind_Generic  =+    ( )+sem_MultinameKind_Multiname :: T_MultinameKind +sem_MultinameKind_Multiname  =+    ( )+sem_MultinameKind_MultinameA :: T_MultinameKind +sem_MultinameKind_MultinameA  =+    ( )+sem_MultinameKind_MultinameL :: T_MultinameKind +sem_MultinameKind_MultinameL  =+    ( )+sem_MultinameKind_MultinameLA :: T_MultinameKind +sem_MultinameKind_MultinameLA  =+    ( )+sem_MultinameKind_QName :: T_MultinameKind +sem_MultinameKind_QName  =+    ( )+sem_MultinameKind_QNameA :: T_MultinameKind +sem_MultinameKind_QNameA  =+    ( )+sem_MultinameKind_RTQName :: T_MultinameKind +sem_MultinameKind_RTQName  =+    ( )+sem_MultinameKind_RTQNameA :: T_MultinameKind +sem_MultinameKind_RTQNameA  =+    ( )+sem_MultinameKind_RTQNameL :: T_MultinameKind +sem_MultinameKind_RTQNameL  =+    ( )+sem_MultinameKind_RTQNameLA :: T_MultinameKind +sem_MultinameKind_RTQNameLA  =+    ( )+-- NamespaceInfo -----------------------------------------------+-- cata+sem_NamespaceInfo :: NamespaceInfo  ->+                     T_NamespaceInfo +sem_NamespaceInfo (NamespaceInfo_Info _kind _name )  =+    (sem_NamespaceInfo_Info (sem_NamespaceKind _kind ) _name )+-- semantic domain+type T_NamespaceInfo  = ( Namespace)+sem_NamespaceInfo_Info :: T_NamespaceKind  ->+                          Word32 ->+                          T_NamespaceInfo +sem_NamespaceInfo_Info kind_ name_  =+    (case (({-# LINE 146 "src/SymbolTables.ag" #-}+            Namespace $ Ref name_+            {-# LINE 1895 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOname | _lhsOname `seq` (True) ->+     ( _lhsOname) })+-- NamespaceInfos ----------------------------------------------+-- cata+sem_NamespaceInfos :: NamespaceInfos  ->+                      T_NamespaceInfos +sem_NamespaceInfos list  =+    (Prelude.foldr sem_NamespaceInfos_Cons sem_NamespaceInfos_Nil (Prelude.map sem_NamespaceInfo list) )+-- semantic domain+type T_NamespaceInfos  = ( ([Namespace]))+sem_NamespaceInfos_Cons :: T_NamespaceInfo  ->+                           T_NamespaceInfos  ->+                           T_NamespaceInfos +sem_NamespaceInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIspaces) | True ->+         (case (({-# LINE 143 "src/SymbolTables.ag" #-}+                 _tlIspaces+                 {-# LINE 1915 "src/SymbolTables.hs" #-}+                 )) of+          { _spaces_augmented_syn | _spaces_augmented_syn `seq` (True) ->+          (case (hd_ ) of+           { ( _hdIname) | True ->+               (case (({-# LINE 143 "src/SymbolTables.ag" #-}+                       (_hdIname :)+                       {-# LINE 1922 "src/SymbolTables.hs" #-}+                       )) of+                { _spaces_augmented_f1 | _spaces_augmented_f1 `seq` (True) ->+                (case (({-# LINE 143 "src/SymbolTables.ag" #-}+                        foldr ($) _spaces_augmented_syn [_spaces_augmented_f1]+                        {-# LINE 1927 "src/SymbolTables.hs" #-}+                        )) of+                 { _lhsOspaces | _lhsOspaces `seq` (True) ->+                 ( _lhsOspaces) }) }) }) }) })+sem_NamespaceInfos_Nil :: T_NamespaceInfos +sem_NamespaceInfos_Nil  =+    (case (({-# LINE 142 "src/SymbolTables.ag" #-}+            []+            {-# LINE 1935 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOspaces | _lhsOspaces `seq` (True) ->+     ( _lhsOspaces) })+-- NamespaceKind -----------------------------------------------+-- cata+sem_NamespaceKind :: NamespaceKind  ->+                     T_NamespaceKind +sem_NamespaceKind (NamespaceKind_Explicit )  =+    (sem_NamespaceKind_Explicit )+sem_NamespaceKind (NamespaceKind_General )  =+    (sem_NamespaceKind_General )+sem_NamespaceKind (NamespaceKind_Internal )  =+    (sem_NamespaceKind_Internal )+sem_NamespaceKind (NamespaceKind_Package )  =+    (sem_NamespaceKind_Package )+sem_NamespaceKind (NamespaceKind_Private )  =+    (sem_NamespaceKind_Private )+sem_NamespaceKind (NamespaceKind_Protected )  =+    (sem_NamespaceKind_Protected )+sem_NamespaceKind (NamespaceKind_Static )  =+    (sem_NamespaceKind_Static )+-- semantic domain+type T_NamespaceKind  = ( )+sem_NamespaceKind_Explicit :: T_NamespaceKind +sem_NamespaceKind_Explicit  =+    ( )+sem_NamespaceKind_General :: T_NamespaceKind +sem_NamespaceKind_General  =+    ( )+sem_NamespaceKind_Internal :: T_NamespaceKind +sem_NamespaceKind_Internal  =+    ( )+sem_NamespaceKind_Package :: T_NamespaceKind +sem_NamespaceKind_Package  =+    ( )+sem_NamespaceKind_Private :: T_NamespaceKind +sem_NamespaceKind_Private  =+    ( )+sem_NamespaceKind_Protected :: T_NamespaceKind +sem_NamespaceKind_Protected  =+    ( )+sem_NamespaceKind_Static :: T_NamespaceKind +sem_NamespaceKind_Static  =+    ( )+-- NamespaceNames ----------------------------------------------+-- cata+sem_NamespaceNames :: NamespaceNames  ->+                      T_NamespaceNames +sem_NamespaceNames list  =+    (Prelude.foldr sem_NamespaceNames_Cons sem_NamespaceNames_Nil list )+-- semantic domain+type T_NamespaceNames  = ( NamespaceNames )+sem_NamespaceNames_Cons :: Word32 ->+                           T_NamespaceNames  ->+                           T_NamespaceNames +sem_NamespaceNames_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlInames) | True ->+         (case (({-# LINE 129 "src/SymbolTables.ag" #-}+                 (:) hd_ _tlInames+                 {-# LINE 1996 "src/SymbolTables.hs" #-}+                 )) of+          { _names | _names `seq` (True) ->+          (case (({-# LINE 129 "src/SymbolTables.ag" #-}+                  _names+                  {-# LINE 2001 "src/SymbolTables.hs" #-}+                  )) of+           { _lhsOnames | _lhsOnames `seq` (True) ->+           ( _lhsOnames) }) }) })+sem_NamespaceNames_Nil :: T_NamespaceNames +sem_NamespaceNames_Nil  =+    (case (({-# LINE 129 "src/SymbolTables.ag" #-}+            []+            {-# LINE 2009 "src/SymbolTables.hs" #-}+            )) of+     { _names | _names `seq` (True) ->+     (case (({-# LINE 129 "src/SymbolTables.ag" #-}+             _names+             {-# LINE 2014 "src/SymbolTables.hs" #-}+             )) of+      { _lhsOnames | _lhsOnames `seq` (True) ->+      ( _lhsOnames) }) })+-- Optional ----------------------------------------------------+-- cata+sem_Optional :: Optional  ->+                T_Optional +sem_Optional (Optional_Detail _val _kind )  =+    (sem_Optional_Detail _val (sem_ValueKind _kind ) )+-- semantic domain+type T_Optional  = ( )+sem_Optional_Detail :: Word32 ->+                       T_ValueKind  ->+                       T_Optional +sem_Optional_Detail val_ kind_  =+    ( )+-- Optionals ---------------------------------------------------+-- cata+sem_Optionals :: Optionals  ->+                 T_Optionals +sem_Optionals list  =+    (Prelude.foldr sem_Optionals_Cons sem_Optionals_Nil (Prelude.map sem_Optional list) )+-- semantic domain+type T_Optionals  = ( )+sem_Optionals_Cons :: T_Optional  ->+                      T_Optionals  ->+                      T_Optionals +sem_Optionals_Cons hd_ tl_  =+    ( )+sem_Optionals_Nil :: T_Optionals +sem_Optionals_Nil  =+    ( )+-- ParamNames --------------------------------------------------+-- cata+sem_ParamNames :: ParamNames  ->+                  T_ParamNames +sem_ParamNames list  =+    (Prelude.foldr sem_ParamNames_Cons sem_ParamNames_Nil list )+-- semantic domain+type T_ParamNames  = ( ParamNames )+sem_ParamNames_Cons :: Word32 ->+                       T_ParamNames  ->+                       T_ParamNames +sem_ParamNames_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlInames) | True ->+         (case (({-# LINE 171 "src/SymbolTables.ag" #-}+                 (:) hd_ _tlInames+                 {-# LINE 2063 "src/SymbolTables.hs" #-}+                 )) of+          { _names | _names `seq` (True) ->+          (case (({-# LINE 171 "src/SymbolTables.ag" #-}+                  _names+                  {-# LINE 2068 "src/SymbolTables.hs" #-}+                  )) of+           { _lhsOnames | _lhsOnames `seq` (True) ->+           ( _lhsOnames) }) }) })+sem_ParamNames_Nil :: T_ParamNames +sem_ParamNames_Nil  =+    (case (({-# LINE 171 "src/SymbolTables.ag" #-}+            []+            {-# LINE 2076 "src/SymbolTables.hs" #-}+            )) of+     { _names | _names `seq` (True) ->+     (case (({-# LINE 171 "src/SymbolTables.ag" #-}+             _names+             {-# LINE 2081 "src/SymbolTables.hs" #-}+             )) of+      { _lhsOnames | _lhsOnames `seq` (True) ->+      ( _lhsOnames) }) })+-- ParamTypes --------------------------------------------------+-- cata+sem_ParamTypes :: ParamTypes  ->+                  T_ParamTypes +sem_ParamTypes list  =+    (Prelude.foldr sem_ParamTypes_Cons sem_ParamTypes_Nil list )+-- semantic domain+type T_ParamTypes  = ( ParamTypes )+sem_ParamTypes_Cons :: Word32 ->+                       T_ParamTypes  ->+                       T_ParamTypes +sem_ParamTypes_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlItypes) | True ->+         (case (({-# LINE 172 "src/SymbolTables.ag" #-}+                 (:) hd_ _tlItypes+                 {-# LINE 2101 "src/SymbolTables.hs" #-}+                 )) of+          { _types | _types `seq` (True) ->+          (case (({-# LINE 172 "src/SymbolTables.ag" #-}+                  _types+                  {-# LINE 2106 "src/SymbolTables.hs" #-}+                  )) of+           { _lhsOtypes | _lhsOtypes `seq` (True) ->+           ( _lhsOtypes) }) }) })+sem_ParamTypes_Nil :: T_ParamTypes +sem_ParamTypes_Nil  =+    (case (({-# LINE 172 "src/SymbolTables.ag" #-}+            []+            {-# LINE 2114 "src/SymbolTables.hs" #-}+            )) of+     { _types | _types `seq` (True) ->+     (case (({-# LINE 172 "src/SymbolTables.ag" #-}+             _types+             {-# LINE 2119 "src/SymbolTables.hs" #-}+             )) of+      { _lhsOtypes | _lhsOtypes `seq` (True) ->+      ( _lhsOtypes) }) })+-- PoolDoubles -------------------------------------------------+-- cata+sem_PoolDoubles :: PoolDoubles  ->+                   T_PoolDoubles +sem_PoolDoubles list  =+    (Prelude.foldr sem_PoolDoubles_Cons sem_PoolDoubles_Nil list )+-- semantic domain+type T_PoolDoubles  = ( ([Double]))+sem_PoolDoubles_Cons :: Double ->+                        T_PoolDoubles  ->+                        T_PoolDoubles +sem_PoolDoubles_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIvalues) | True ->+         (case (({-# LINE 84 "src/SymbolTables.ag" #-}+                 _tlIvalues+                 {-# LINE 2139 "src/SymbolTables.hs" #-}+                 )) of+          { _values_augmented_syn | _values_augmented_syn `seq` (True) ->+          (case (({-# LINE 84 "src/SymbolTables.ag" #-}+                  (hd_ :)+                  {-# LINE 2144 "src/SymbolTables.hs" #-}+                  )) of+           { _values_augmented_f1 | _values_augmented_f1 `seq` (True) ->+           (case (({-# LINE 84 "src/SymbolTables.ag" #-}+                   foldr ($) _values_augmented_syn [_values_augmented_f1]+                   {-# LINE 2149 "src/SymbolTables.hs" #-}+                   )) of+            { _lhsOvalues | _lhsOvalues `seq` (True) ->+            ( _lhsOvalues) }) }) }) })+sem_PoolDoubles_Nil :: T_PoolDoubles +sem_PoolDoubles_Nil  =+    (case (({-# LINE 83 "src/SymbolTables.ag" #-}+            []+            {-# LINE 2157 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOvalues | _lhsOvalues `seq` (True) ->+     ( _lhsOvalues) })+-- PoolInfo ----------------------------------------------------+-- cata+sem_PoolInfo :: PoolInfo  ->+                T_PoolInfo +sem_PoolInfo (PoolInfo_Info _integers _uintegers _doubles _strings _namespaces _namesets _multinames )  =+    (sem_PoolInfo_Info (sem_PoolInts _integers ) (sem_PoolUInts _uintegers ) (sem_PoolDoubles _doubles ) (sem_PoolStrings _strings ) (sem_NamespaceInfos _namespaces ) (sem_SetInfos _namesets ) (sem_MultinameInfos _multinames ) )+-- semantic domain+type T_PoolInfo  = ( DoublePool,IntPool,NamePool,NamesetsPool,NamespacePool,StringPool,UIntPool)+sem_PoolInfo_Info :: T_PoolInts  ->+                     T_PoolUInts  ->+                     T_PoolDoubles  ->+                     T_PoolStrings  ->+                     T_NamespaceInfos  ->+                     T_SetInfos  ->+                     T_MultinameInfos  ->+                     T_PoolInfo +sem_PoolInfo_Info integers_ uintegers_ doubles_ strings_ namespaces_ namesets_ multinames_  =+    (case (doubles_ ) of+     { ( _doublesIvalues) | True ->+         (case (({-# LINE 72 "src/SymbolTables.ag" #-}+                 listEnv $ zip [1..] _doublesIvalues+                 {-# LINE 2182 "src/SymbolTables.hs" #-}+                 )) of+          { _lhsOgathDoublePool | _lhsOgathDoublePool `seq` (True) ->+          (case (integers_ ) of+           { ( _integersIvalues) | True ->+               (case (({-# LINE 70 "src/SymbolTables.ag" #-}+                       listEnv $ zip [1..] _integersIvalues+                       {-# LINE 2189 "src/SymbolTables.hs" #-}+                       )) of+                { _lhsOgathIntPool | _lhsOgathIntPool `seq` (True) ->+                (case (multinames_ ) of+                 { ( _multinamesInames) | True ->+                     (case (({-# LINE 98 "src/SymbolTables.ag" #-}+                             listEnv $ zip [1..] _multinamesInames+                             {-# LINE 2196 "src/SymbolTables.hs" #-}+                             )) of+                      { _lhsOgathNamePool | _lhsOgathNamePool `seq` (True) ->+                      (case (namesets_ ) of+                       { ( _namesetsIsets) | True ->+                           (case (({-# LINE 121 "src/SymbolTables.ag" #-}+                                   listEnv $ zip [1..] _namesetsIsets+                                   {-# LINE 2203 "src/SymbolTables.hs" #-}+                                   )) of+                            { _lhsOgathNamesetsPool | _lhsOgathNamesetsPool `seq` (True) ->+                            (case (namespaces_ ) of+                             { ( _namespacesIspaces) | True ->+                                 (case (({-# LINE 140 "src/SymbolTables.ag" #-}+                                         listEnv $ zip [1..] _namespacesIspaces+                                         {-# LINE 2210 "src/SymbolTables.hs" #-}+                                         )) of+                                  { _lhsOgathNamespacePool | _lhsOgathNamespacePool `seq` (True) ->+                                  (case (strings_ ) of+                                   { ( _stringsIvalues) | True ->+                                       (case (({-# LINE 69 "src/SymbolTables.ag" #-}+                                               listEnv $ zip [1..] _stringsIvalues+                                               {-# LINE 2217 "src/SymbolTables.hs" #-}+                                               )) of+                                        { _lhsOgathStringPool | _lhsOgathStringPool `seq` (True) ->+                                        (case (uintegers_ ) of+                                         { ( _uintegersIvalues) | True ->+                                             (case (({-# LINE 71 "src/SymbolTables.ag" #-}+                                                     listEnv $ zip [1..] _uintegersIvalues+                                                     {-# LINE 2224 "src/SymbolTables.hs" #-}+                                                     )) of+                                              { _lhsOgathUIntPool | _lhsOgathUIntPool `seq` (True) ->+                                              ( _lhsOgathDoublePool,_lhsOgathIntPool,_lhsOgathNamePool,_lhsOgathNamesetsPool,_lhsOgathNamespacePool,_lhsOgathStringPool,_lhsOgathUIntPool) }) }) }) }) }) }) }) }) }) }) }) }) }) })+-- PoolInts ----------------------------------------------------+-- cata+sem_PoolInts :: PoolInts  ->+                T_PoolInts +sem_PoolInts list  =+    (Prelude.foldr sem_PoolInts_Cons sem_PoolInts_Nil list )+-- semantic domain+type T_PoolInts  = ( ([Word32]))+sem_PoolInts_Cons :: Word32 ->+                     T_PoolInts  ->+                     T_PoolInts +sem_PoolInts_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIvalues) | True ->+         (case (({-# LINE 78 "src/SymbolTables.ag" #-}+                 _tlIvalues+                 {-# LINE 2244 "src/SymbolTables.hs" #-}+                 )) of+          { _values_augmented_syn | _values_augmented_syn `seq` (True) ->+          (case (({-# LINE 78 "src/SymbolTables.ag" #-}+                  (hd_ :)+                  {-# LINE 2249 "src/SymbolTables.hs" #-}+                  )) of+           { _values_augmented_f1 | _values_augmented_f1 `seq` (True) ->+           (case (({-# LINE 78 "src/SymbolTables.ag" #-}+                   foldr ($) _values_augmented_syn [_values_augmented_f1]+                   {-# LINE 2254 "src/SymbolTables.hs" #-}+                   )) of+            { _lhsOvalues | _lhsOvalues `seq` (True) ->+            ( _lhsOvalues) }) }) }) })+sem_PoolInts_Nil :: T_PoolInts +sem_PoolInts_Nil  =+    (case (({-# LINE 77 "src/SymbolTables.ag" #-}+            []+            {-# LINE 2262 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOvalues | _lhsOvalues `seq` (True) ->+     ( _lhsOvalues) })+-- PoolStrings -------------------------------------------------+-- cata+sem_PoolStrings :: PoolStrings  ->+                   T_PoolStrings +sem_PoolStrings list  =+    (Prelude.foldr sem_PoolStrings_Cons sem_PoolStrings_Nil list )+-- semantic domain+type T_PoolStrings  = ( ([String]))+sem_PoolStrings_Cons :: ByteString ->+                        T_PoolStrings  ->+                        T_PoolStrings +sem_PoolStrings_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIvalues) | True ->+         (case (({-# LINE 75 "src/SymbolTables.ag" #-}+                 _tlIvalues+                 {-# LINE 2282 "src/SymbolTables.hs" #-}+                 )) of+          { _values_augmented_syn | _values_augmented_syn `seq` (True) ->+          (case (({-# LINE 75 "src/SymbolTables.ag" #-}+                  ((decode $ unpack hd_) :)+                  {-# LINE 2287 "src/SymbolTables.hs" #-}+                  )) of+           { _values_augmented_f1 | _values_augmented_f1 `seq` (True) ->+           (case (({-# LINE 75 "src/SymbolTables.ag" #-}+                   foldr ($) _values_augmented_syn [_values_augmented_f1]+                   {-# LINE 2292 "src/SymbolTables.hs" #-}+                   )) of+            { _lhsOvalues | _lhsOvalues `seq` (True) ->+            ( _lhsOvalues) }) }) }) })+sem_PoolStrings_Nil :: T_PoolStrings +sem_PoolStrings_Nil  =+    (case (({-# LINE 74 "src/SymbolTables.ag" #-}+            []+            {-# LINE 2300 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOvalues | _lhsOvalues `seq` (True) ->+     ( _lhsOvalues) })+-- PoolUInts ---------------------------------------------------+-- cata+sem_PoolUInts :: PoolUInts  ->+                 T_PoolUInts +sem_PoolUInts list  =+    (Prelude.foldr sem_PoolUInts_Cons sem_PoolUInts_Nil list )+-- semantic domain+type T_PoolUInts  = ( ([Word32]))+sem_PoolUInts_Cons :: Word32 ->+                      T_PoolUInts  ->+                      T_PoolUInts +sem_PoolUInts_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIvalues) | True ->+         (case (({-# LINE 81 "src/SymbolTables.ag" #-}+                 _tlIvalues+                 {-# LINE 2320 "src/SymbolTables.hs" #-}+                 )) of+          { _values_augmented_syn | _values_augmented_syn `seq` (True) ->+          (case (({-# LINE 81 "src/SymbolTables.ag" #-}+                  (hd_ :)+                  {-# LINE 2325 "src/SymbolTables.hs" #-}+                  )) of+           { _values_augmented_f1 | _values_augmented_f1 `seq` (True) ->+           (case (({-# LINE 81 "src/SymbolTables.ag" #-}+                   foldr ($) _values_augmented_syn [_values_augmented_f1]+                   {-# LINE 2330 "src/SymbolTables.hs" #-}+                   )) of+            { _lhsOvalues | _lhsOvalues `seq` (True) ->+            ( _lhsOvalues) }) }) }) })+sem_PoolUInts_Nil :: T_PoolUInts +sem_PoolUInts_Nil  =+    (case (({-# LINE 80 "src/SymbolTables.ag" #-}+            []+            {-# LINE 2338 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOvalues | _lhsOvalues `seq` (True) ->+     ( _lhsOvalues) })+-- Rect --------------------------------------------------------+-- cata+sem_Rect :: Rect  ->+            T_Rect +sem_Rect (Rect_Rect _bits _xMin _xMax _yMin _yMax )  =+    (sem_Rect_Rect _bits _xMin _xMax _yMin _yMax )+-- semantic domain+type T_Rect  = ( )+sem_Rect_Rect :: Int ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 T_Rect +sem_Rect_Rect bits_ xMin_ xMax_ yMin_ yMax_  =+    ( )+-- ScriptInfo --------------------------------------------------+-- cata+sem_ScriptInfo :: ScriptInfo  ->+                  T_ScriptInfo +sem_ScriptInfo (ScriptInfo_Info _method _traits )  =+    (sem_ScriptInfo_Info _method (sem_Traits _traits ) )+-- semantic domain+type T_ScriptInfo  = ( )+sem_ScriptInfo_Info :: Word32 ->+                       T_Traits  ->+                       T_ScriptInfo +sem_ScriptInfo_Info method_ traits_  =+    ( )+-- ScriptInfos -------------------------------------------------+-- cata+sem_ScriptInfos :: ScriptInfos  ->+                   T_ScriptInfos +sem_ScriptInfos list  =+    (Prelude.foldr sem_ScriptInfos_Cons sem_ScriptInfos_Nil (Prelude.map sem_ScriptInfo list) )+-- semantic domain+type T_ScriptInfos  = ( )+sem_ScriptInfos_Cons :: T_ScriptInfo  ->+                        T_ScriptInfos  ->+                        T_ScriptInfos +sem_ScriptInfos_Cons hd_ tl_  =+    ( )+sem_ScriptInfos_Nil :: T_ScriptInfos +sem_ScriptInfos_Nil  =+    ( )+-- SetInfo -----------------------------------------------------+-- cata+sem_SetInfo :: SetInfo  ->+               T_SetInfo +sem_SetInfo (SetInfo_Info _names )  =+    (sem_SetInfo_Info (sem_NamespaceNames _names ) )+-- semantic domain+type T_SetInfo  = ( Nameset)+sem_SetInfo_Info :: T_NamespaceNames  ->+                    T_SetInfo +sem_SetInfo_Info names_  =+    (case (names_ ) of+     { ( _namesInames) | True ->+         (case (({-# LINE 127 "src/SymbolTables.ag" #-}+                 Nameset (map Ref _namesInames)+                 {-# LINE 2402 "src/SymbolTables.hs" #-}+                 )) of+          { _lhsOset | _lhsOset `seq` (True) ->+          ( _lhsOset) }) })+-- SetInfos ----------------------------------------------------+-- cata+sem_SetInfos :: SetInfos  ->+                T_SetInfos +sem_SetInfos list  =+    (Prelude.foldr sem_SetInfos_Cons sem_SetInfos_Nil (Prelude.map sem_SetInfo list) )+-- semantic domain+type T_SetInfos  = ( ([Nameset]))+sem_SetInfos_Cons :: T_SetInfo  ->+                     T_SetInfos  ->+                     T_SetInfos +sem_SetInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIsets) | True ->+         (case (({-# LINE 124 "src/SymbolTables.ag" #-}+                 _tlIsets+                 {-# LINE 2422 "src/SymbolTables.hs" #-}+                 )) of+          { _sets_augmented_syn | _sets_augmented_syn `seq` (True) ->+          (case (hd_ ) of+           { ( _hdIset) | True ->+               (case (({-# LINE 124 "src/SymbolTables.ag" #-}+                       (_hdIset :)+                       {-# LINE 2429 "src/SymbolTables.hs" #-}+                       )) of+                { _sets_augmented_f1 | _sets_augmented_f1 `seq` (True) ->+                (case (({-# LINE 124 "src/SymbolTables.ag" #-}+                        foldr ($) _sets_augmented_syn [_sets_augmented_f1]+                        {-# LINE 2434 "src/SymbolTables.hs" #-}+                        )) of+                 { _lhsOsets | _lhsOsets `seq` (True) ->+                 ( _lhsOsets) }) }) }) }) })+sem_SetInfos_Nil :: T_SetInfos +sem_SetInfos_Nil  =+    (case (({-# LINE 123 "src/SymbolTables.ag" #-}+            []+            {-# LINE 2442 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOsets | _lhsOsets `seq` (True) ->+     ( _lhsOsets) })+-- SwfFile -----------------------------------------------------+-- cata+sem_SwfFile :: SwfFile  ->+               T_SwfFile +sem_SwfFile (SwfFile_File _compressed _version _length _size _rate _count _tags )  =+    (sem_SwfFile_File _compressed _version _length (sem_Rect _size ) _rate _count (sem_Tags _tags ) )+-- semantic domain+type T_SwfFile  = ( ([SymbolTables]))+data Inh_SwfFile  = Inh_SwfFile {}+data Syn_SwfFile  = Syn_SwfFile {allTables_Syn_SwfFile :: !(([SymbolTables]))}+wrap_SwfFile :: T_SwfFile  ->+                Inh_SwfFile  ->+                Syn_SwfFile +wrap_SwfFile sem (Inh_SwfFile )  =+    (let ( _lhsOallTables) | True = sem +     in  (Syn_SwfFile _lhsOallTables ))+sem_SwfFile_File :: Bool ->+                    Word8 ->+                    Word32 ->+                    T_Rect  ->+                    Word16 ->+                    Word16 ->+                    T_Tags  ->+                    T_SwfFile +sem_SwfFile_File compressed_ version_ length_ size_ rate_ count_ tags_  =+    (case (tags_ ) of+     { ( _tagsIallTables) | True ->+         (case (({-# LINE 60 "src/SymbolTables.ag" #-}+                 _tagsIallTables+                 {-# LINE 2475 "src/SymbolTables.hs" #-}+                 )) of+          { _lhsOallTables | _lhsOallTables `seq` (True) ->+          ( _lhsOallTables) }) })+-- Tag ---------------------------------------------------------+-- cata+sem_Tag :: Tag  ->+           T_Tag +sem_Tag (Tag_Abc _flags _name _file )  =+    (sem_Tag_Abc (sem_AbcFlags _flags ) _name (sem_AbcFile _file ) )+sem_Tag (Tag_End )  =+    (sem_Tag_End )+sem_Tag (Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )  =+    (sem_Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )+sem_Tag (Tag_Opaque _kind _length _body )  =+    (sem_Tag_Opaque (sem_TagKind _kind ) _length _body )+-- semantic domain+type T_Tag  = ( ([SymbolTables]))+sem_Tag_Abc :: T_AbcFlags  ->+               ByteString ->+               T_AbcFile  ->+               T_Tag +sem_Tag_Abc flags_ name_ file_  =+    (case (file_ ) of+     { ( _fileIallTables,_fileItables) | True ->+         (case (({-# LINE 60 "src/SymbolTables.ag" #-}+                 _fileIallTables+                 {-# LINE 2502 "src/SymbolTables.hs" #-}+                 )) of+          { _lhsOallTables | _lhsOallTables `seq` (True) ->+          ( _lhsOallTables) }) })+sem_Tag_End :: T_Tag +sem_Tag_End  =+    (case (({-# LINE 60 "src/SymbolTables.ag" #-}+            []+            {-# LINE 2510 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOallTables | _lhsOallTables `seq` (True) ->+     ( _lhsOallTables) })+sem_Tag_FileAttributes :: Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          T_Tag +sem_Tag_FileAttributes useDirectBlit_ useGPU_ hasMetaData_ hasAS3_ useNetwork_  =+    (case (({-# LINE 60 "src/SymbolTables.ag" #-}+            []+            {-# LINE 2523 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOallTables | _lhsOallTables `seq` (True) ->+     ( _lhsOallTables) })+sem_Tag_Opaque :: T_TagKind  ->+                  Word32 ->+                  ByteString ->+                  T_Tag +sem_Tag_Opaque kind_ length_ body_  =+    (case (({-# LINE 60 "src/SymbolTables.ag" #-}+            []+            {-# LINE 2534 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOallTables | _lhsOallTables `seq` (True) ->+     ( _lhsOallTables) })+-- TagKind -----------------------------------------------------+-- cata+sem_TagKind :: TagKind  ->+               T_TagKind +sem_TagKind (TagKind_CSMTextSettings )  =+    (sem_TagKind_CSMTextSettings )+sem_TagKind (TagKind_DefineBinaryData )  =+    (sem_TagKind_DefineBinaryData )+sem_TagKind (TagKind_DefineBits )  =+    (sem_TagKind_DefineBits )+sem_TagKind (TagKind_DefineBitsJPEG2 )  =+    (sem_TagKind_DefineBitsJPEG2 )+sem_TagKind (TagKind_DefineBitsJPEG3 )  =+    (sem_TagKind_DefineBitsJPEG3 )+sem_TagKind (TagKind_DefineBitsJPEG4 )  =+    (sem_TagKind_DefineBitsJPEG4 )+sem_TagKind (TagKind_DefineBitsLossless )  =+    (sem_TagKind_DefineBitsLossless )+sem_TagKind (TagKind_DefineBitsLossless2 )  =+    (sem_TagKind_DefineBitsLossless2 )+sem_TagKind (TagKind_DefineButton )  =+    (sem_TagKind_DefineButton )+sem_TagKind (TagKind_DefineButton2 )  =+    (sem_TagKind_DefineButton2 )+sem_TagKind (TagKind_DefineButtonCxform )  =+    (sem_TagKind_DefineButtonCxform )+sem_TagKind (TagKind_DefineButtonSound )  =+    (sem_TagKind_DefineButtonSound )+sem_TagKind (TagKind_DefineEditText )  =+    (sem_TagKind_DefineEditText )+sem_TagKind (TagKind_DefineFont )  =+    (sem_TagKind_DefineFont )+sem_TagKind (TagKind_DefineFont2 )  =+    (sem_TagKind_DefineFont2 )+sem_TagKind (TagKind_DefineFont3 )  =+    (sem_TagKind_DefineFont3 )+sem_TagKind (TagKind_DefineFont4 )  =+    (sem_TagKind_DefineFont4 )+sem_TagKind (TagKind_DefineFontAlignZones )  =+    (sem_TagKind_DefineFontAlignZones )+sem_TagKind (TagKind_DefineFontInfo )  =+    (sem_TagKind_DefineFontInfo )+sem_TagKind (TagKind_DefineFontInfo2 )  =+    (sem_TagKind_DefineFontInfo2 )+sem_TagKind (TagKind_DefineFontName )  =+    (sem_TagKind_DefineFontName )+sem_TagKind (TagKind_DefineMorphShape )  =+    (sem_TagKind_DefineMorphShape )+sem_TagKind (TagKind_DefineMorphShape2 )  =+    (sem_TagKind_DefineMorphShape2 )+sem_TagKind (TagKind_DefineScalingGrid )  =+    (sem_TagKind_DefineScalingGrid )+sem_TagKind (TagKind_DefineSceneAndFrameLabelData )  =+    (sem_TagKind_DefineSceneAndFrameLabelData )+sem_TagKind (TagKind_DefineShape )  =+    (sem_TagKind_DefineShape )+sem_TagKind (TagKind_DefineShape2 )  =+    (sem_TagKind_DefineShape2 )+sem_TagKind (TagKind_DefineShape3 )  =+    (sem_TagKind_DefineShape3 )+sem_TagKind (TagKind_DefineShape4 )  =+    (sem_TagKind_DefineShape4 )+sem_TagKind (TagKind_DefineSound )  =+    (sem_TagKind_DefineSound )+sem_TagKind (TagKind_DefineSprite )  =+    (sem_TagKind_DefineSprite )+sem_TagKind (TagKind_DefineText )  =+    (sem_TagKind_DefineText )+sem_TagKind (TagKind_DefineText2 )  =+    (sem_TagKind_DefineText2 )+sem_TagKind (TagKind_DefineVideoStream )  =+    (sem_TagKind_DefineVideoStream )+sem_TagKind (TagKind_DoABC )  =+    (sem_TagKind_DoABC )+sem_TagKind (TagKind_DoAction )  =+    (sem_TagKind_DoAction )+sem_TagKind (TagKind_DoInitAction )  =+    (sem_TagKind_DoInitAction )+sem_TagKind (TagKind_EnableDebugger )  =+    (sem_TagKind_EnableDebugger )+sem_TagKind (TagKind_EnableDebugger2 )  =+    (sem_TagKind_EnableDebugger2 )+sem_TagKind (TagKind_End )  =+    (sem_TagKind_End )+sem_TagKind (TagKind_ExportAssets )  =+    (sem_TagKind_ExportAssets )+sem_TagKind (TagKind_FileAttributes )  =+    (sem_TagKind_FileAttributes )+sem_TagKind (TagKind_FrameLabel )  =+    (sem_TagKind_FrameLabel )+sem_TagKind (TagKind_ImportAssets )  =+    (sem_TagKind_ImportAssets )+sem_TagKind (TagKind_ImportAssets2 )  =+    (sem_TagKind_ImportAssets2 )+sem_TagKind (TagKind_JPEGTables )  =+    (sem_TagKind_JPEGTables )+sem_TagKind (TagKind_Metadata )  =+    (sem_TagKind_Metadata )+sem_TagKind (TagKind_Other _code )  =+    (sem_TagKind_Other _code )+sem_TagKind (TagKind_PlaceObject )  =+    (sem_TagKind_PlaceObject )+sem_TagKind (TagKind_PlaceObject2 )  =+    (sem_TagKind_PlaceObject2 )+sem_TagKind (TagKind_PlaceObject3 )  =+    (sem_TagKind_PlaceObject3 )+sem_TagKind (TagKind_Protect )  =+    (sem_TagKind_Protect )+sem_TagKind (TagKind_RemoveObject )  =+    (sem_TagKind_RemoveObject )+sem_TagKind (TagKind_RemoveObject2 )  =+    (sem_TagKind_RemoveObject2 )+sem_TagKind (TagKind_ScriptLimits )  =+    (sem_TagKind_ScriptLimits )+sem_TagKind (TagKind_SetBackgroundColor )  =+    (sem_TagKind_SetBackgroundColor )+sem_TagKind (TagKind_SetTabIndex )  =+    (sem_TagKind_SetTabIndex )+sem_TagKind (TagKind_ShowFrame )  =+    (sem_TagKind_ShowFrame )+sem_TagKind (TagKind_SoundStreamBlock )  =+    (sem_TagKind_SoundStreamBlock )+sem_TagKind (TagKind_SoundStreamHead )  =+    (sem_TagKind_SoundStreamHead )+sem_TagKind (TagKind_SoundStreamHead2 )  =+    (sem_TagKind_SoundStreamHead2 )+sem_TagKind (TagKind_StartSound )  =+    (sem_TagKind_StartSound )+sem_TagKind (TagKind_StartSound2 )  =+    (sem_TagKind_StartSound2 )+sem_TagKind (TagKind_SymbolClass )  =+    (sem_TagKind_SymbolClass )+sem_TagKind (TagKind_VideoFrame )  =+    (sem_TagKind_VideoFrame )+-- semantic domain+type T_TagKind  = ( )+sem_TagKind_CSMTextSettings :: T_TagKind +sem_TagKind_CSMTextSettings  =+    ( )+sem_TagKind_DefineBinaryData :: T_TagKind +sem_TagKind_DefineBinaryData  =+    ( )+sem_TagKind_DefineBits :: T_TagKind +sem_TagKind_DefineBits  =+    ( )+sem_TagKind_DefineBitsJPEG2 :: T_TagKind +sem_TagKind_DefineBitsJPEG2  =+    ( )+sem_TagKind_DefineBitsJPEG3 :: T_TagKind +sem_TagKind_DefineBitsJPEG3  =+    ( )+sem_TagKind_DefineBitsJPEG4 :: T_TagKind +sem_TagKind_DefineBitsJPEG4  =+    ( )+sem_TagKind_DefineBitsLossless :: T_TagKind +sem_TagKind_DefineBitsLossless  =+    ( )+sem_TagKind_DefineBitsLossless2 :: T_TagKind +sem_TagKind_DefineBitsLossless2  =+    ( )+sem_TagKind_DefineButton :: T_TagKind +sem_TagKind_DefineButton  =+    ( )+sem_TagKind_DefineButton2 :: T_TagKind +sem_TagKind_DefineButton2  =+    ( )+sem_TagKind_DefineButtonCxform :: T_TagKind +sem_TagKind_DefineButtonCxform  =+    ( )+sem_TagKind_DefineButtonSound :: T_TagKind +sem_TagKind_DefineButtonSound  =+    ( )+sem_TagKind_DefineEditText :: T_TagKind +sem_TagKind_DefineEditText  =+    ( )+sem_TagKind_DefineFont :: T_TagKind +sem_TagKind_DefineFont  =+    ( )+sem_TagKind_DefineFont2 :: T_TagKind +sem_TagKind_DefineFont2  =+    ( )+sem_TagKind_DefineFont3 :: T_TagKind +sem_TagKind_DefineFont3  =+    ( )+sem_TagKind_DefineFont4 :: T_TagKind +sem_TagKind_DefineFont4  =+    ( )+sem_TagKind_DefineFontAlignZones :: T_TagKind +sem_TagKind_DefineFontAlignZones  =+    ( )+sem_TagKind_DefineFontInfo :: T_TagKind +sem_TagKind_DefineFontInfo  =+    ( )+sem_TagKind_DefineFontInfo2 :: T_TagKind +sem_TagKind_DefineFontInfo2  =+    ( )+sem_TagKind_DefineFontName :: T_TagKind +sem_TagKind_DefineFontName  =+    ( )+sem_TagKind_DefineMorphShape :: T_TagKind +sem_TagKind_DefineMorphShape  =+    ( )+sem_TagKind_DefineMorphShape2 :: T_TagKind +sem_TagKind_DefineMorphShape2  =+    ( )+sem_TagKind_DefineScalingGrid :: T_TagKind +sem_TagKind_DefineScalingGrid  =+    ( )+sem_TagKind_DefineSceneAndFrameLabelData :: T_TagKind +sem_TagKind_DefineSceneAndFrameLabelData  =+    ( )+sem_TagKind_DefineShape :: T_TagKind +sem_TagKind_DefineShape  =+    ( )+sem_TagKind_DefineShape2 :: T_TagKind +sem_TagKind_DefineShape2  =+    ( )+sem_TagKind_DefineShape3 :: T_TagKind +sem_TagKind_DefineShape3  =+    ( )+sem_TagKind_DefineShape4 :: T_TagKind +sem_TagKind_DefineShape4  =+    ( )+sem_TagKind_DefineSound :: T_TagKind +sem_TagKind_DefineSound  =+    ( )+sem_TagKind_DefineSprite :: T_TagKind +sem_TagKind_DefineSprite  =+    ( )+sem_TagKind_DefineText :: T_TagKind +sem_TagKind_DefineText  =+    ( )+sem_TagKind_DefineText2 :: T_TagKind +sem_TagKind_DefineText2  =+    ( )+sem_TagKind_DefineVideoStream :: T_TagKind +sem_TagKind_DefineVideoStream  =+    ( )+sem_TagKind_DoABC :: T_TagKind +sem_TagKind_DoABC  =+    ( )+sem_TagKind_DoAction :: T_TagKind +sem_TagKind_DoAction  =+    ( )+sem_TagKind_DoInitAction :: T_TagKind +sem_TagKind_DoInitAction  =+    ( )+sem_TagKind_EnableDebugger :: T_TagKind +sem_TagKind_EnableDebugger  =+    ( )+sem_TagKind_EnableDebugger2 :: T_TagKind +sem_TagKind_EnableDebugger2  =+    ( )+sem_TagKind_End :: T_TagKind +sem_TagKind_End  =+    ( )+sem_TagKind_ExportAssets :: T_TagKind +sem_TagKind_ExportAssets  =+    ( )+sem_TagKind_FileAttributes :: T_TagKind +sem_TagKind_FileAttributes  =+    ( )+sem_TagKind_FrameLabel :: T_TagKind +sem_TagKind_FrameLabel  =+    ( )+sem_TagKind_ImportAssets :: T_TagKind +sem_TagKind_ImportAssets  =+    ( )+sem_TagKind_ImportAssets2 :: T_TagKind +sem_TagKind_ImportAssets2  =+    ( )+sem_TagKind_JPEGTables :: T_TagKind +sem_TagKind_JPEGTables  =+    ( )+sem_TagKind_Metadata :: T_TagKind +sem_TagKind_Metadata  =+    ( )+sem_TagKind_Other :: Word16 ->+                     T_TagKind +sem_TagKind_Other code_  =+    ( )+sem_TagKind_PlaceObject :: T_TagKind +sem_TagKind_PlaceObject  =+    ( )+sem_TagKind_PlaceObject2 :: T_TagKind +sem_TagKind_PlaceObject2  =+    ( )+sem_TagKind_PlaceObject3 :: T_TagKind +sem_TagKind_PlaceObject3  =+    ( )+sem_TagKind_Protect :: T_TagKind +sem_TagKind_Protect  =+    ( )+sem_TagKind_RemoveObject :: T_TagKind +sem_TagKind_RemoveObject  =+    ( )+sem_TagKind_RemoveObject2 :: T_TagKind +sem_TagKind_RemoveObject2  =+    ( )+sem_TagKind_ScriptLimits :: T_TagKind +sem_TagKind_ScriptLimits  =+    ( )+sem_TagKind_SetBackgroundColor :: T_TagKind +sem_TagKind_SetBackgroundColor  =+    ( )+sem_TagKind_SetTabIndex :: T_TagKind +sem_TagKind_SetTabIndex  =+    ( )+sem_TagKind_ShowFrame :: T_TagKind +sem_TagKind_ShowFrame  =+    ( )+sem_TagKind_SoundStreamBlock :: T_TagKind +sem_TagKind_SoundStreamBlock  =+    ( )+sem_TagKind_SoundStreamHead :: T_TagKind +sem_TagKind_SoundStreamHead  =+    ( )+sem_TagKind_SoundStreamHead2 :: T_TagKind +sem_TagKind_SoundStreamHead2  =+    ( )+sem_TagKind_StartSound :: T_TagKind +sem_TagKind_StartSound  =+    ( )+sem_TagKind_StartSound2 :: T_TagKind +sem_TagKind_StartSound2  =+    ( )+sem_TagKind_SymbolClass :: T_TagKind +sem_TagKind_SymbolClass  =+    ( )+sem_TagKind_VideoFrame :: T_TagKind +sem_TagKind_VideoFrame  =+    ( )+-- Tags --------------------------------------------------------+-- cata+sem_Tags :: Tags  ->+            T_Tags +sem_Tags list  =+    (Prelude.foldr sem_Tags_Cons sem_Tags_Nil (Prelude.map sem_Tag list) )+-- semantic domain+type T_Tags  = ( ([SymbolTables]))+sem_Tags_Cons :: T_Tag  ->+                 T_Tags  ->+                 T_Tags +sem_Tags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIallTables) | True ->+         (case (hd_ ) of+          { ( _hdIallTables) | True ->+              (case (({-# LINE 60 "src/SymbolTables.ag" #-}+                      _hdIallTables ++ _tlIallTables+                      {-# LINE 2888 "src/SymbolTables.hs" #-}+                      )) of+               { _lhsOallTables | _lhsOallTables `seq` (True) ->+               ( _lhsOallTables) }) }) })+sem_Tags_Nil :: T_Tags +sem_Tags_Nil  =+    (case (({-# LINE 60 "src/SymbolTables.ag" #-}+            []+            {-# LINE 2896 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOallTables | _lhsOallTables `seq` (True) ->+     ( _lhsOallTables) })+-- Trait -------------------------------------------------------+-- cata+sem_Trait :: Trait  ->+             T_Trait +sem_Trait (Trait_Trait _name _data _attrs _meta )  =+    (sem_Trait_Trait _name (sem_TraitData _data ) (sem_TraitAttrs _attrs ) (sem_TraitMeta _meta ) )+-- semantic domain+type T_Trait  = ( TraitDescr)+sem_Trait_Trait :: Word32 ->+                   T_TraitData  ->+                   T_TraitAttrs  ->+                   T_TraitMeta  ->+                   T_Trait +sem_Trait_Trait name_ data_ attrs_ meta_  =+    (case (data_ ) of+     { ( _dataIbody) | True ->+         (case (({-# LINE 218 "src/SymbolTables.ag" #-}+                 TraitDescr (Ref name_) _dataIbody+                 {-# LINE 2918 "src/SymbolTables.hs" #-}+                 )) of+          { _lhsOtraitInfo | _lhsOtraitInfo `seq` (True) ->+          ( _lhsOtraitInfo) }) })+-- TraitAttr ---------------------------------------------------+-- cata+sem_TraitAttr :: TraitAttr  ->+                 T_TraitAttr +sem_TraitAttr (TraitAttr_Final )  =+    (sem_TraitAttr_Final )+sem_TraitAttr (TraitAttr_Metadata )  =+    (sem_TraitAttr_Metadata )+sem_TraitAttr (TraitAttr_Override )  =+    (sem_TraitAttr_Override )+-- semantic domain+type T_TraitAttr  = ( )+sem_TraitAttr_Final :: T_TraitAttr +sem_TraitAttr_Final  =+    ( )+sem_TraitAttr_Metadata :: T_TraitAttr +sem_TraitAttr_Metadata  =+    ( )+sem_TraitAttr_Override :: T_TraitAttr +sem_TraitAttr_Override  =+    ( )+-- TraitAttrs --------------------------------------------------+-- cata+sem_TraitAttrs :: TraitAttrs  ->+                  T_TraitAttrs +sem_TraitAttrs list  =+    (Prelude.foldr sem_TraitAttrs_Cons sem_TraitAttrs_Nil (Prelude.map sem_TraitAttr list) )+-- semantic domain+type T_TraitAttrs  = ( )+sem_TraitAttrs_Cons :: T_TraitAttr  ->+                       T_TraitAttrs  ->+                       T_TraitAttrs +sem_TraitAttrs_Cons hd_ tl_  =+    ( )+sem_TraitAttrs_Nil :: T_TraitAttrs +sem_TraitAttrs_Nil  =+    ( )+-- TraitData ---------------------------------------------------+-- cata+sem_TraitData :: TraitData  ->+                 T_TraitData +sem_TraitData (TraitData_Class _slotId _class )  =+    (sem_TraitData_Class _slotId _class )+sem_TraitData (TraitData_Const _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Const _slotId _tp _vindex (sem_ValueKind _vkind ) )+sem_TraitData (TraitData_Function _dispId _method )  =+    (sem_TraitData_Function _dispId _method )+sem_TraitData (TraitData_Getter _dispId _method )  =+    (sem_TraitData_Getter _dispId _method )+sem_TraitData (TraitData_Method _dispId _method )  =+    (sem_TraitData_Method _dispId _method )+sem_TraitData (TraitData_Setter _dispId _method )  =+    (sem_TraitData_Setter _dispId _method )+sem_TraitData (TraitData_Slot _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Slot _slotId _tp _vindex (sem_ValueKind _vkind ) )+-- semantic domain+type T_TraitData  = ( TraitBody)+sem_TraitData_Class :: Word32 ->+                       Word32 ->+                       T_TraitData +sem_TraitData_Class slotId_ class_  =+    (case (({-# LINE 224 "src/SymbolTables.ag" #-}+            TraitClass $ Ref class_+            {-# LINE 2985 "src/SymbolTables.hs" #-}+            )) of+     { _lhsObody | _lhsObody `seq` (True) ->+     ( _lhsObody) })+sem_TraitData_Const :: Word32 ->+                       Word32 ->+                       Word32 ->+                       T_ValueKind  ->+                       T_TraitData +sem_TraitData_Const slotId_ tp_ vindex_ vkind_  =+    (case (({-# LINE 222 "src/SymbolTables.ag" #-}+            TraitField $ Ref tp_+            {-# LINE 2997 "src/SymbolTables.hs" #-}+            )) of+     { _lhsObody | _lhsObody `seq` (True) ->+     ( _lhsObody) })+sem_TraitData_Function :: Word32 ->+                          Word32 ->+                          T_TraitData +sem_TraitData_Function dispId_ method_  =+    (case (({-# LINE 223 "src/SymbolTables.ag" #-}+            TraitMethod $ Ref method_+            {-# LINE 3007 "src/SymbolTables.hs" #-}+            )) of+     { _lhsObody | _lhsObody `seq` (True) ->+     ( _lhsObody) })+sem_TraitData_Getter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Getter dispId_ method_  =+    (case (({-# LINE 223 "src/SymbolTables.ag" #-}+            TraitMethod $ Ref method_+            {-# LINE 3017 "src/SymbolTables.hs" #-}+            )) of+     { _lhsObody | _lhsObody `seq` (True) ->+     ( _lhsObody) })+sem_TraitData_Method :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Method dispId_ method_  =+    (case (({-# LINE 223 "src/SymbolTables.ag" #-}+            TraitMethod $ Ref method_+            {-# LINE 3027 "src/SymbolTables.hs" #-}+            )) of+     { _lhsObody | _lhsObody `seq` (True) ->+     ( _lhsObody) })+sem_TraitData_Setter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Setter dispId_ method_  =+    (case (({-# LINE 223 "src/SymbolTables.ag" #-}+            TraitMethod $ Ref method_+            {-# LINE 3037 "src/SymbolTables.hs" #-}+            )) of+     { _lhsObody | _lhsObody `seq` (True) ->+     ( _lhsObody) })+sem_TraitData_Slot :: Word32 ->+                      Word32 ->+                      Word32 ->+                      T_ValueKind  ->+                      T_TraitData +sem_TraitData_Slot slotId_ tp_ vindex_ vkind_  =+    (case (({-# LINE 222 "src/SymbolTables.ag" #-}+            TraitField $ Ref tp_+            {-# LINE 3049 "src/SymbolTables.hs" #-}+            )) of+     { _lhsObody | _lhsObody `seq` (True) ->+     ( _lhsObody) })+-- TraitKind ---------------------------------------------------+-- cata+sem_TraitKind :: TraitKind  ->+                 T_TraitKind +sem_TraitKind (TraitKind_Class )  =+    (sem_TraitKind_Class )+sem_TraitKind (TraitKind_Const )  =+    (sem_TraitKind_Const )+sem_TraitKind (TraitKind_Function )  =+    (sem_TraitKind_Function )+sem_TraitKind (TraitKind_Getter )  =+    (sem_TraitKind_Getter )+sem_TraitKind (TraitKind_Method )  =+    (sem_TraitKind_Method )+sem_TraitKind (TraitKind_Setter )  =+    (sem_TraitKind_Setter )+sem_TraitKind (TraitKind_Slot )  =+    (sem_TraitKind_Slot )+-- semantic domain+type T_TraitKind  = ( )+sem_TraitKind_Class :: T_TraitKind +sem_TraitKind_Class  =+    ( )+sem_TraitKind_Const :: T_TraitKind +sem_TraitKind_Const  =+    ( )+sem_TraitKind_Function :: T_TraitKind +sem_TraitKind_Function  =+    ( )+sem_TraitKind_Getter :: T_TraitKind +sem_TraitKind_Getter  =+    ( )+sem_TraitKind_Method :: T_TraitKind +sem_TraitKind_Method  =+    ( )+sem_TraitKind_Setter :: T_TraitKind +sem_TraitKind_Setter  =+    ( )+sem_TraitKind_Slot :: T_TraitKind +sem_TraitKind_Slot  =+    ( )+-- TraitMeta ---------------------------------------------------+-- cata+sem_TraitMeta :: TraitMeta  ->+                 T_TraitMeta +sem_TraitMeta list  =+    (Prelude.foldr sem_TraitMeta_Cons sem_TraitMeta_Nil list )+-- semantic domain+type T_TraitMeta  = ( )+sem_TraitMeta_Cons :: Word32 ->+                      T_TraitMeta  ->+                      T_TraitMeta +sem_TraitMeta_Cons hd_ tl_  =+    ( )+sem_TraitMeta_Nil :: T_TraitMeta +sem_TraitMeta_Nil  =+    ( )+-- Traits ------------------------------------------------------+-- cata+sem_Traits :: Traits  ->+              T_Traits +sem_Traits list  =+    (Prelude.foldr sem_Traits_Cons sem_Traits_Nil (Prelude.map sem_Trait list) )+-- semantic domain+type T_Traits  = ( TraitDescrs)+sem_Traits_Cons :: T_Trait  ->+                   T_Traits  ->+                   T_Traits +sem_Traits_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIgathInfos) | True ->+         (case (hd_ ) of+          { ( _hdItraitInfo) | True ->+              (case (({-# LINE 214 "src/SymbolTables.ag" #-}+                      _hdItraitInfo : _tlIgathInfos+                      {-# LINE 3128 "src/SymbolTables.hs" #-}+                      )) of+               { _lhsOgathInfos | _lhsOgathInfos `seq` (True) ->+               ( _lhsOgathInfos) }) }) })+sem_Traits_Nil :: T_Traits +sem_Traits_Nil  =+    (case (({-# LINE 213 "src/SymbolTables.ag" #-}+            []+            {-# LINE 3136 "src/SymbolTables.hs" #-}+            )) of+     { _lhsOgathInfos | _lhsOgathInfos `seq` (True) ->+     ( _lhsOgathInfos) })+-- ValueKind ---------------------------------------------------+-- cata+sem_ValueKind :: ValueKind  ->+                 T_ValueKind +sem_ValueKind (ValueKind_Double )  =+    (sem_ValueKind_Double )+sem_ValueKind (ValueKind_Explicit )  =+    (sem_ValueKind_Explicit )+sem_ValueKind (ValueKind_False )  =+    (sem_ValueKind_False )+sem_ValueKind (ValueKind_Int )  =+    (sem_ValueKind_Int )+sem_ValueKind (ValueKind_Internal )  =+    (sem_ValueKind_Internal )+sem_ValueKind (ValueKind_Namespace )  =+    (sem_ValueKind_Namespace )+sem_ValueKind (ValueKind_Null )  =+    (sem_ValueKind_Null )+sem_ValueKind (ValueKind_Package )  =+    (sem_ValueKind_Package )+sem_ValueKind (ValueKind_Private )  =+    (sem_ValueKind_Private )+sem_ValueKind (ValueKind_Protected )  =+    (sem_ValueKind_Protected )+sem_ValueKind (ValueKind_Static )  =+    (sem_ValueKind_Static )+sem_ValueKind (ValueKind_True )  =+    (sem_ValueKind_True )+sem_ValueKind (ValueKind_UInt )  =+    (sem_ValueKind_UInt )+sem_ValueKind (ValueKind_Undefined )  =+    (sem_ValueKind_Undefined )+sem_ValueKind (ValueKind_Utf8 )  =+    (sem_ValueKind_Utf8 )+-- semantic domain+type T_ValueKind  = ( )+sem_ValueKind_Double :: T_ValueKind +sem_ValueKind_Double  =+    ( )+sem_ValueKind_Explicit :: T_ValueKind +sem_ValueKind_Explicit  =+    ( )+sem_ValueKind_False :: T_ValueKind +sem_ValueKind_False  =+    ( )+sem_ValueKind_Int :: T_ValueKind +sem_ValueKind_Int  =+    ( )+sem_ValueKind_Internal :: T_ValueKind +sem_ValueKind_Internal  =+    ( )+sem_ValueKind_Namespace :: T_ValueKind +sem_ValueKind_Namespace  =+    ( )+sem_ValueKind_Null :: T_ValueKind +sem_ValueKind_Null  =+    ( )+sem_ValueKind_Package :: T_ValueKind +sem_ValueKind_Package  =+    ( )+sem_ValueKind_Private :: T_ValueKind +sem_ValueKind_Private  =+    ( )+sem_ValueKind_Protected :: T_ValueKind +sem_ValueKind_Protected  =+    ( )+sem_ValueKind_Static :: T_ValueKind +sem_ValueKind_Static  =+    ( )+sem_ValueKind_True :: T_ValueKind +sem_ValueKind_True  =+    ( )+sem_ValueKind_UInt :: T_ValueKind +sem_ValueKind_UInt  =+    ( )+sem_ValueKind_Undefined :: T_ValueKind +sem_ValueKind_Undefined  =+    ( )+sem_ValueKind_Utf8 :: T_ValueKind +sem_ValueKind_Utf8  =+    ( )
+ dist/build/TrfInjectAbc.hs view
@@ -0,0 +1,6764 @@+++-- UUAGC 0.9.36 (src/TrfInjectAbc.ag)+module TrfInjectAbc(injectAbc) where++{-# LINE 6 "src/TrfInjectAbc.ag" #-}++import Data.ByteString.Lazy(ByteString,pack)+import ByteCode+import Data.Word+import qualified Data.Set as Set+import Data.Set(Set)+import qualified Data.Map as Map+import Data.Map(Map)+import Codec.Binary.UTF8.String+{-# LINE 17 "dist/src/sdist.27680/asil-1.2/dist/build/TrfInjectAbc.hs" #-}+{-# LINE 20 "src/TrfInjectAbc.ag" #-}++-- | Injects the given .abc code after the last .abc block in the flash file.+--   If you want to inject multiple chunks of .abc code, subjected+--   to a partial order: convert it in a total order and inject+--   in that order.+injectAbc :: String -> AbcFile -> SwfFile -> SwfFile+injectAbc name code file = out where+  inh = Inh_SwfFile { abc_Inh_SwfFile = code, name_Inh_SwfFile = name }+  sem = sem_SwfFile file+  syn = wrap_SwfFile sem inh+  out = output_Syn_SwfFile syn+{-# LINE 30 "dist/src/sdist.27680/asil-1.2/dist/build/TrfInjectAbc.hs" #-}+-- AbcFile -----------------------------------------------------+-- cata+sem_AbcFile :: AbcFile  ->+               T_AbcFile +sem_AbcFile (AbcFile_File _minorVersion _majorVersion _constantPool _methods _metadatas _instances _classes _scripts _bodies )  =+    (sem_AbcFile_File _minorVersion _majorVersion (sem_PoolInfo _constantPool ) (sem_MethodInfos _methods ) (sem_MetaInfos _metadatas ) (sem_InstanceInfos _instances ) (sem_ClassInfos _classes ) (sem_ScriptInfos _scripts ) (sem_BodyInfos _bodies ) )+-- semantic domain+type T_AbcFile  = ( AbcFile )+sem_AbcFile_File :: Word16 ->+                    Word16 ->+                    T_PoolInfo  ->+                    T_MethodInfos  ->+                    T_MetaInfos  ->+                    T_InstanceInfos  ->+                    T_ClassInfos  ->+                    T_ScriptInfos  ->+                    T_BodyInfos  ->+                    T_AbcFile +sem_AbcFile_File minorVersion_ majorVersion_ constantPool_ methods_ metadatas_ instances_ classes_ scripts_ bodies_  =+    (case (bodies_ ) of+     { ( _bodiesIoutput) | True ->+         (case (scripts_ ) of+          { ( _scriptsIoutput) | True ->+              (case (classes_ ) of+               { ( _classesIoutput) | True ->+                   (case (instances_ ) of+                    { ( _instancesIoutput) | True ->+                        (case (metadatas_ ) of+                         { ( _metadatasIoutput) | True ->+                             (case (methods_ ) of+                              { ( _methodsIoutput) | True ->+                                  (case (constantPool_ ) of+                                   { ( _constantPoolIoutput) | True ->+                                       (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                                               AbcFile_File minorVersion_ majorVersion_ _constantPoolIoutput _methodsIoutput _metadatasIoutput _instancesIoutput _classesIoutput _scriptsIoutput _bodiesIoutput+                                               {-# LINE 66 "src/TrfInjectAbc.hs" #-}+                                               )) of+                                        { _output | _output `seq` (True) ->+                                        (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                                                _output+                                                {-# LINE 71 "src/TrfInjectAbc.hs" #-}+                                                )) of+                                         { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                         ( _lhsOoutput) }) }) }) }) }) }) }) }) })+-- AbcFlag -----------------------------------------------------+-- cata+sem_AbcFlag :: AbcFlag  ->+               T_AbcFlag +sem_AbcFlag (AbcFlag_LazyInit )  =+    (sem_AbcFlag_LazyInit )+-- semantic domain+type T_AbcFlag  = ( AbcFlag )+sem_AbcFlag_LazyInit :: T_AbcFlag +sem_AbcFlag_LazyInit  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            AbcFlag_LazyInit+            {-# LINE 87 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 92 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- AbcFlags ----------------------------------------------------+-- cata+sem_AbcFlags :: AbcFlags  ->+                T_AbcFlags +sem_AbcFlags list  =+    (Prelude.foldr sem_AbcFlags_Cons sem_AbcFlags_Nil (Prelude.map sem_AbcFlag list) )+-- semantic domain+type T_AbcFlags  = ( AbcFlags )+sem_AbcFlags_Cons :: T_AbcFlag  ->+                     T_AbcFlags  ->+                     T_AbcFlags +sem_AbcFlags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 114 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 119 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_AbcFlags_Nil :: T_AbcFlags +sem_AbcFlags_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 127 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 132 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- BodyInfo ----------------------------------------------------+-- cata+sem_BodyInfo :: BodyInfo  ->+                T_BodyInfo +sem_BodyInfo (BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth _instructions _exceptions _traits )  =+    (sem_BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth (sem_Instructions _instructions ) (sem_Exceptions _exceptions ) (sem_Traits _traits ) )+-- semantic domain+type T_BodyInfo  = ( BodyInfo )+sem_BodyInfo_Info :: Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     T_Instructions  ->+                     T_Exceptions  ->+                     T_Traits  ->+                     T_BodyInfo +sem_BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ instructions_ exceptions_ traits_  =+    (case (traits_ ) of+     { ( _traitsIoutput) | True ->+         (case (exceptions_ ) of+          { ( _exceptionsIoutput) | True ->+              (case (instructions_ ) of+               { ( _instructionsIoutput) | True ->+                   (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                           BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ _instructionsIoutput _exceptionsIoutput _traitsIoutput+                           {-# LINE 162 "src/TrfInjectAbc.hs" #-}+                           )) of+                    { _output | _output `seq` (True) ->+                    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                            _output+                            {-# LINE 167 "src/TrfInjectAbc.hs" #-}+                            )) of+                     { _lhsOoutput | _lhsOoutput `seq` (True) ->+                     ( _lhsOoutput) }) }) }) }) })+-- BodyInfos ---------------------------------------------------+-- cata+sem_BodyInfos :: BodyInfos  ->+                 T_BodyInfos +sem_BodyInfos list  =+    (Prelude.foldr sem_BodyInfos_Cons sem_BodyInfos_Nil (Prelude.map sem_BodyInfo list) )+-- semantic domain+type T_BodyInfos  = ( BodyInfos )+sem_BodyInfos_Cons :: T_BodyInfo  ->+                      T_BodyInfos  ->+                      T_BodyInfos +sem_BodyInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 189 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 194 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_BodyInfos_Nil :: T_BodyInfos +sem_BodyInfos_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 202 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 207 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- CaseOffsets -------------------------------------------------+-- cata+sem_CaseOffsets :: CaseOffsets  ->+                   T_CaseOffsets +sem_CaseOffsets list  =+    (Prelude.foldr sem_CaseOffsets_Cons sem_CaseOffsets_Nil list )+-- semantic domain+type T_CaseOffsets  = ( CaseOffsets )+sem_CaseOffsets_Cons :: Word32 ->+                        T_CaseOffsets  ->+                        T_CaseOffsets +sem_CaseOffsets_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 (:) hd_ _tlIoutput+                 {-# LINE 227 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 232 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_CaseOffsets_Nil :: T_CaseOffsets +sem_CaseOffsets_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 240 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 245 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- ClassInfo ---------------------------------------------------+-- cata+sem_ClassInfo :: ClassInfo  ->+                 T_ClassInfo +sem_ClassInfo (ClassInfo_Info _con _traits )  =+    (sem_ClassInfo_Info _con (sem_Traits _traits ) )+-- semantic domain+type T_ClassInfo  = ( ClassInfo )+sem_ClassInfo_Info :: Word32 ->+                      T_Traits  ->+                      T_ClassInfo +sem_ClassInfo_Info con_ traits_  =+    (case (traits_ ) of+     { ( _traitsIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 ClassInfo_Info con_ _traitsIoutput+                 {-# LINE 265 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 270 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+-- ClassInfos --------------------------------------------------+-- cata+sem_ClassInfos :: ClassInfos  ->+                  T_ClassInfos +sem_ClassInfos list  =+    (Prelude.foldr sem_ClassInfos_Cons sem_ClassInfos_Nil (Prelude.map sem_ClassInfo list) )+-- semantic domain+type T_ClassInfos  = ( ClassInfos )+sem_ClassInfos_Cons :: T_ClassInfo  ->+                       T_ClassInfos  ->+                       T_ClassInfos +sem_ClassInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 292 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 297 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_ClassInfos_Nil :: T_ClassInfos +sem_ClassInfos_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 305 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 310 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- DebugType ---------------------------------------------------+-- cata+sem_DebugType :: DebugType  ->+                 T_DebugType +sem_DebugType (DebugType_Local )  =+    (sem_DebugType_Local )+-- semantic domain+type T_DebugType  = ( DebugType )+sem_DebugType_Local :: T_DebugType +sem_DebugType_Local  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            DebugType_Local+            {-# LINE 326 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 331 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- Exception ---------------------------------------------------+-- cata+sem_Exception :: Exception  ->+                 T_Exception +sem_Exception (Exception_Info _from _to _target _tp _name )  =+    (sem_Exception_Info _from _to _target _tp _name )+-- semantic domain+type T_Exception  = ( Exception )+sem_Exception_Info :: Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      T_Exception +sem_Exception_Info from_ to_ target_ tp_ name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Exception_Info from_ to_ target_ tp_ name_+            {-# LINE 352 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 357 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- Exceptions --------------------------------------------------+-- cata+sem_Exceptions :: Exceptions  ->+                  T_Exceptions +sem_Exceptions list  =+    (Prelude.foldr sem_Exceptions_Cons sem_Exceptions_Nil (Prelude.map sem_Exception list) )+-- semantic domain+type T_Exceptions  = ( Exceptions )+sem_Exceptions_Cons :: T_Exception  ->+                       T_Exceptions  ->+                       T_Exceptions +sem_Exceptions_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 379 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 384 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_Exceptions_Nil :: T_Exceptions +sem_Exceptions_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 392 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 397 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- InstanceFlag ------------------------------------------------+-- cata+sem_InstanceFlag :: InstanceFlag  ->+                    T_InstanceFlag +sem_InstanceFlag (InstanceFlag_ClassFinal )  =+    (sem_InstanceFlag_ClassFinal )+sem_InstanceFlag (InstanceFlag_ClassInterface )  =+    (sem_InstanceFlag_ClassInterface )+sem_InstanceFlag (InstanceFlag_ClassProtected )  =+    (sem_InstanceFlag_ClassProtected )+sem_InstanceFlag (InstanceFlag_ClassSealed )  =+    (sem_InstanceFlag_ClassSealed )+-- semantic domain+type T_InstanceFlag  = ( InstanceFlag )+sem_InstanceFlag_ClassFinal :: T_InstanceFlag +sem_InstanceFlag_ClassFinal  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            InstanceFlag_ClassFinal+            {-# LINE 419 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 424 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_InstanceFlag_ClassInterface :: T_InstanceFlag +sem_InstanceFlag_ClassInterface  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            InstanceFlag_ClassInterface+            {-# LINE 432 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 437 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_InstanceFlag_ClassProtected :: T_InstanceFlag +sem_InstanceFlag_ClassProtected  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            InstanceFlag_ClassProtected+            {-# LINE 445 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 450 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_InstanceFlag_ClassSealed :: T_InstanceFlag +sem_InstanceFlag_ClassSealed  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            InstanceFlag_ClassSealed+            {-# LINE 458 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 463 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- InstanceFlags -----------------------------------------------+-- cata+sem_InstanceFlags :: InstanceFlags  ->+                     T_InstanceFlags +sem_InstanceFlags list  =+    (Prelude.foldr sem_InstanceFlags_Cons sem_InstanceFlags_Nil (Prelude.map sem_InstanceFlag list) )+-- semantic domain+type T_InstanceFlags  = ( InstanceFlags )+sem_InstanceFlags_Cons :: T_InstanceFlag  ->+                          T_InstanceFlags  ->+                          T_InstanceFlags +sem_InstanceFlags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 485 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 490 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_InstanceFlags_Nil :: T_InstanceFlags +sem_InstanceFlags_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 498 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 503 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- InstanceInfo ------------------------------------------------+-- cata+sem_InstanceInfo :: InstanceInfo  ->+                    T_InstanceInfo +sem_InstanceInfo (InstanceInfo_Info _name _super _flags _protectedNs _interfaces _constructor _traits )  =+    (sem_InstanceInfo_Info _name _super (sem_InstanceFlags _flags ) _protectedNs (sem_Interfaces _interfaces ) _constructor (sem_Traits _traits ) )+-- semantic domain+type T_InstanceInfo  = ( InstanceInfo )+sem_InstanceInfo_Info :: Word32 ->+                         Word32 ->+                         T_InstanceFlags  ->+                         Word32 ->+                         T_Interfaces  ->+                         Word32 ->+                         T_Traits  ->+                         T_InstanceInfo +sem_InstanceInfo_Info name_ super_ flags_ protectedNs_ interfaces_ constructor_ traits_  =+    (case (traits_ ) of+     { ( _traitsIoutput) | True ->+         (case (interfaces_ ) of+          { ( _interfacesIoutput) | True ->+              (case (flags_ ) of+               { ( _flagsIoutput) | True ->+                   (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                           InstanceInfo_Info name_ super_ _flagsIoutput protectedNs_ _interfacesIoutput constructor_ _traitsIoutput+                           {-# LINE 532 "src/TrfInjectAbc.hs" #-}+                           )) of+                    { _output | _output `seq` (True) ->+                    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                            _output+                            {-# LINE 537 "src/TrfInjectAbc.hs" #-}+                            )) of+                     { _lhsOoutput | _lhsOoutput `seq` (True) ->+                     ( _lhsOoutput) }) }) }) }) })+-- InstanceInfos -----------------------------------------------+-- cata+sem_InstanceInfos :: InstanceInfos  ->+                     T_InstanceInfos +sem_InstanceInfos list  =+    (Prelude.foldr sem_InstanceInfos_Cons sem_InstanceInfos_Nil (Prelude.map sem_InstanceInfo list) )+-- semantic domain+type T_InstanceInfos  = ( InstanceInfos )+sem_InstanceInfos_Cons :: T_InstanceInfo  ->+                          T_InstanceInfos  ->+                          T_InstanceInfos +sem_InstanceInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 559 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 564 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_InstanceInfos_Nil :: T_InstanceInfos +sem_InstanceInfos_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 572 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 577 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- Instruction -------------------------------------------------+-- cata+sem_Instruction :: Instruction  ->+                   T_Instruction +sem_Instruction (Instruction_Add )  =+    (sem_Instruction_Add )+sem_Instruction (Instruction_Add_d )  =+    (sem_Instruction_Add_d )+sem_Instruction (Instruction_Add_i )  =+    (sem_Instruction_Add_i )+sem_Instruction (Instruction_ApplyType _name )  =+    (sem_Instruction_ApplyType _name )+sem_Instruction (Instruction_AsType _name )  =+    (sem_Instruction_AsType _name )+sem_Instruction (Instruction_AsTypeLate )  =+    (sem_Instruction_AsTypeLate )+sem_Instruction (Instruction_BitAnd )  =+    (sem_Instruction_BitAnd )+sem_Instruction (Instruction_BitNot )  =+    (sem_Instruction_BitNot )+sem_Instruction (Instruction_BitOr )  =+    (sem_Instruction_BitOr )+sem_Instruction (Instruction_BitXor )  =+    (sem_Instruction_BitXor )+sem_Instruction (Instruction_BreakLine _line )  =+    (sem_Instruction_BreakLine _line )+sem_Instruction (Instruction_Breakpoint )  =+    (sem_Instruction_Breakpoint )+sem_Instruction (Instruction_Call _argCount )  =+    (sem_Instruction_Call _argCount )+sem_Instruction (Instruction_CallInterface _name _argCount )  =+    (sem_Instruction_CallInterface _name _argCount )+sem_Instruction (Instruction_CallMethod _index _argCount )  =+    (sem_Instruction_CallMethod _index _argCount )+sem_Instruction (Instruction_CallProp _name _argCount )  =+    (sem_Instruction_CallProp _name _argCount )+sem_Instruction (Instruction_CallPropLex _name _argCount )  =+    (sem_Instruction_CallPropLex _name _argCount )+sem_Instruction (Instruction_CallPropVoid _name _argCount )  =+    (sem_Instruction_CallPropVoid _name _argCount )+sem_Instruction (Instruction_CallStatic _method _argCount )  =+    (sem_Instruction_CallStatic _method _argCount )+sem_Instruction (Instruction_CallSuper _name _argCount )  =+    (sem_Instruction_CallSuper _name _argCount )+sem_Instruction (Instruction_CallSuperId )  =+    (sem_Instruction_CallSuperId )+sem_Instruction (Instruction_CallSuperVoid _name _argCount )  =+    (sem_Instruction_CallSuperVoid _name _argCount )+sem_Instruction (Instruction_CheckFilter )  =+    (sem_Instruction_CheckFilter )+sem_Instruction (Instruction_Coerce _name )  =+    (sem_Instruction_Coerce _name )+sem_Instruction (Instruction_Coerce_a )  =+    (sem_Instruction_Coerce_a )+sem_Instruction (Instruction_Coerce_b )  =+    (sem_Instruction_Coerce_b )+sem_Instruction (Instruction_Coerce_d )  =+    (sem_Instruction_Coerce_d )+sem_Instruction (Instruction_Coerce_i )  =+    (sem_Instruction_Coerce_i )+sem_Instruction (Instruction_Coerce_o )  =+    (sem_Instruction_Coerce_o )+sem_Instruction (Instruction_Coerce_s )  =+    (sem_Instruction_Coerce_s )+sem_Instruction (Instruction_Coerce_u )  =+    (sem_Instruction_Coerce_u )+sem_Instruction (Instruction_Concat )  =+    (sem_Instruction_Concat )+sem_Instruction (Instruction_Construct _argCount )  =+    (sem_Instruction_Construct _argCount )+sem_Instruction (Instruction_ConstructProp _name _argCount )  =+    (sem_Instruction_ConstructProp _name _argCount )+sem_Instruction (Instruction_ConstructSuper _argCount )  =+    (sem_Instruction_ConstructSuper _argCount )+sem_Instruction (Instruction_Convert_b )  =+    (sem_Instruction_Convert_b )+sem_Instruction (Instruction_Convert_d )  =+    (sem_Instruction_Convert_d )+sem_Instruction (Instruction_Convert_i )  =+    (sem_Instruction_Convert_i )+sem_Instruction (Instruction_Convert_o )  =+    (sem_Instruction_Convert_o )+sem_Instruction (Instruction_Convert_s )  =+    (sem_Instruction_Convert_s )+sem_Instruction (Instruction_Convert_u )  =+    (sem_Instruction_Convert_u )+sem_Instruction (Instruction_Debug _tp _name _reg _extra )  =+    (sem_Instruction_Debug (sem_DebugType _tp ) _name _reg _extra )+sem_Instruction (Instruction_DebugFile _name )  =+    (sem_Instruction_DebugFile _name )+sem_Instruction (Instruction_DebugLine _line )  =+    (sem_Instruction_DebugLine _line )+sem_Instruction (Instruction_DecLocal _reg )  =+    (sem_Instruction_DecLocal _reg )+sem_Instruction (Instruction_DecLocal_i _reg )  =+    (sem_Instruction_DecLocal_i _reg )+sem_Instruction (Instruction_Decrement )  =+    (sem_Instruction_Decrement )+sem_Instruction (Instruction_Decrement_i )  =+    (sem_Instruction_Decrement_i )+sem_Instruction (Instruction_DeleteProperty _name )  =+    (sem_Instruction_DeleteProperty _name )+sem_Instruction (Instruction_DeletePropertyLate )  =+    (sem_Instruction_DeletePropertyLate )+sem_Instruction (Instruction_Divide )  =+    (sem_Instruction_Divide )+sem_Instruction (Instruction_Dup )  =+    (sem_Instruction_Dup )+sem_Instruction (Instruction_Dxns _name )  =+    (sem_Instruction_Dxns _name )+sem_Instruction (Instruction_DxnsLate )  =+    (sem_Instruction_DxnsLate )+sem_Instruction (Instruction_Equals )  =+    (sem_Instruction_Equals )+sem_Instruction (Instruction_EscXAttr )  =+    (sem_Instruction_EscXAttr )+sem_Instruction (Instruction_EscXElem )  =+    (sem_Instruction_EscXElem )+sem_Instruction (Instruction_FindDef _name )  =+    (sem_Instruction_FindDef _name )+sem_Instruction (Instruction_FindPropStrict _name )  =+    (sem_Instruction_FindPropStrict _name )+sem_Instruction (Instruction_FindProperty _name )  =+    (sem_Instruction_FindProperty _name )+sem_Instruction (Instruction_FindPropertyGlobal _name )  =+    (sem_Instruction_FindPropertyGlobal _name )+sem_Instruction (Instruction_FindPropertyGlobalStrict _name )  =+    (sem_Instruction_FindPropertyGlobalStrict _name )+sem_Instruction (Instruction_GetDescendants _name )  =+    (sem_Instruction_GetDescendants _name )+sem_Instruction (Instruction_GetGlobalScope )  =+    (sem_Instruction_GetGlobalScope )+sem_Instruction (Instruction_GetGlobalSlot _slot )  =+    (sem_Instruction_GetGlobalSlot _slot )+sem_Instruction (Instruction_GetLex _name )  =+    (sem_Instruction_GetLex _name )+sem_Instruction (Instruction_GetLocal _reg )  =+    (sem_Instruction_GetLocal _reg )+sem_Instruction (Instruction_GetLocal0 )  =+    (sem_Instruction_GetLocal0 )+sem_Instruction (Instruction_GetLocal1 )  =+    (sem_Instruction_GetLocal1 )+sem_Instruction (Instruction_GetLocal2 )  =+    (sem_Instruction_GetLocal2 )+sem_Instruction (Instruction_GetLocal3 )  =+    (sem_Instruction_GetLocal3 )+sem_Instruction (Instruction_GetOuterScope _name )  =+    (sem_Instruction_GetOuterScope _name )+sem_Instruction (Instruction_GetProperty _name )  =+    (sem_Instruction_GetProperty _name )+sem_Instruction (Instruction_GetScopeObject _index )  =+    (sem_Instruction_GetScopeObject _index )+sem_Instruction (Instruction_GetSlot _slot )  =+    (sem_Instruction_GetSlot _slot )+sem_Instruction (Instruction_GetSuper _name )  =+    (sem_Instruction_GetSuper _name )+sem_Instruction (Instruction_GreaterEquals )  =+    (sem_Instruction_GreaterEquals )+sem_Instruction (Instruction_GreaterThan )  =+    (sem_Instruction_GreaterThan )+sem_Instruction (Instruction_HasNext )  =+    (sem_Instruction_HasNext )+sem_Instruction (Instruction_HasNext2 _objectReg _indexReg )  =+    (sem_Instruction_HasNext2 _objectReg _indexReg )+sem_Instruction (Instruction_IfEq _offset )  =+    (sem_Instruction_IfEq _offset )+sem_Instruction (Instruction_IfFalse _offset )  =+    (sem_Instruction_IfFalse _offset )+sem_Instruction (Instruction_IfGe _offset )  =+    (sem_Instruction_IfGe _offset )+sem_Instruction (Instruction_IfGt _offset )  =+    (sem_Instruction_IfGt _offset )+sem_Instruction (Instruction_IfLe _offset )  =+    (sem_Instruction_IfLe _offset )+sem_Instruction (Instruction_IfLt _offset )  =+    (sem_Instruction_IfLt _offset )+sem_Instruction (Instruction_IfNGe _offset )  =+    (sem_Instruction_IfNGe _offset )+sem_Instruction (Instruction_IfNGt _offset )  =+    (sem_Instruction_IfNGt _offset )+sem_Instruction (Instruction_IfNLe _offset )  =+    (sem_Instruction_IfNLe _offset )+sem_Instruction (Instruction_IfNLt _offset )  =+    (sem_Instruction_IfNLt _offset )+sem_Instruction (Instruction_IfNe _offset )  =+    (sem_Instruction_IfNe _offset )+sem_Instruction (Instruction_IfStrictEq _offset )  =+    (sem_Instruction_IfStrictEq _offset )+sem_Instruction (Instruction_IfStrictNe _offset )  =+    (sem_Instruction_IfStrictNe _offset )+sem_Instruction (Instruction_IfTrue _offset )  =+    (sem_Instruction_IfTrue _offset )+sem_Instruction (Instruction_In )  =+    (sem_Instruction_In )+sem_Instruction (Instruction_IncLocal _reg )  =+    (sem_Instruction_IncLocal _reg )+sem_Instruction (Instruction_IncLocal_i _reg )  =+    (sem_Instruction_IncLocal_i _reg )+sem_Instruction (Instruction_Increment )  =+    (sem_Instruction_Increment )+sem_Instruction (Instruction_Increment_i )  =+    (sem_Instruction_Increment_i )+sem_Instruction (Instruction_InitProperty _name )  =+    (sem_Instruction_InitProperty _name )+sem_Instruction (Instruction_InstanceOf )  =+    (sem_Instruction_InstanceOf )+sem_Instruction (Instruction_IsType _name )  =+    (sem_Instruction_IsType _name )+sem_Instruction (Instruction_IsTypeLate )  =+    (sem_Instruction_IsTypeLate )+sem_Instruction (Instruction_Jump _offset )  =+    (sem_Instruction_Jump _offset )+sem_Instruction (Instruction_Kill _reg )  =+    (sem_Instruction_Kill _reg )+sem_Instruction (Instruction_Label )  =+    (sem_Instruction_Label )+sem_Instruction (Instruction_LessEquals )  =+    (sem_Instruction_LessEquals )+sem_Instruction (Instruction_LessThan )  =+    (sem_Instruction_LessThan )+sem_Instruction (Instruction_LoadFloat32 )  =+    (sem_Instruction_LoadFloat32 )+sem_Instruction (Instruction_LoadFloat64 )  =+    (sem_Instruction_LoadFloat64 )+sem_Instruction (Instruction_LoadIndirect16 )  =+    (sem_Instruction_LoadIndirect16 )+sem_Instruction (Instruction_LoadIndirect32 )  =+    (sem_Instruction_LoadIndirect32 )+sem_Instruction (Instruction_LoadIndirect8 )  =+    (sem_Instruction_LoadIndirect8 )+sem_Instruction (Instruction_Location _index )  =+    (sem_Instruction_Location _index )+sem_Instruction (Instruction_LookupSwitch _defaultOffset _caseOffsets )  =+    (sem_Instruction_LookupSwitch _defaultOffset (sem_CaseOffsets _caseOffsets ) )+sem_Instruction (Instruction_Lshift )  =+    (sem_Instruction_Lshift )+sem_Instruction (Instruction_Modulo )  =+    (sem_Instruction_Modulo )+sem_Instruction (Instruction_Multiply )  =+    (sem_Instruction_Multiply )+sem_Instruction (Instruction_Multiply_i )  =+    (sem_Instruction_Multiply_i )+sem_Instruction (Instruction_Negate )  =+    (sem_Instruction_Negate )+sem_Instruction (Instruction_Negate_i )  =+    (sem_Instruction_Negate_i )+sem_Instruction (Instruction_NewActivation )  =+    (sem_Instruction_NewActivation )+sem_Instruction (Instruction_NewArray _argCount )  =+    (sem_Instruction_NewArray _argCount )+sem_Instruction (Instruction_NewCatch _exception )  =+    (sem_Instruction_NewCatch _exception )+sem_Instruction (Instruction_NewClass _class )  =+    (sem_Instruction_NewClass _class )+sem_Instruction (Instruction_NewFunction _method )  =+    (sem_Instruction_NewFunction _method )+sem_Instruction (Instruction_NewObject _argCount )  =+    (sem_Instruction_NewObject _argCount )+sem_Instruction (Instruction_NextName )  =+    (sem_Instruction_NextName )+sem_Instruction (Instruction_NextValue )  =+    (sem_Instruction_NextValue )+sem_Instruction (Instruction_Nop )  =+    (sem_Instruction_Nop )+sem_Instruction (Instruction_Not )  =+    (sem_Instruction_Not )+sem_Instruction (Instruction_Pop )  =+    (sem_Instruction_Pop )+sem_Instruction (Instruction_PopScope )  =+    (sem_Instruction_PopScope )+sem_Instruction (Instruction_PushByte _val )  =+    (sem_Instruction_PushByte _val )+sem_Instruction (Instruction_PushDouble _name )  =+    (sem_Instruction_PushDouble _name )+sem_Instruction (Instruction_PushFalse )  =+    (sem_Instruction_PushFalse )+sem_Instruction (Instruction_PushInt _name )  =+    (sem_Instruction_PushInt _name )+sem_Instruction (Instruction_PushNaN )  =+    (sem_Instruction_PushNaN )+sem_Instruction (Instruction_PushNamespace _name )  =+    (sem_Instruction_PushNamespace _name )+sem_Instruction (Instruction_PushNull )  =+    (sem_Instruction_PushNull )+sem_Instruction (Instruction_PushScope )  =+    (sem_Instruction_PushScope )+sem_Instruction (Instruction_PushShort _val )  =+    (sem_Instruction_PushShort _val )+sem_Instruction (Instruction_PushString _name )  =+    (sem_Instruction_PushString _name )+sem_Instruction (Instruction_PushTrue )  =+    (sem_Instruction_PushTrue )+sem_Instruction (Instruction_PushUInt _name )  =+    (sem_Instruction_PushUInt _name )+sem_Instruction (Instruction_PushUndefined )  =+    (sem_Instruction_PushUndefined )+sem_Instruction (Instruction_PushWith )  =+    (sem_Instruction_PushWith )+sem_Instruction (Instruction_ReturnValue )  =+    (sem_Instruction_ReturnValue )+sem_Instruction (Instruction_ReturnVoid )  =+    (sem_Instruction_ReturnVoid )+sem_Instruction (Instruction_Rshift )  =+    (sem_Instruction_Rshift )+sem_Instruction (Instruction_SetGlobalSlot _slot )  =+    (sem_Instruction_SetGlobalSlot _slot )+sem_Instruction (Instruction_SetLocal _reg )  =+    (sem_Instruction_SetLocal _reg )+sem_Instruction (Instruction_SetLocal0 )  =+    (sem_Instruction_SetLocal0 )+sem_Instruction (Instruction_SetLocal1 )  =+    (sem_Instruction_SetLocal1 )+sem_Instruction (Instruction_SetLocal2 )  =+    (sem_Instruction_SetLocal2 )+sem_Instruction (Instruction_SetLocal3 )  =+    (sem_Instruction_SetLocal3 )+sem_Instruction (Instruction_SetProperty _name )  =+    (sem_Instruction_SetProperty _name )+sem_Instruction (Instruction_SetPropertyLate )  =+    (sem_Instruction_SetPropertyLate )+sem_Instruction (Instruction_SetSlot _slot )  =+    (sem_Instruction_SetSlot _slot )+sem_Instruction (Instruction_SetSuper _name )  =+    (sem_Instruction_SetSuper _name )+sem_Instruction (Instruction_SignExtend1 )  =+    (sem_Instruction_SignExtend1 )+sem_Instruction (Instruction_SignExtend16 )  =+    (sem_Instruction_SignExtend16 )+sem_Instruction (Instruction_SignExtend8 )  =+    (sem_Instruction_SignExtend8 )+sem_Instruction (Instruction_StoreFloat32 )  =+    (sem_Instruction_StoreFloat32 )+sem_Instruction (Instruction_StoreFloat64 )  =+    (sem_Instruction_StoreFloat64 )+sem_Instruction (Instruction_StoreIndirect16 )  =+    (sem_Instruction_StoreIndirect16 )+sem_Instruction (Instruction_StoreIndirect32 )  =+    (sem_Instruction_StoreIndirect32 )+sem_Instruction (Instruction_StoreIndirect8 )  =+    (sem_Instruction_StoreIndirect8 )+sem_Instruction (Instruction_StrictEquals )  =+    (sem_Instruction_StrictEquals )+sem_Instruction (Instruction_Substract )  =+    (sem_Instruction_Substract )+sem_Instruction (Instruction_Substract_i )  =+    (sem_Instruction_Substract_i )+sem_Instruction (Instruction_Swap )  =+    (sem_Instruction_Swap )+sem_Instruction (Instruction_Throw )  =+    (sem_Instruction_Throw )+sem_Instruction (Instruction_Timestamp )  =+    (sem_Instruction_Timestamp )+sem_Instruction (Instruction_TypeOf )  =+    (sem_Instruction_TypeOf )+sem_Instruction (Instruction_Urshift )  =+    (sem_Instruction_Urshift )+-- semantic domain+type T_Instruction  = ( Instruction )+sem_Instruction_Add :: T_Instruction +sem_Instruction_Add  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Add+            {-# LINE 943 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 948 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Add_d :: T_Instruction +sem_Instruction_Add_d  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Add_d+            {-# LINE 956 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 961 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Add_i :: T_Instruction +sem_Instruction_Add_i  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Add_i+            {-# LINE 969 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 974 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_ApplyType :: Word32 ->+                             T_Instruction +sem_Instruction_ApplyType name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_ApplyType name_+            {-# LINE 983 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 988 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_AsType :: Word32 ->+                          T_Instruction +sem_Instruction_AsType name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_AsType name_+            {-# LINE 997 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1002 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_AsTypeLate :: T_Instruction +sem_Instruction_AsTypeLate  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_AsTypeLate+            {-# LINE 1010 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1015 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_BitAnd :: T_Instruction +sem_Instruction_BitAnd  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_BitAnd+            {-# LINE 1023 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1028 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_BitNot :: T_Instruction +sem_Instruction_BitNot  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_BitNot+            {-# LINE 1036 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1041 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_BitOr :: T_Instruction +sem_Instruction_BitOr  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_BitOr+            {-# LINE 1049 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1054 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_BitXor :: T_Instruction +sem_Instruction_BitXor  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_BitXor+            {-# LINE 1062 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1067 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_BreakLine :: Word32 ->+                             T_Instruction +sem_Instruction_BreakLine line_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_BreakLine line_+            {-# LINE 1076 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1081 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Breakpoint :: T_Instruction +sem_Instruction_Breakpoint  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Breakpoint+            {-# LINE 1089 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1094 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Call :: Word32 ->+                        T_Instruction +sem_Instruction_Call argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Call argCount_+            {-# LINE 1103 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1108 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_CallInterface :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallInterface name_ argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_CallInterface name_ argCount_+            {-# LINE 1118 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1123 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_CallMethod :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallMethod index_ argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_CallMethod index_ argCount_+            {-# LINE 1133 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1138 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_CallProp :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_CallProp name_ argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_CallProp name_ argCount_+            {-# LINE 1148 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1153 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_CallPropLex :: Word32 ->+                               Word32 ->+                               T_Instruction +sem_Instruction_CallPropLex name_ argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_CallPropLex name_ argCount_+            {-# LINE 1163 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1168 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_CallPropVoid :: Word32 ->+                                Word32 ->+                                T_Instruction +sem_Instruction_CallPropVoid name_ argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_CallPropVoid name_ argCount_+            {-# LINE 1178 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1183 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_CallStatic :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallStatic method_ argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_CallStatic method_ argCount_+            {-# LINE 1193 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1198 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_CallSuper :: Word32 ->+                             Word32 ->+                             T_Instruction +sem_Instruction_CallSuper name_ argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_CallSuper name_ argCount_+            {-# LINE 1208 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1213 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_CallSuperId :: T_Instruction +sem_Instruction_CallSuperId  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_CallSuperId+            {-# LINE 1221 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1226 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_CallSuperVoid :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallSuperVoid name_ argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_CallSuperVoid name_ argCount_+            {-# LINE 1236 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1241 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_CheckFilter :: T_Instruction +sem_Instruction_CheckFilter  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_CheckFilter+            {-# LINE 1249 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1254 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Coerce :: Word32 ->+                          T_Instruction +sem_Instruction_Coerce name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Coerce name_+            {-# LINE 1263 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1268 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Coerce_a :: T_Instruction +sem_Instruction_Coerce_a  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Coerce_a+            {-# LINE 1276 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1281 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Coerce_b :: T_Instruction +sem_Instruction_Coerce_b  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Coerce_b+            {-# LINE 1289 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1294 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Coerce_d :: T_Instruction +sem_Instruction_Coerce_d  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Coerce_d+            {-# LINE 1302 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1307 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Coerce_i :: T_Instruction +sem_Instruction_Coerce_i  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Coerce_i+            {-# LINE 1315 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1320 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Coerce_o :: T_Instruction +sem_Instruction_Coerce_o  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Coerce_o+            {-# LINE 1328 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1333 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Coerce_s :: T_Instruction +sem_Instruction_Coerce_s  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Coerce_s+            {-# LINE 1341 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1346 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Coerce_u :: T_Instruction +sem_Instruction_Coerce_u  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Coerce_u+            {-# LINE 1354 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1359 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Concat :: T_Instruction +sem_Instruction_Concat  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Concat+            {-# LINE 1367 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1372 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Construct :: Word32 ->+                             T_Instruction +sem_Instruction_Construct argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Construct argCount_+            {-# LINE 1381 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1386 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_ConstructProp :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_ConstructProp name_ argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_ConstructProp name_ argCount_+            {-# LINE 1396 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1401 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_ConstructSuper :: Word32 ->+                                  T_Instruction +sem_Instruction_ConstructSuper argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_ConstructSuper argCount_+            {-# LINE 1410 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1415 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Convert_b :: T_Instruction +sem_Instruction_Convert_b  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Convert_b+            {-# LINE 1423 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1428 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Convert_d :: T_Instruction +sem_Instruction_Convert_d  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Convert_d+            {-# LINE 1436 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1441 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Convert_i :: T_Instruction +sem_Instruction_Convert_i  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Convert_i+            {-# LINE 1449 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1454 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Convert_o :: T_Instruction +sem_Instruction_Convert_o  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Convert_o+            {-# LINE 1462 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1467 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Convert_s :: T_Instruction +sem_Instruction_Convert_s  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Convert_s+            {-# LINE 1475 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1480 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Convert_u :: T_Instruction +sem_Instruction_Convert_u  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Convert_u+            {-# LINE 1488 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1493 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Debug :: T_DebugType  ->+                         Word32 ->+                         Word32 ->+                         Word32 ->+                         T_Instruction +sem_Instruction_Debug tp_ name_ reg_ extra_  =+    (case (tp_ ) of+     { ( _tpIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 Instruction_Debug _tpIoutput name_ reg_ extra_+                 {-# LINE 1507 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 1512 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_Instruction_DebugFile :: Word32 ->+                             T_Instruction +sem_Instruction_DebugFile name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_DebugFile name_+            {-# LINE 1521 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1526 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_DebugLine :: Word32 ->+                             T_Instruction +sem_Instruction_DebugLine line_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_DebugLine line_+            {-# LINE 1535 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1540 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_DecLocal :: Word32 ->+                            T_Instruction +sem_Instruction_DecLocal reg_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_DecLocal reg_+            {-# LINE 1549 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1554 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_DecLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_DecLocal_i reg_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_DecLocal_i reg_+            {-# LINE 1563 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1568 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Decrement :: T_Instruction +sem_Instruction_Decrement  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Decrement+            {-# LINE 1576 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1581 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Decrement_i :: T_Instruction +sem_Instruction_Decrement_i  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Decrement_i+            {-# LINE 1589 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1594 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_DeleteProperty :: Word32 ->+                                  T_Instruction +sem_Instruction_DeleteProperty name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_DeleteProperty name_+            {-# LINE 1603 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1608 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_DeletePropertyLate :: T_Instruction +sem_Instruction_DeletePropertyLate  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_DeletePropertyLate+            {-# LINE 1616 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1621 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Divide :: T_Instruction +sem_Instruction_Divide  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Divide+            {-# LINE 1629 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1634 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Dup :: T_Instruction +sem_Instruction_Dup  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Dup+            {-# LINE 1642 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1647 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Dxns :: Word32 ->+                        T_Instruction +sem_Instruction_Dxns name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Dxns name_+            {-# LINE 1656 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1661 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_DxnsLate :: T_Instruction +sem_Instruction_DxnsLate  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_DxnsLate+            {-# LINE 1669 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1674 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Equals :: T_Instruction +sem_Instruction_Equals  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Equals+            {-# LINE 1682 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1687 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_EscXAttr :: T_Instruction +sem_Instruction_EscXAttr  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_EscXAttr+            {-# LINE 1695 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1700 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_EscXElem :: T_Instruction +sem_Instruction_EscXElem  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_EscXElem+            {-# LINE 1708 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1713 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_FindDef :: Word32 ->+                           T_Instruction +sem_Instruction_FindDef name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_FindDef name_+            {-# LINE 1722 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1727 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_FindPropStrict :: Word32 ->+                                  T_Instruction +sem_Instruction_FindPropStrict name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_FindPropStrict name_+            {-# LINE 1736 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1741 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_FindProperty :: Word32 ->+                                T_Instruction +sem_Instruction_FindProperty name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_FindProperty name_+            {-# LINE 1750 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1755 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_FindPropertyGlobal :: Word32 ->+                                      T_Instruction +sem_Instruction_FindPropertyGlobal name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_FindPropertyGlobal name_+            {-# LINE 1764 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1769 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_FindPropertyGlobalStrict :: Word32 ->+                                            T_Instruction +sem_Instruction_FindPropertyGlobalStrict name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_FindPropertyGlobalStrict name_+            {-# LINE 1778 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1783 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetDescendants :: Word32 ->+                                  T_Instruction +sem_Instruction_GetDescendants name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetDescendants name_+            {-# LINE 1792 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1797 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetGlobalScope :: T_Instruction +sem_Instruction_GetGlobalScope  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetGlobalScope+            {-# LINE 1805 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1810 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_GetGlobalSlot slot_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetGlobalSlot slot_+            {-# LINE 1819 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1824 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetLex :: Word32 ->+                          T_Instruction +sem_Instruction_GetLex name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetLex name_+            {-# LINE 1833 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1838 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_GetLocal reg_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetLocal reg_+            {-# LINE 1847 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1852 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetLocal0 :: T_Instruction +sem_Instruction_GetLocal0  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetLocal0+            {-# LINE 1860 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1865 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetLocal1 :: T_Instruction +sem_Instruction_GetLocal1  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetLocal1+            {-# LINE 1873 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1878 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetLocal2 :: T_Instruction +sem_Instruction_GetLocal2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetLocal2+            {-# LINE 1886 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1891 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetLocal3 :: T_Instruction +sem_Instruction_GetLocal3  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetLocal3+            {-# LINE 1899 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1904 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetOuterScope :: Word32 ->+                                 T_Instruction +sem_Instruction_GetOuterScope name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetOuterScope name_+            {-# LINE 1913 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1918 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_GetProperty name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetProperty name_+            {-# LINE 1927 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1932 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetScopeObject :: Word8 ->+                                  T_Instruction +sem_Instruction_GetScopeObject index_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetScopeObject index_+            {-# LINE 1941 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1946 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_GetSlot slot_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetSlot slot_+            {-# LINE 1955 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1960 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_GetSuper name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GetSuper name_+            {-# LINE 1969 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1974 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GreaterEquals :: T_Instruction +sem_Instruction_GreaterEquals  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GreaterEquals+            {-# LINE 1982 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 1987 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_GreaterThan :: T_Instruction +sem_Instruction_GreaterThan  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_GreaterThan+            {-# LINE 1995 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2000 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_HasNext :: T_Instruction +sem_Instruction_HasNext  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_HasNext+            {-# LINE 2008 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2013 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_HasNext2 :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_HasNext2 objectReg_ indexReg_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_HasNext2 objectReg_ indexReg_+            {-# LINE 2023 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2028 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfEq :: Word32 ->+                        T_Instruction +sem_Instruction_IfEq offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfEq offset_+            {-# LINE 2037 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2042 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfFalse :: Word32 ->+                           T_Instruction +sem_Instruction_IfFalse offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfFalse offset_+            {-# LINE 2051 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2056 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfGe :: Word32 ->+                        T_Instruction +sem_Instruction_IfGe offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfGe offset_+            {-# LINE 2065 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2070 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfGt :: Word32 ->+                        T_Instruction +sem_Instruction_IfGt offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfGt offset_+            {-# LINE 2079 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2084 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfLe :: Word32 ->+                        T_Instruction +sem_Instruction_IfLe offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfLe offset_+            {-# LINE 2093 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2098 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfLt :: Word32 ->+                        T_Instruction +sem_Instruction_IfLt offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfLt offset_+            {-# LINE 2107 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2112 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfNGe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGe offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfNGe offset_+            {-# LINE 2121 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2126 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfNGt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGt offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfNGt offset_+            {-# LINE 2135 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2140 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfNLe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLe offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfNLe offset_+            {-# LINE 2149 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2154 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfNLt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLt offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfNLt offset_+            {-# LINE 2163 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2168 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfNe :: Word32 ->+                        T_Instruction +sem_Instruction_IfNe offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfNe offset_+            {-# LINE 2177 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2182 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfStrictEq :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictEq offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfStrictEq offset_+            {-# LINE 2191 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2196 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfStrictNe :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictNe offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfStrictNe offset_+            {-# LINE 2205 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2210 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IfTrue :: Word32 ->+                          T_Instruction +sem_Instruction_IfTrue offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IfTrue offset_+            {-# LINE 2219 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2224 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_In :: T_Instruction +sem_Instruction_In  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_In+            {-# LINE 2232 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2237 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IncLocal :: Word32 ->+                            T_Instruction +sem_Instruction_IncLocal reg_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IncLocal reg_+            {-# LINE 2246 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2251 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IncLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_IncLocal_i reg_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IncLocal_i reg_+            {-# LINE 2260 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2265 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Increment :: T_Instruction +sem_Instruction_Increment  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Increment+            {-# LINE 2273 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2278 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Increment_i :: T_Instruction +sem_Instruction_Increment_i  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Increment_i+            {-# LINE 2286 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2291 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_InitProperty :: Word32 ->+                                T_Instruction +sem_Instruction_InitProperty name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_InitProperty name_+            {-# LINE 2300 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2305 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_InstanceOf :: T_Instruction +sem_Instruction_InstanceOf  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_InstanceOf+            {-# LINE 2313 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2318 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IsType :: Word32 ->+                          T_Instruction +sem_Instruction_IsType name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IsType name_+            {-# LINE 2327 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2332 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_IsTypeLate :: T_Instruction +sem_Instruction_IsTypeLate  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_IsTypeLate+            {-# LINE 2340 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2345 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Jump :: Word32 ->+                        T_Instruction +sem_Instruction_Jump offset_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Jump offset_+            {-# LINE 2354 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2359 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Kill :: Word32 ->+                        T_Instruction +sem_Instruction_Kill reg_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Kill reg_+            {-# LINE 2368 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2373 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Label :: T_Instruction +sem_Instruction_Label  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Label+            {-# LINE 2381 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2386 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_LessEquals :: T_Instruction +sem_Instruction_LessEquals  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_LessEquals+            {-# LINE 2394 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2399 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_LessThan :: T_Instruction +sem_Instruction_LessThan  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_LessThan+            {-# LINE 2407 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2412 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_LoadFloat32 :: T_Instruction +sem_Instruction_LoadFloat32  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_LoadFloat32+            {-# LINE 2420 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2425 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_LoadFloat64 :: T_Instruction +sem_Instruction_LoadFloat64  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_LoadFloat64+            {-# LINE 2433 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2438 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_LoadIndirect16 :: T_Instruction +sem_Instruction_LoadIndirect16  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_LoadIndirect16+            {-# LINE 2446 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2451 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_LoadIndirect32 :: T_Instruction +sem_Instruction_LoadIndirect32  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_LoadIndirect32+            {-# LINE 2459 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2464 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_LoadIndirect8 :: T_Instruction +sem_Instruction_LoadIndirect8  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_LoadIndirect8+            {-# LINE 2472 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2477 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Location :: Int ->+                            T_Instruction +sem_Instruction_Location index_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Location index_+            {-# LINE 2486 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2491 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_LookupSwitch :: Word32 ->+                                T_CaseOffsets  ->+                                T_Instruction +sem_Instruction_LookupSwitch defaultOffset_ caseOffsets_  =+    (case (caseOffsets_ ) of+     { ( _caseOffsetsIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 Instruction_LookupSwitch defaultOffset_ _caseOffsetsIoutput+                 {-# LINE 2503 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 2508 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_Instruction_Lshift :: T_Instruction +sem_Instruction_Lshift  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Lshift+            {-# LINE 2516 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2521 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Modulo :: T_Instruction +sem_Instruction_Modulo  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Modulo+            {-# LINE 2529 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2534 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Multiply :: T_Instruction +sem_Instruction_Multiply  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Multiply+            {-# LINE 2542 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2547 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Multiply_i :: T_Instruction +sem_Instruction_Multiply_i  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Multiply_i+            {-# LINE 2555 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2560 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Negate :: T_Instruction +sem_Instruction_Negate  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Negate+            {-# LINE 2568 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2573 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Negate_i :: T_Instruction +sem_Instruction_Negate_i  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Negate_i+            {-# LINE 2581 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2586 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_NewActivation :: T_Instruction +sem_Instruction_NewActivation  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_NewActivation+            {-# LINE 2594 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2599 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_NewArray :: Word32 ->+                            T_Instruction +sem_Instruction_NewArray argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_NewArray argCount_+            {-# LINE 2608 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2613 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_NewCatch :: Word32 ->+                            T_Instruction +sem_Instruction_NewCatch exception_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_NewCatch exception_+            {-# LINE 2622 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2627 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_NewClass :: Word32 ->+                            T_Instruction +sem_Instruction_NewClass class_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_NewClass class_+            {-# LINE 2636 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2641 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_NewFunction :: Word32 ->+                               T_Instruction +sem_Instruction_NewFunction method_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_NewFunction method_+            {-# LINE 2650 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2655 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_NewObject :: Word32 ->+                             T_Instruction +sem_Instruction_NewObject argCount_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_NewObject argCount_+            {-# LINE 2664 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2669 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_NextName :: T_Instruction +sem_Instruction_NextName  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_NextName+            {-# LINE 2677 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2682 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_NextValue :: T_Instruction +sem_Instruction_NextValue  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_NextValue+            {-# LINE 2690 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2695 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Nop :: T_Instruction +sem_Instruction_Nop  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Nop+            {-# LINE 2703 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2708 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Not :: T_Instruction +sem_Instruction_Not  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Not+            {-# LINE 2716 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2721 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Pop :: T_Instruction +sem_Instruction_Pop  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Pop+            {-# LINE 2729 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2734 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PopScope :: T_Instruction +sem_Instruction_PopScope  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PopScope+            {-# LINE 2742 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2747 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushByte :: Word8 ->+                            T_Instruction +sem_Instruction_PushByte val_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushByte val_+            {-# LINE 2756 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2761 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushDouble :: Word32 ->+                              T_Instruction +sem_Instruction_PushDouble name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushDouble name_+            {-# LINE 2770 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2775 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushFalse :: T_Instruction +sem_Instruction_PushFalse  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushFalse+            {-# LINE 2783 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2788 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushInt :: Word32 ->+                           T_Instruction +sem_Instruction_PushInt name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushInt name_+            {-# LINE 2797 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2802 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushNaN :: T_Instruction +sem_Instruction_PushNaN  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushNaN+            {-# LINE 2810 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2815 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushNamespace :: Word32 ->+                                 T_Instruction +sem_Instruction_PushNamespace name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushNamespace name_+            {-# LINE 2824 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2829 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushNull :: T_Instruction +sem_Instruction_PushNull  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushNull+            {-# LINE 2837 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2842 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushScope :: T_Instruction +sem_Instruction_PushScope  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushScope+            {-# LINE 2850 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2855 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushShort :: Word32 ->+                             T_Instruction +sem_Instruction_PushShort val_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushShort val_+            {-# LINE 2864 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2869 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushString :: Word32 ->+                              T_Instruction +sem_Instruction_PushString name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushString name_+            {-# LINE 2878 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2883 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushTrue :: T_Instruction +sem_Instruction_PushTrue  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushTrue+            {-# LINE 2891 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2896 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushUInt :: Word32 ->+                            T_Instruction +sem_Instruction_PushUInt name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushUInt name_+            {-# LINE 2905 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2910 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushUndefined :: T_Instruction +sem_Instruction_PushUndefined  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushUndefined+            {-# LINE 2918 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2923 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_PushWith :: T_Instruction +sem_Instruction_PushWith  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_PushWith+            {-# LINE 2931 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2936 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_ReturnValue :: T_Instruction +sem_Instruction_ReturnValue  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_ReturnValue+            {-# LINE 2944 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2949 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_ReturnVoid :: T_Instruction +sem_Instruction_ReturnVoid  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_ReturnVoid+            {-# LINE 2957 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2962 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Rshift :: T_Instruction +sem_Instruction_Rshift  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Rshift+            {-# LINE 2970 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2975 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_SetGlobalSlot slot_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SetGlobalSlot slot_+            {-# LINE 2984 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 2989 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_SetLocal reg_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SetLocal reg_+            {-# LINE 2998 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3003 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SetLocal0 :: T_Instruction +sem_Instruction_SetLocal0  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SetLocal0+            {-# LINE 3011 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3016 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SetLocal1 :: T_Instruction +sem_Instruction_SetLocal1  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SetLocal1+            {-# LINE 3024 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3029 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SetLocal2 :: T_Instruction +sem_Instruction_SetLocal2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SetLocal2+            {-# LINE 3037 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3042 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SetLocal3 :: T_Instruction +sem_Instruction_SetLocal3  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SetLocal3+            {-# LINE 3050 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3055 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_SetProperty name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SetProperty name_+            {-# LINE 3064 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3069 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SetPropertyLate :: T_Instruction +sem_Instruction_SetPropertyLate  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SetPropertyLate+            {-# LINE 3077 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3082 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_SetSlot slot_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SetSlot slot_+            {-# LINE 3091 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3096 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_SetSuper name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SetSuper name_+            {-# LINE 3105 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3110 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SignExtend1 :: T_Instruction +sem_Instruction_SignExtend1  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SignExtend1+            {-# LINE 3118 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3123 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SignExtend16 :: T_Instruction +sem_Instruction_SignExtend16  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SignExtend16+            {-# LINE 3131 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3136 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_SignExtend8 :: T_Instruction +sem_Instruction_SignExtend8  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_SignExtend8+            {-# LINE 3144 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3149 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_StoreFloat32 :: T_Instruction +sem_Instruction_StoreFloat32  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_StoreFloat32+            {-# LINE 3157 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3162 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_StoreFloat64 :: T_Instruction +sem_Instruction_StoreFloat64  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_StoreFloat64+            {-# LINE 3170 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3175 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_StoreIndirect16 :: T_Instruction +sem_Instruction_StoreIndirect16  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_StoreIndirect16+            {-# LINE 3183 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3188 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_StoreIndirect32 :: T_Instruction +sem_Instruction_StoreIndirect32  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_StoreIndirect32+            {-# LINE 3196 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3201 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_StoreIndirect8 :: T_Instruction +sem_Instruction_StoreIndirect8  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_StoreIndirect8+            {-# LINE 3209 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3214 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_StrictEquals :: T_Instruction +sem_Instruction_StrictEquals  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_StrictEquals+            {-# LINE 3222 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3227 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Substract :: T_Instruction +sem_Instruction_Substract  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Substract+            {-# LINE 3235 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3240 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Substract_i :: T_Instruction +sem_Instruction_Substract_i  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Substract_i+            {-# LINE 3248 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3253 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Swap :: T_Instruction +sem_Instruction_Swap  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Swap+            {-# LINE 3261 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3266 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Throw :: T_Instruction +sem_Instruction_Throw  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Throw+            {-# LINE 3274 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3279 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Timestamp :: T_Instruction +sem_Instruction_Timestamp  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Timestamp+            {-# LINE 3287 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3292 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_TypeOf :: T_Instruction +sem_Instruction_TypeOf  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_TypeOf+            {-# LINE 3300 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3305 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_Instruction_Urshift :: T_Instruction +sem_Instruction_Urshift  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Instruction_Urshift+            {-# LINE 3313 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3318 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- Instructions ------------------------------------------------+-- cata+sem_Instructions :: Instructions  ->+                    T_Instructions +sem_Instructions list  =+    (Prelude.foldr sem_Instructions_Cons sem_Instructions_Nil (Prelude.map sem_Instruction list) )+-- semantic domain+type T_Instructions  = ( Instructions )+sem_Instructions_Cons :: T_Instruction  ->+                         T_Instructions  ->+                         T_Instructions +sem_Instructions_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 3340 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 3345 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_Instructions_Nil :: T_Instructions +sem_Instructions_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 3353 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3358 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- Interfaces --------------------------------------------------+-- cata+sem_Interfaces :: Interfaces  ->+                  T_Interfaces +sem_Interfaces list  =+    (Prelude.foldr sem_Interfaces_Cons sem_Interfaces_Nil list )+-- semantic domain+type T_Interfaces  = ( Interfaces )+sem_Interfaces_Cons :: Word32 ->+                       T_Interfaces  ->+                       T_Interfaces +sem_Interfaces_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 (:) hd_ _tlIoutput+                 {-# LINE 3378 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 3383 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_Interfaces_Nil :: T_Interfaces +sem_Interfaces_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 3391 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3396 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- MetaInfo ----------------------------------------------------+-- cata+sem_MetaInfo :: MetaInfo  ->+                T_MetaInfo +sem_MetaInfo (MetaInfo_Info _name _items )  =+    (sem_MetaInfo_Info _name (sem_MetaItems _items ) )+-- semantic domain+type T_MetaInfo  = ( MetaInfo )+sem_MetaInfo_Info :: Word32 ->+                     T_MetaItems  ->+                     T_MetaInfo +sem_MetaInfo_Info name_ items_  =+    (case (items_ ) of+     { ( _itemsIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 MetaInfo_Info name_ _itemsIoutput+                 {-# LINE 3416 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 3421 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+-- MetaInfos ---------------------------------------------------+-- cata+sem_MetaInfos :: MetaInfos  ->+                 T_MetaInfos +sem_MetaInfos list  =+    (Prelude.foldr sem_MetaInfos_Cons sem_MetaInfos_Nil (Prelude.map sem_MetaInfo list) )+-- semantic domain+type T_MetaInfos  = ( MetaInfos )+sem_MetaInfos_Cons :: T_MetaInfo  ->+                      T_MetaInfos  ->+                      T_MetaInfos +sem_MetaInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 3443 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 3448 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_MetaInfos_Nil :: T_MetaInfos +sem_MetaInfos_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 3456 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3461 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- MetaItem ----------------------------------------------------+-- cata+sem_MetaItem :: MetaItem  ->+                T_MetaItem +sem_MetaItem (MetaItem_Item _key _value )  =+    (sem_MetaItem_Item _key _value )+-- semantic domain+type T_MetaItem  = ( MetaItem )+sem_MetaItem_Item :: Word32 ->+                     Word32 ->+                     T_MetaItem +sem_MetaItem_Item key_ value_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MetaItem_Item key_ value_+            {-# LINE 3479 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3484 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- MetaItems ---------------------------------------------------+-- cata+sem_MetaItems :: MetaItems  ->+                 T_MetaItems +sem_MetaItems list  =+    (Prelude.foldr sem_MetaItems_Cons sem_MetaItems_Nil (Prelude.map sem_MetaItem list) )+-- semantic domain+type T_MetaItems  = ( MetaItems )+sem_MetaItems_Cons :: T_MetaItem  ->+                      T_MetaItems  ->+                      T_MetaItems +sem_MetaItems_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 3506 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 3511 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_MetaItems_Nil :: T_MetaItems +sem_MetaItems_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 3519 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3524 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- MethodFlag --------------------------------------------------+-- cata+sem_MethodFlag :: MethodFlag  ->+                  T_MethodFlag +sem_MethodFlag (MethodFlag_HasOptionals )  =+    (sem_MethodFlag_HasOptionals )+sem_MethodFlag (MethodFlag_HasParamNames )  =+    (sem_MethodFlag_HasParamNames )+sem_MethodFlag (MethodFlag_NeedAct )  =+    (sem_MethodFlag_NeedAct )+sem_MethodFlag (MethodFlag_NeedArgs )  =+    (sem_MethodFlag_NeedArgs )+sem_MethodFlag (MethodFlag_NeedRest )  =+    (sem_MethodFlag_NeedRest )+sem_MethodFlag (MethodFlag_SetDXNS )  =+    (sem_MethodFlag_SetDXNS )+-- semantic domain+type T_MethodFlag  = ( MethodFlag )+sem_MethodFlag_HasOptionals :: T_MethodFlag +sem_MethodFlag_HasOptionals  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MethodFlag_HasOptionals+            {-# LINE 3550 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3555 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MethodFlag_HasParamNames :: T_MethodFlag +sem_MethodFlag_HasParamNames  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MethodFlag_HasParamNames+            {-# LINE 3563 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3568 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MethodFlag_NeedAct :: T_MethodFlag +sem_MethodFlag_NeedAct  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MethodFlag_NeedAct+            {-# LINE 3576 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3581 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MethodFlag_NeedArgs :: T_MethodFlag +sem_MethodFlag_NeedArgs  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MethodFlag_NeedArgs+            {-# LINE 3589 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3594 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MethodFlag_NeedRest :: T_MethodFlag +sem_MethodFlag_NeedRest  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MethodFlag_NeedRest+            {-# LINE 3602 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3607 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MethodFlag_SetDXNS :: T_MethodFlag +sem_MethodFlag_SetDXNS  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MethodFlag_SetDXNS+            {-# LINE 3615 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3620 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- MethodFlags -------------------------------------------------+-- cata+sem_MethodFlags :: MethodFlags  ->+                   T_MethodFlags +sem_MethodFlags list  =+    (Prelude.foldr sem_MethodFlags_Cons sem_MethodFlags_Nil (Prelude.map sem_MethodFlag list) )+-- semantic domain+type T_MethodFlags  = ( MethodFlags )+sem_MethodFlags_Cons :: T_MethodFlag  ->+                        T_MethodFlags  ->+                        T_MethodFlags +sem_MethodFlags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 3642 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 3647 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_MethodFlags_Nil :: T_MethodFlags +sem_MethodFlags_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 3655 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3660 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- MethodInfo --------------------------------------------------+-- cata+sem_MethodInfo :: MethodInfo  ->+                  T_MethodInfo +sem_MethodInfo (MethodInfo_Info _return _params _name _flags _options _names )  =+    (sem_MethodInfo_Info _return (sem_ParamTypes _params ) _name (sem_MethodFlags _flags ) (sem_Optionals _options ) (sem_ParamNames _names ) )+-- semantic domain+type T_MethodInfo  = ( MethodInfo )+sem_MethodInfo_Info :: Word32 ->+                       T_ParamTypes  ->+                       Word32 ->+                       T_MethodFlags  ->+                       T_Optionals  ->+                       T_ParamNames  ->+                       T_MethodInfo +sem_MethodInfo_Info return_ params_ name_ flags_ options_ names_  =+    (case (names_ ) of+     { ( _namesIoutput) | True ->+         (case (options_ ) of+          { ( _optionsIoutput) | True ->+              (case (flags_ ) of+               { ( _flagsIoutput) | True ->+                   (case (params_ ) of+                    { ( _paramsIoutput) | True ->+                        (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                                MethodInfo_Info return_ _paramsIoutput name_ _flagsIoutput _optionsIoutput _namesIoutput+                                {-# LINE 3690 "src/TrfInjectAbc.hs" #-}+                                )) of+                         { _output | _output `seq` (True) ->+                         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                                 _output+                                 {-# LINE 3695 "src/TrfInjectAbc.hs" #-}+                                 )) of+                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                          ( _lhsOoutput) }) }) }) }) }) })+-- MethodInfos -------------------------------------------------+-- cata+sem_MethodInfos :: MethodInfos  ->+                   T_MethodInfos +sem_MethodInfos list  =+    (Prelude.foldr sem_MethodInfos_Cons sem_MethodInfos_Nil (Prelude.map sem_MethodInfo list) )+-- semantic domain+type T_MethodInfos  = ( MethodInfos )+sem_MethodInfos_Cons :: T_MethodInfo  ->+                        T_MethodInfos  ->+                        T_MethodInfos +sem_MethodInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 3717 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 3722 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_MethodInfos_Nil :: T_MethodInfos +sem_MethodInfos_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 3730 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3735 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- MultinameInfo -----------------------------------------------+-- cata+sem_MultinameInfo :: MultinameInfo  ->+                     T_MultinameInfo +sem_MultinameInfo (MultinameInfo_Generic _name _params )  =+    (sem_MultinameInfo_Generic _name (sem_ParamNames _params ) )+sem_MultinameInfo (MultinameInfo_Multiname _name _set )  =+    (sem_MultinameInfo_Multiname _name _set )+sem_MultinameInfo (MultinameInfo_MultinameA _name _set )  =+    (sem_MultinameInfo_MultinameA _name _set )+sem_MultinameInfo (MultinameInfo_MultinameL _set )  =+    (sem_MultinameInfo_MultinameL _set )+sem_MultinameInfo (MultinameInfo_MultinameLA _set )  =+    (sem_MultinameInfo_MultinameLA _set )+sem_MultinameInfo (MultinameInfo_QName _namespace _name )  =+    (sem_MultinameInfo_QName _namespace _name )+sem_MultinameInfo (MultinameInfo_QNameA _namespace _name )  =+    (sem_MultinameInfo_QNameA _namespace _name )+sem_MultinameInfo (MultinameInfo_RTQName _name )  =+    (sem_MultinameInfo_RTQName _name )+sem_MultinameInfo (MultinameInfo_RTQNameA _name )  =+    (sem_MultinameInfo_RTQNameA _name )+sem_MultinameInfo (MultinameInfo_RTQNameL )  =+    (sem_MultinameInfo_RTQNameL )+sem_MultinameInfo (MultinameInfo_RTQNameLA )  =+    (sem_MultinameInfo_RTQNameLA )+-- semantic domain+type T_MultinameInfo  = ( MultinameInfo )+sem_MultinameInfo_Generic :: Word32 ->+                             T_ParamNames  ->+                             T_MultinameInfo +sem_MultinameInfo_Generic name_ params_  =+    (case (params_ ) of+     { ( _paramsIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 MultinameInfo_Generic name_ _paramsIoutput+                 {-# LINE 3775 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 3780 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_MultinameInfo_Multiname :: Word32 ->+                               Word32 ->+                               T_MultinameInfo +sem_MultinameInfo_Multiname name_ set_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameInfo_Multiname name_ set_+            {-# LINE 3790 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3795 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameInfo_MultinameA :: Word32 ->+                                Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameA name_ set_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameInfo_MultinameA name_ set_+            {-# LINE 3805 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3810 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameInfo_MultinameL :: Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameL set_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameInfo_MultinameL set_+            {-# LINE 3819 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3824 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameInfo_MultinameLA :: Word32 ->+                                 T_MultinameInfo +sem_MultinameInfo_MultinameLA set_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameInfo_MultinameLA set_+            {-# LINE 3833 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3838 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameInfo_QName :: Word32 ->+                           Word32 ->+                           T_MultinameInfo +sem_MultinameInfo_QName namespace_ name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameInfo_QName namespace_ name_+            {-# LINE 3848 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3853 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameInfo_QNameA :: Word32 ->+                            Word32 ->+                            T_MultinameInfo +sem_MultinameInfo_QNameA namespace_ name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameInfo_QNameA namespace_ name_+            {-# LINE 3863 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3868 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameInfo_RTQName :: Word32 ->+                             T_MultinameInfo +sem_MultinameInfo_RTQName name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameInfo_RTQName name_+            {-# LINE 3877 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3882 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameInfo_RTQNameA :: Word32 ->+                              T_MultinameInfo +sem_MultinameInfo_RTQNameA name_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameInfo_RTQNameA name_+            {-# LINE 3891 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3896 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameInfo_RTQNameL :: T_MultinameInfo +sem_MultinameInfo_RTQNameL  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameInfo_RTQNameL+            {-# LINE 3904 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3909 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameInfo_RTQNameLA :: T_MultinameInfo +sem_MultinameInfo_RTQNameLA  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameInfo_RTQNameLA+            {-# LINE 3917 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3922 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- MultinameInfos ----------------------------------------------+-- cata+sem_MultinameInfos :: MultinameInfos  ->+                      T_MultinameInfos +sem_MultinameInfos list  =+    (Prelude.foldr sem_MultinameInfos_Cons sem_MultinameInfos_Nil (Prelude.map sem_MultinameInfo list) )+-- semantic domain+type T_MultinameInfos  = ( MultinameInfos )+sem_MultinameInfos_Cons :: T_MultinameInfo  ->+                           T_MultinameInfos  ->+                           T_MultinameInfos +sem_MultinameInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 3944 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 3949 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_MultinameInfos_Nil :: T_MultinameInfos +sem_MultinameInfos_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 3957 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 3962 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- MultinameKind -----------------------------------------------+-- cata+sem_MultinameKind :: MultinameKind  ->+                     T_MultinameKind +sem_MultinameKind (MultinameKind_Generic )  =+    (sem_MultinameKind_Generic )+sem_MultinameKind (MultinameKind_Multiname )  =+    (sem_MultinameKind_Multiname )+sem_MultinameKind (MultinameKind_MultinameA )  =+    (sem_MultinameKind_MultinameA )+sem_MultinameKind (MultinameKind_MultinameL )  =+    (sem_MultinameKind_MultinameL )+sem_MultinameKind (MultinameKind_MultinameLA )  =+    (sem_MultinameKind_MultinameLA )+sem_MultinameKind (MultinameKind_QName )  =+    (sem_MultinameKind_QName )+sem_MultinameKind (MultinameKind_QNameA )  =+    (sem_MultinameKind_QNameA )+sem_MultinameKind (MultinameKind_RTQName )  =+    (sem_MultinameKind_RTQName )+sem_MultinameKind (MultinameKind_RTQNameA )  =+    (sem_MultinameKind_RTQNameA )+sem_MultinameKind (MultinameKind_RTQNameL )  =+    (sem_MultinameKind_RTQNameL )+sem_MultinameKind (MultinameKind_RTQNameLA )  =+    (sem_MultinameKind_RTQNameLA )+-- semantic domain+type T_MultinameKind  = ( MultinameKind )+sem_MultinameKind_Generic :: T_MultinameKind +sem_MultinameKind_Generic  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameKind_Generic+            {-# LINE 3998 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4003 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameKind_Multiname :: T_MultinameKind +sem_MultinameKind_Multiname  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameKind_Multiname+            {-# LINE 4011 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4016 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameKind_MultinameA :: T_MultinameKind +sem_MultinameKind_MultinameA  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameKind_MultinameA+            {-# LINE 4024 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4029 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameKind_MultinameL :: T_MultinameKind +sem_MultinameKind_MultinameL  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameKind_MultinameL+            {-# LINE 4037 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4042 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameKind_MultinameLA :: T_MultinameKind +sem_MultinameKind_MultinameLA  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameKind_MultinameLA+            {-# LINE 4050 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4055 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameKind_QName :: T_MultinameKind +sem_MultinameKind_QName  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameKind_QName+            {-# LINE 4063 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4068 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameKind_QNameA :: T_MultinameKind +sem_MultinameKind_QNameA  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameKind_QNameA+            {-# LINE 4076 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4081 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameKind_RTQName :: T_MultinameKind +sem_MultinameKind_RTQName  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameKind_RTQName+            {-# LINE 4089 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4094 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameKind_RTQNameA :: T_MultinameKind +sem_MultinameKind_RTQNameA  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameKind_RTQNameA+            {-# LINE 4102 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4107 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameKind_RTQNameL :: T_MultinameKind +sem_MultinameKind_RTQNameL  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameKind_RTQNameL+            {-# LINE 4115 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4120 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_MultinameKind_RTQNameLA :: T_MultinameKind +sem_MultinameKind_RTQNameLA  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            MultinameKind_RTQNameLA+            {-# LINE 4128 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4133 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- NamespaceInfo -----------------------------------------------+-- cata+sem_NamespaceInfo :: NamespaceInfo  ->+                     T_NamespaceInfo +sem_NamespaceInfo (NamespaceInfo_Info _kind _name )  =+    (sem_NamespaceInfo_Info (sem_NamespaceKind _kind ) _name )+-- semantic domain+type T_NamespaceInfo  = ( NamespaceInfo )+sem_NamespaceInfo_Info :: T_NamespaceKind  ->+                          Word32 ->+                          T_NamespaceInfo +sem_NamespaceInfo_Info kind_ name_  =+    (case (kind_ ) of+     { ( _kindIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 NamespaceInfo_Info _kindIoutput name_+                 {-# LINE 4153 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 4158 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+-- NamespaceInfos ----------------------------------------------+-- cata+sem_NamespaceInfos :: NamespaceInfos  ->+                      T_NamespaceInfos +sem_NamespaceInfos list  =+    (Prelude.foldr sem_NamespaceInfos_Cons sem_NamespaceInfos_Nil (Prelude.map sem_NamespaceInfo list) )+-- semantic domain+type T_NamespaceInfos  = ( NamespaceInfos )+sem_NamespaceInfos_Cons :: T_NamespaceInfo  ->+                           T_NamespaceInfos  ->+                           T_NamespaceInfos +sem_NamespaceInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 4180 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 4185 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_NamespaceInfos_Nil :: T_NamespaceInfos +sem_NamespaceInfos_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 4193 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4198 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- NamespaceKind -----------------------------------------------+-- cata+sem_NamespaceKind :: NamespaceKind  ->+                     T_NamespaceKind +sem_NamespaceKind (NamespaceKind_Explicit )  =+    (sem_NamespaceKind_Explicit )+sem_NamespaceKind (NamespaceKind_General )  =+    (sem_NamespaceKind_General )+sem_NamespaceKind (NamespaceKind_Internal )  =+    (sem_NamespaceKind_Internal )+sem_NamespaceKind (NamespaceKind_Package )  =+    (sem_NamespaceKind_Package )+sem_NamespaceKind (NamespaceKind_Private )  =+    (sem_NamespaceKind_Private )+sem_NamespaceKind (NamespaceKind_Protected )  =+    (sem_NamespaceKind_Protected )+sem_NamespaceKind (NamespaceKind_Static )  =+    (sem_NamespaceKind_Static )+-- semantic domain+type T_NamespaceKind  = ( NamespaceKind )+sem_NamespaceKind_Explicit :: T_NamespaceKind +sem_NamespaceKind_Explicit  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            NamespaceKind_Explicit+            {-# LINE 4226 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4231 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_NamespaceKind_General :: T_NamespaceKind +sem_NamespaceKind_General  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            NamespaceKind_General+            {-# LINE 4239 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4244 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_NamespaceKind_Internal :: T_NamespaceKind +sem_NamespaceKind_Internal  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            NamespaceKind_Internal+            {-# LINE 4252 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4257 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_NamespaceKind_Package :: T_NamespaceKind +sem_NamespaceKind_Package  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            NamespaceKind_Package+            {-# LINE 4265 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4270 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_NamespaceKind_Private :: T_NamespaceKind +sem_NamespaceKind_Private  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            NamespaceKind_Private+            {-# LINE 4278 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4283 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_NamespaceKind_Protected :: T_NamespaceKind +sem_NamespaceKind_Protected  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            NamespaceKind_Protected+            {-# LINE 4291 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4296 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_NamespaceKind_Static :: T_NamespaceKind +sem_NamespaceKind_Static  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            NamespaceKind_Static+            {-# LINE 4304 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4309 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- NamespaceNames ----------------------------------------------+-- cata+sem_NamespaceNames :: NamespaceNames  ->+                      T_NamespaceNames +sem_NamespaceNames list  =+    (Prelude.foldr sem_NamespaceNames_Cons sem_NamespaceNames_Nil list )+-- semantic domain+type T_NamespaceNames  = ( NamespaceNames )+sem_NamespaceNames_Cons :: Word32 ->+                           T_NamespaceNames  ->+                           T_NamespaceNames +sem_NamespaceNames_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 (:) hd_ _tlIoutput+                 {-# LINE 4329 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 4334 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_NamespaceNames_Nil :: T_NamespaceNames +sem_NamespaceNames_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 4342 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4347 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- Optional ----------------------------------------------------+-- cata+sem_Optional :: Optional  ->+                T_Optional +sem_Optional (Optional_Detail _val _kind )  =+    (sem_Optional_Detail _val (sem_ValueKind _kind ) )+-- semantic domain+type T_Optional  = ( Optional )+sem_Optional_Detail :: Word32 ->+                       T_ValueKind  ->+                       T_Optional +sem_Optional_Detail val_ kind_  =+    (case (kind_ ) of+     { ( _kindIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 Optional_Detail val_ _kindIoutput+                 {-# LINE 4367 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 4372 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+-- Optionals ---------------------------------------------------+-- cata+sem_Optionals :: Optionals  ->+                 T_Optionals +sem_Optionals list  =+    (Prelude.foldr sem_Optionals_Cons sem_Optionals_Nil (Prelude.map sem_Optional list) )+-- semantic domain+type T_Optionals  = ( Optionals )+sem_Optionals_Cons :: T_Optional  ->+                      T_Optionals  ->+                      T_Optionals +sem_Optionals_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 4394 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 4399 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_Optionals_Nil :: T_Optionals +sem_Optionals_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 4407 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4412 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- ParamNames --------------------------------------------------+-- cata+sem_ParamNames :: ParamNames  ->+                  T_ParamNames +sem_ParamNames list  =+    (Prelude.foldr sem_ParamNames_Cons sem_ParamNames_Nil list )+-- semantic domain+type T_ParamNames  = ( ParamNames )+sem_ParamNames_Cons :: Word32 ->+                       T_ParamNames  ->+                       T_ParamNames +sem_ParamNames_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 (:) hd_ _tlIoutput+                 {-# LINE 4432 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 4437 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_ParamNames_Nil :: T_ParamNames +sem_ParamNames_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 4445 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4450 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- ParamTypes --------------------------------------------------+-- cata+sem_ParamTypes :: ParamTypes  ->+                  T_ParamTypes +sem_ParamTypes list  =+    (Prelude.foldr sem_ParamTypes_Cons sem_ParamTypes_Nil list )+-- semantic domain+type T_ParamTypes  = ( ParamTypes )+sem_ParamTypes_Cons :: Word32 ->+                       T_ParamTypes  ->+                       T_ParamTypes +sem_ParamTypes_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 (:) hd_ _tlIoutput+                 {-# LINE 4470 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 4475 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_ParamTypes_Nil :: T_ParamTypes +sem_ParamTypes_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 4483 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4488 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- PoolDoubles -------------------------------------------------+-- cata+sem_PoolDoubles :: PoolDoubles  ->+                   T_PoolDoubles +sem_PoolDoubles list  =+    (Prelude.foldr sem_PoolDoubles_Cons sem_PoolDoubles_Nil list )+-- semantic domain+type T_PoolDoubles  = ( PoolDoubles )+sem_PoolDoubles_Cons :: Double ->+                        T_PoolDoubles  ->+                        T_PoolDoubles +sem_PoolDoubles_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 (:) hd_ _tlIoutput+                 {-# LINE 4508 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 4513 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_PoolDoubles_Nil :: T_PoolDoubles +sem_PoolDoubles_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 4521 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4526 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- PoolInfo ----------------------------------------------------+-- cata+sem_PoolInfo :: PoolInfo  ->+                T_PoolInfo +sem_PoolInfo (PoolInfo_Info _integers _uintegers _doubles _strings _namespaces _namesets _multinames )  =+    (sem_PoolInfo_Info (sem_PoolInts _integers ) (sem_PoolUInts _uintegers ) (sem_PoolDoubles _doubles ) (sem_PoolStrings _strings ) (sem_NamespaceInfos _namespaces ) (sem_SetInfos _namesets ) (sem_MultinameInfos _multinames ) )+-- semantic domain+type T_PoolInfo  = ( PoolInfo )+sem_PoolInfo_Info :: T_PoolInts  ->+                     T_PoolUInts  ->+                     T_PoolDoubles  ->+                     T_PoolStrings  ->+                     T_NamespaceInfos  ->+                     T_SetInfos  ->+                     T_MultinameInfos  ->+                     T_PoolInfo +sem_PoolInfo_Info integers_ uintegers_ doubles_ strings_ namespaces_ namesets_ multinames_  =+    (case (multinames_ ) of+     { ( _multinamesIoutput) | True ->+         (case (namesets_ ) of+          { ( _namesetsIoutput) | True ->+              (case (namespaces_ ) of+               { ( _namespacesIoutput) | True ->+                   (case (strings_ ) of+                    { ( _stringsIoutput) | True ->+                        (case (doubles_ ) of+                         { ( _doublesIoutput) | True ->+                             (case (uintegers_ ) of+                              { ( _uintegersIoutput) | True ->+                                  (case (integers_ ) of+                                   { ( _integersIoutput) | True ->+                                       (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                                               PoolInfo_Info _integersIoutput _uintegersIoutput _doublesIoutput _stringsIoutput _namespacesIoutput _namesetsIoutput _multinamesIoutput+                                               {-# LINE 4563 "src/TrfInjectAbc.hs" #-}+                                               )) of+                                        { _output | _output `seq` (True) ->+                                        (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                                                _output+                                                {-# LINE 4568 "src/TrfInjectAbc.hs" #-}+                                                )) of+                                         { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                         ( _lhsOoutput) }) }) }) }) }) }) }) }) })+-- PoolInts ----------------------------------------------------+-- cata+sem_PoolInts :: PoolInts  ->+                T_PoolInts +sem_PoolInts list  =+    (Prelude.foldr sem_PoolInts_Cons sem_PoolInts_Nil list )+-- semantic domain+type T_PoolInts  = ( PoolInts )+sem_PoolInts_Cons :: Word32 ->+                     T_PoolInts  ->+                     T_PoolInts +sem_PoolInts_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 (:) hd_ _tlIoutput+                 {-# LINE 4588 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 4593 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_PoolInts_Nil :: T_PoolInts +sem_PoolInts_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 4601 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4606 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- PoolStrings -------------------------------------------------+-- cata+sem_PoolStrings :: PoolStrings  ->+                   T_PoolStrings +sem_PoolStrings list  =+    (Prelude.foldr sem_PoolStrings_Cons sem_PoolStrings_Nil list )+-- semantic domain+type T_PoolStrings  = ( PoolStrings )+sem_PoolStrings_Cons :: ByteString ->+                        T_PoolStrings  ->+                        T_PoolStrings +sem_PoolStrings_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 (:) hd_ _tlIoutput+                 {-# LINE 4626 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 4631 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_PoolStrings_Nil :: T_PoolStrings +sem_PoolStrings_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 4639 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4644 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- PoolUInts ---------------------------------------------------+-- cata+sem_PoolUInts :: PoolUInts  ->+                 T_PoolUInts +sem_PoolUInts list  =+    (Prelude.foldr sem_PoolUInts_Cons sem_PoolUInts_Nil list )+-- semantic domain+type T_PoolUInts  = ( PoolUInts )+sem_PoolUInts_Cons :: Word32 ->+                      T_PoolUInts  ->+                      T_PoolUInts +sem_PoolUInts_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 (:) hd_ _tlIoutput+                 {-# LINE 4664 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 4669 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_PoolUInts_Nil :: T_PoolUInts +sem_PoolUInts_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 4677 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4682 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- Rect --------------------------------------------------------+-- cata+sem_Rect :: Rect  ->+            T_Rect +sem_Rect (Rect_Rect _bits _xMin _xMax _yMin _yMax )  =+    (sem_Rect_Rect _bits _xMin _xMax _yMin _yMax )+-- semantic domain+type T_Rect  = ( Rect )+sem_Rect_Rect :: Int ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 T_Rect +sem_Rect_Rect bits_ xMin_ xMax_ yMin_ yMax_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            Rect_Rect bits_ xMin_ xMax_ yMin_ yMax_+            {-# LINE 4703 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4708 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- ScriptInfo --------------------------------------------------+-- cata+sem_ScriptInfo :: ScriptInfo  ->+                  T_ScriptInfo +sem_ScriptInfo (ScriptInfo_Info _method _traits )  =+    (sem_ScriptInfo_Info _method (sem_Traits _traits ) )+-- semantic domain+type T_ScriptInfo  = ( ScriptInfo )+sem_ScriptInfo_Info :: Word32 ->+                       T_Traits  ->+                       T_ScriptInfo +sem_ScriptInfo_Info method_ traits_  =+    (case (traits_ ) of+     { ( _traitsIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 ScriptInfo_Info method_ _traitsIoutput+                 {-# LINE 4728 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 4733 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+-- ScriptInfos -------------------------------------------------+-- cata+sem_ScriptInfos :: ScriptInfos  ->+                   T_ScriptInfos +sem_ScriptInfos list  =+    (Prelude.foldr sem_ScriptInfos_Cons sem_ScriptInfos_Nil (Prelude.map sem_ScriptInfo list) )+-- semantic domain+type T_ScriptInfos  = ( ScriptInfos )+sem_ScriptInfos_Cons :: T_ScriptInfo  ->+                        T_ScriptInfos  ->+                        T_ScriptInfos +sem_ScriptInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 4755 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 4760 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_ScriptInfos_Nil :: T_ScriptInfos +sem_ScriptInfos_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 4768 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4773 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- SetInfo -----------------------------------------------------+-- cata+sem_SetInfo :: SetInfo  ->+               T_SetInfo +sem_SetInfo (SetInfo_Info _names )  =+    (sem_SetInfo_Info (sem_NamespaceNames _names ) )+-- semantic domain+type T_SetInfo  = ( SetInfo )+sem_SetInfo_Info :: T_NamespaceNames  ->+                    T_SetInfo +sem_SetInfo_Info names_  =+    (case (names_ ) of+     { ( _namesIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 SetInfo_Info _namesIoutput+                 {-# LINE 4792 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 4797 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+-- SetInfos ----------------------------------------------------+-- cata+sem_SetInfos :: SetInfos  ->+                T_SetInfos +sem_SetInfos list  =+    (Prelude.foldr sem_SetInfos_Cons sem_SetInfos_Nil (Prelude.map sem_SetInfo list) )+-- semantic domain+type T_SetInfos  = ( SetInfos )+sem_SetInfos_Cons :: T_SetInfo  ->+                     T_SetInfos  ->+                     T_SetInfos +sem_SetInfos_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 4819 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 4824 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_SetInfos_Nil :: T_SetInfos +sem_SetInfos_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 4832 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 4837 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- SwfFile -----------------------------------------------------+-- cata+sem_SwfFile :: SwfFile  ->+               T_SwfFile +sem_SwfFile (SwfFile_File _compressed _version _length _size _rate _count _tags )  =+    (sem_SwfFile_File _compressed _version _length (sem_Rect _size ) _rate _count (sem_Tags _tags ) )+-- semantic domain+type T_SwfFile  = AbcFile  ->+                  String ->+                  ( SwfFile )+data Inh_SwfFile  = Inh_SwfFile {abc_Inh_SwfFile :: !(AbcFile ),name_Inh_SwfFile :: !(String)}+data Syn_SwfFile  = Syn_SwfFile {output_Syn_SwfFile :: !(SwfFile )}+wrap_SwfFile :: T_SwfFile  ->+                Inh_SwfFile  ->+                Syn_SwfFile +wrap_SwfFile sem (Inh_SwfFile _lhsIabc _lhsIname )  =+    (let ( _lhsOoutput) | True = sem _lhsIabc _lhsIname +     in  (Syn_SwfFile _lhsOoutput ))+sem_SwfFile_File :: Bool ->+                    Word8 ->+                    Word32 ->+                    T_Rect  ->+                    Word16 ->+                    Word16 ->+                    T_Tags  ->+                    T_SwfFile +sem_SwfFile_File compressed_ version_ length_ size_ rate_ count_ tags_  =+    (\ _lhsIabc+       _lhsIname ->+         (case (({-# LINE 42 "src/TrfInjectAbc.ag" #-}+                 Tag_Abc [] (pack $ encode _lhsIname) _lhsIabc+                 {-# LINE 4872 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _tagsOtag | _tagsOtag `seq` (True) ->+          (case (({-# LINE 37 "src/TrfInjectAbc.ag" #-}+                  _lhsIname+                  {-# LINE 4877 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _tagsOname | _tagsOname `seq` (True) ->+           (case (({-# LINE 37 "src/TrfInjectAbc.ag" #-}+                   _lhsIabc+                   {-# LINE 4882 "src/TrfInjectAbc.hs" #-}+                   )) of+            { _tagsOabc | _tagsOabc `seq` (True) ->+            (case (tags_ _tagsOabc _tagsOname _tagsOtag ) of+             { ( _tagsIisLast,_tagsIoutput) | True ->+                 (case (size_ ) of+                  { ( _sizeIoutput) | True ->+                      (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                              SwfFile_File compressed_ version_ length_ _sizeIoutput rate_ count_ _tagsIoutput+                              {-# LINE 4891 "src/TrfInjectAbc.hs" #-}+                              )) of+                       { _output | _output `seq` (True) ->+                       (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                               _output+                               {-# LINE 4896 "src/TrfInjectAbc.hs" #-}+                               )) of+                        { _lhsOoutput | _lhsOoutput `seq` (True) ->+                        ( _lhsOoutput) }) }) }) }) }) }) }))+-- Tag ---------------------------------------------------------+-- cata+sem_Tag :: Tag  ->+           T_Tag +sem_Tag (Tag_Abc _flags _name _file )  =+    (sem_Tag_Abc (sem_AbcFlags _flags ) _name (sem_AbcFile _file ) )+sem_Tag (Tag_End )  =+    (sem_Tag_End )+sem_Tag (Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )  =+    (sem_Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )+sem_Tag (Tag_Opaque _kind _length _body )  =+    (sem_Tag_Opaque (sem_TagKind _kind ) _length _body )+-- semantic domain+type T_Tag  = Bool ->+              ( Bool,Bool,Tag )+sem_Tag_Abc :: T_AbcFlags  ->+               ByteString ->+               T_AbcFile  ->+               T_Tag +sem_Tag_Abc flags_ name_ file_  =+    (\ _lhsIisLast ->+         (case (({-# LINE 55 "src/TrfInjectAbc.ag" #-}+                 True+                 {-# LINE 4923 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _lhsOisAbc | _lhsOisAbc `seq` (True) ->+          (case (({-# LINE 51 "src/TrfInjectAbc.ag" #-}+                  False+                  {-# LINE 4928 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOisLast | _lhsOisLast `seq` (True) ->+           (case (file_ ) of+            { ( _fileIoutput) | True ->+                (case (flags_ ) of+                 { ( _flagsIoutput) | True ->+                     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                             Tag_Abc _flagsIoutput name_ _fileIoutput+                             {-# LINE 4937 "src/TrfInjectAbc.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                              _output+                              {-# LINE 4942 "src/TrfInjectAbc.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOisAbc,_lhsOisLast,_lhsOoutput) }) }) }) }) }) }))+sem_Tag_End :: T_Tag +sem_Tag_End  =+    (\ _lhsIisLast ->+         (case (({-# LINE 54 "src/TrfInjectAbc.ag" #-}+                 False+                 {-# LINE 4951 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _lhsOisAbc | _lhsOisAbc `seq` (True) ->+          (case (({-# LINE 39 "src/TrfInjectAbc.ag" #-}+                  _lhsIisLast+                  {-# LINE 4956 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOisLast | _lhsOisLast `seq` (True) ->+           (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                   Tag_End+                   {-# LINE 4961 "src/TrfInjectAbc.hs" #-}+                   )) of+            { _output | _output `seq` (True) ->+            (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                    _output+                    {-# LINE 4966 "src/TrfInjectAbc.hs" #-}+                    )) of+             { _lhsOoutput | _lhsOoutput `seq` (True) ->+             ( _lhsOisAbc,_lhsOisLast,_lhsOoutput) }) }) }) }))+sem_Tag_FileAttributes :: Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          T_Tag +sem_Tag_FileAttributes useDirectBlit_ useGPU_ hasMetaData_ hasAS3_ useNetwork_  =+    (\ _lhsIisLast ->+         (case (({-# LINE 54 "src/TrfInjectAbc.ag" #-}+                 False+                 {-# LINE 4980 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _lhsOisAbc | _lhsOisAbc `seq` (True) ->+          (case (({-# LINE 39 "src/TrfInjectAbc.ag" #-}+                  _lhsIisLast+                  {-# LINE 4985 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOisLast | _lhsOisLast `seq` (True) ->+           (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                   Tag_FileAttributes useDirectBlit_ useGPU_ hasMetaData_ hasAS3_ useNetwork_+                   {-# LINE 4990 "src/TrfInjectAbc.hs" #-}+                   )) of+            { _output | _output `seq` (True) ->+            (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                    _output+                    {-# LINE 4995 "src/TrfInjectAbc.hs" #-}+                    )) of+             { _lhsOoutput | _lhsOoutput `seq` (True) ->+             ( _lhsOisAbc,_lhsOisLast,_lhsOoutput) }) }) }) }))+sem_Tag_Opaque :: T_TagKind  ->+                  Word32 ->+                  ByteString ->+                  T_Tag +sem_Tag_Opaque kind_ length_ body_  =+    (\ _lhsIisLast ->+         (case (({-# LINE 54 "src/TrfInjectAbc.ag" #-}+                 False+                 {-# LINE 5007 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _lhsOisAbc | _lhsOisAbc `seq` (True) ->+          (case (({-# LINE 39 "src/TrfInjectAbc.ag" #-}+                  _lhsIisLast+                  {-# LINE 5012 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOisLast | _lhsOisLast `seq` (True) ->+           (case (kind_ ) of+            { ( _kindIoutput) | True ->+                (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                        Tag_Opaque _kindIoutput length_ body_+                        {-# LINE 5019 "src/TrfInjectAbc.hs" #-}+                        )) of+                 { _output | _output `seq` (True) ->+                 (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                         _output+                         {-# LINE 5024 "src/TrfInjectAbc.hs" #-}+                         )) of+                  { _lhsOoutput | _lhsOoutput `seq` (True) ->+                  ( _lhsOisAbc,_lhsOisLast,_lhsOoutput) }) }) }) }) }))+-- TagKind -----------------------------------------------------+-- cata+sem_TagKind :: TagKind  ->+               T_TagKind +sem_TagKind (TagKind_CSMTextSettings )  =+    (sem_TagKind_CSMTextSettings )+sem_TagKind (TagKind_DefineBinaryData )  =+    (sem_TagKind_DefineBinaryData )+sem_TagKind (TagKind_DefineBits )  =+    (sem_TagKind_DefineBits )+sem_TagKind (TagKind_DefineBitsJPEG2 )  =+    (sem_TagKind_DefineBitsJPEG2 )+sem_TagKind (TagKind_DefineBitsJPEG3 )  =+    (sem_TagKind_DefineBitsJPEG3 )+sem_TagKind (TagKind_DefineBitsJPEG4 )  =+    (sem_TagKind_DefineBitsJPEG4 )+sem_TagKind (TagKind_DefineBitsLossless )  =+    (sem_TagKind_DefineBitsLossless )+sem_TagKind (TagKind_DefineBitsLossless2 )  =+    (sem_TagKind_DefineBitsLossless2 )+sem_TagKind (TagKind_DefineButton )  =+    (sem_TagKind_DefineButton )+sem_TagKind (TagKind_DefineButton2 )  =+    (sem_TagKind_DefineButton2 )+sem_TagKind (TagKind_DefineButtonCxform )  =+    (sem_TagKind_DefineButtonCxform )+sem_TagKind (TagKind_DefineButtonSound )  =+    (sem_TagKind_DefineButtonSound )+sem_TagKind (TagKind_DefineEditText )  =+    (sem_TagKind_DefineEditText )+sem_TagKind (TagKind_DefineFont )  =+    (sem_TagKind_DefineFont )+sem_TagKind (TagKind_DefineFont2 )  =+    (sem_TagKind_DefineFont2 )+sem_TagKind (TagKind_DefineFont3 )  =+    (sem_TagKind_DefineFont3 )+sem_TagKind (TagKind_DefineFont4 )  =+    (sem_TagKind_DefineFont4 )+sem_TagKind (TagKind_DefineFontAlignZones )  =+    (sem_TagKind_DefineFontAlignZones )+sem_TagKind (TagKind_DefineFontInfo )  =+    (sem_TagKind_DefineFontInfo )+sem_TagKind (TagKind_DefineFontInfo2 )  =+    (sem_TagKind_DefineFontInfo2 )+sem_TagKind (TagKind_DefineFontName )  =+    (sem_TagKind_DefineFontName )+sem_TagKind (TagKind_DefineMorphShape )  =+    (sem_TagKind_DefineMorphShape )+sem_TagKind (TagKind_DefineMorphShape2 )  =+    (sem_TagKind_DefineMorphShape2 )+sem_TagKind (TagKind_DefineScalingGrid )  =+    (sem_TagKind_DefineScalingGrid )+sem_TagKind (TagKind_DefineSceneAndFrameLabelData )  =+    (sem_TagKind_DefineSceneAndFrameLabelData )+sem_TagKind (TagKind_DefineShape )  =+    (sem_TagKind_DefineShape )+sem_TagKind (TagKind_DefineShape2 )  =+    (sem_TagKind_DefineShape2 )+sem_TagKind (TagKind_DefineShape3 )  =+    (sem_TagKind_DefineShape3 )+sem_TagKind (TagKind_DefineShape4 )  =+    (sem_TagKind_DefineShape4 )+sem_TagKind (TagKind_DefineSound )  =+    (sem_TagKind_DefineSound )+sem_TagKind (TagKind_DefineSprite )  =+    (sem_TagKind_DefineSprite )+sem_TagKind (TagKind_DefineText )  =+    (sem_TagKind_DefineText )+sem_TagKind (TagKind_DefineText2 )  =+    (sem_TagKind_DefineText2 )+sem_TagKind (TagKind_DefineVideoStream )  =+    (sem_TagKind_DefineVideoStream )+sem_TagKind (TagKind_DoABC )  =+    (sem_TagKind_DoABC )+sem_TagKind (TagKind_DoAction )  =+    (sem_TagKind_DoAction )+sem_TagKind (TagKind_DoInitAction )  =+    (sem_TagKind_DoInitAction )+sem_TagKind (TagKind_EnableDebugger )  =+    (sem_TagKind_EnableDebugger )+sem_TagKind (TagKind_EnableDebugger2 )  =+    (sem_TagKind_EnableDebugger2 )+sem_TagKind (TagKind_End )  =+    (sem_TagKind_End )+sem_TagKind (TagKind_ExportAssets )  =+    (sem_TagKind_ExportAssets )+sem_TagKind (TagKind_FileAttributes )  =+    (sem_TagKind_FileAttributes )+sem_TagKind (TagKind_FrameLabel )  =+    (sem_TagKind_FrameLabel )+sem_TagKind (TagKind_ImportAssets )  =+    (sem_TagKind_ImportAssets )+sem_TagKind (TagKind_ImportAssets2 )  =+    (sem_TagKind_ImportAssets2 )+sem_TagKind (TagKind_JPEGTables )  =+    (sem_TagKind_JPEGTables )+sem_TagKind (TagKind_Metadata )  =+    (sem_TagKind_Metadata )+sem_TagKind (TagKind_Other _code )  =+    (sem_TagKind_Other _code )+sem_TagKind (TagKind_PlaceObject )  =+    (sem_TagKind_PlaceObject )+sem_TagKind (TagKind_PlaceObject2 )  =+    (sem_TagKind_PlaceObject2 )+sem_TagKind (TagKind_PlaceObject3 )  =+    (sem_TagKind_PlaceObject3 )+sem_TagKind (TagKind_Protect )  =+    (sem_TagKind_Protect )+sem_TagKind (TagKind_RemoveObject )  =+    (sem_TagKind_RemoveObject )+sem_TagKind (TagKind_RemoveObject2 )  =+    (sem_TagKind_RemoveObject2 )+sem_TagKind (TagKind_ScriptLimits )  =+    (sem_TagKind_ScriptLimits )+sem_TagKind (TagKind_SetBackgroundColor )  =+    (sem_TagKind_SetBackgroundColor )+sem_TagKind (TagKind_SetTabIndex )  =+    (sem_TagKind_SetTabIndex )+sem_TagKind (TagKind_ShowFrame )  =+    (sem_TagKind_ShowFrame )+sem_TagKind (TagKind_SoundStreamBlock )  =+    (sem_TagKind_SoundStreamBlock )+sem_TagKind (TagKind_SoundStreamHead )  =+    (sem_TagKind_SoundStreamHead )+sem_TagKind (TagKind_SoundStreamHead2 )  =+    (sem_TagKind_SoundStreamHead2 )+sem_TagKind (TagKind_StartSound )  =+    (sem_TagKind_StartSound )+sem_TagKind (TagKind_StartSound2 )  =+    (sem_TagKind_StartSound2 )+sem_TagKind (TagKind_SymbolClass )  =+    (sem_TagKind_SymbolClass )+sem_TagKind (TagKind_VideoFrame )  =+    (sem_TagKind_VideoFrame )+-- semantic domain+type T_TagKind  = ( TagKind )+sem_TagKind_CSMTextSettings :: T_TagKind +sem_TagKind_CSMTextSettings  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_CSMTextSettings+            {-# LINE 5168 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5173 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBinaryData :: T_TagKind +sem_TagKind_DefineBinaryData  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineBinaryData+            {-# LINE 5181 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5186 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBits :: T_TagKind +sem_TagKind_DefineBits  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineBits+            {-# LINE 5194 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5199 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBitsJPEG2 :: T_TagKind +sem_TagKind_DefineBitsJPEG2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineBitsJPEG2+            {-# LINE 5207 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5212 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBitsJPEG3 :: T_TagKind +sem_TagKind_DefineBitsJPEG3  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineBitsJPEG3+            {-# LINE 5220 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5225 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBitsJPEG4 :: T_TagKind +sem_TagKind_DefineBitsJPEG4  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineBitsJPEG4+            {-# LINE 5233 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5238 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBitsLossless :: T_TagKind +sem_TagKind_DefineBitsLossless  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineBitsLossless+            {-# LINE 5246 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5251 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBitsLossless2 :: T_TagKind +sem_TagKind_DefineBitsLossless2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineBitsLossless2+            {-# LINE 5259 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5264 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineButton :: T_TagKind +sem_TagKind_DefineButton  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineButton+            {-# LINE 5272 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5277 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineButton2 :: T_TagKind +sem_TagKind_DefineButton2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineButton2+            {-# LINE 5285 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5290 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineButtonCxform :: T_TagKind +sem_TagKind_DefineButtonCxform  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineButtonCxform+            {-# LINE 5298 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5303 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineButtonSound :: T_TagKind +sem_TagKind_DefineButtonSound  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineButtonSound+            {-# LINE 5311 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5316 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineEditText :: T_TagKind +sem_TagKind_DefineEditText  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineEditText+            {-# LINE 5324 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5329 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFont :: T_TagKind +sem_TagKind_DefineFont  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineFont+            {-# LINE 5337 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5342 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFont2 :: T_TagKind +sem_TagKind_DefineFont2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineFont2+            {-# LINE 5350 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5355 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFont3 :: T_TagKind +sem_TagKind_DefineFont3  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineFont3+            {-# LINE 5363 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5368 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFont4 :: T_TagKind +sem_TagKind_DefineFont4  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineFont4+            {-# LINE 5376 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5381 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFontAlignZones :: T_TagKind +sem_TagKind_DefineFontAlignZones  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineFontAlignZones+            {-# LINE 5389 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5394 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFontInfo :: T_TagKind +sem_TagKind_DefineFontInfo  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineFontInfo+            {-# LINE 5402 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5407 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFontInfo2 :: T_TagKind +sem_TagKind_DefineFontInfo2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineFontInfo2+            {-# LINE 5415 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5420 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFontName :: T_TagKind +sem_TagKind_DefineFontName  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineFontName+            {-# LINE 5428 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5433 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineMorphShape :: T_TagKind +sem_TagKind_DefineMorphShape  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineMorphShape+            {-# LINE 5441 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5446 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineMorphShape2 :: T_TagKind +sem_TagKind_DefineMorphShape2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineMorphShape2+            {-# LINE 5454 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5459 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineScalingGrid :: T_TagKind +sem_TagKind_DefineScalingGrid  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineScalingGrid+            {-# LINE 5467 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5472 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineSceneAndFrameLabelData :: T_TagKind +sem_TagKind_DefineSceneAndFrameLabelData  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineSceneAndFrameLabelData+            {-# LINE 5480 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5485 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineShape :: T_TagKind +sem_TagKind_DefineShape  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineShape+            {-# LINE 5493 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5498 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineShape2 :: T_TagKind +sem_TagKind_DefineShape2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineShape2+            {-# LINE 5506 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5511 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineShape3 :: T_TagKind +sem_TagKind_DefineShape3  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineShape3+            {-# LINE 5519 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5524 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineShape4 :: T_TagKind +sem_TagKind_DefineShape4  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineShape4+            {-# LINE 5532 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5537 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineSound :: T_TagKind +sem_TagKind_DefineSound  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineSound+            {-# LINE 5545 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5550 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineSprite :: T_TagKind +sem_TagKind_DefineSprite  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineSprite+            {-# LINE 5558 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5563 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineText :: T_TagKind +sem_TagKind_DefineText  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineText+            {-# LINE 5571 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5576 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineText2 :: T_TagKind +sem_TagKind_DefineText2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineText2+            {-# LINE 5584 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5589 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineVideoStream :: T_TagKind +sem_TagKind_DefineVideoStream  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DefineVideoStream+            {-# LINE 5597 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5602 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DoABC :: T_TagKind +sem_TagKind_DoABC  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DoABC+            {-# LINE 5610 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5615 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DoAction :: T_TagKind +sem_TagKind_DoAction  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DoAction+            {-# LINE 5623 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5628 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DoInitAction :: T_TagKind +sem_TagKind_DoInitAction  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_DoInitAction+            {-# LINE 5636 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5641 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_EnableDebugger :: T_TagKind +sem_TagKind_EnableDebugger  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_EnableDebugger+            {-# LINE 5649 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5654 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_EnableDebugger2 :: T_TagKind +sem_TagKind_EnableDebugger2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_EnableDebugger2+            {-# LINE 5662 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5667 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_End :: T_TagKind +sem_TagKind_End  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_End+            {-# LINE 5675 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5680 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_ExportAssets :: T_TagKind +sem_TagKind_ExportAssets  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_ExportAssets+            {-# LINE 5688 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5693 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_FileAttributes :: T_TagKind +sem_TagKind_FileAttributes  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_FileAttributes+            {-# LINE 5701 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5706 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_FrameLabel :: T_TagKind +sem_TagKind_FrameLabel  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_FrameLabel+            {-# LINE 5714 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5719 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_ImportAssets :: T_TagKind +sem_TagKind_ImportAssets  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_ImportAssets+            {-# LINE 5727 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5732 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_ImportAssets2 :: T_TagKind +sem_TagKind_ImportAssets2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_ImportAssets2+            {-# LINE 5740 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5745 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_JPEGTables :: T_TagKind +sem_TagKind_JPEGTables  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_JPEGTables+            {-# LINE 5753 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5758 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_Metadata :: T_TagKind +sem_TagKind_Metadata  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_Metadata+            {-# LINE 5766 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5771 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_Other :: Word16 ->+                     T_TagKind +sem_TagKind_Other code_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_Other code_+            {-# LINE 5780 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5785 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_PlaceObject :: T_TagKind +sem_TagKind_PlaceObject  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_PlaceObject+            {-# LINE 5793 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5798 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_PlaceObject2 :: T_TagKind +sem_TagKind_PlaceObject2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_PlaceObject2+            {-# LINE 5806 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5811 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_PlaceObject3 :: T_TagKind +sem_TagKind_PlaceObject3  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_PlaceObject3+            {-# LINE 5819 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5824 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_Protect :: T_TagKind +sem_TagKind_Protect  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_Protect+            {-# LINE 5832 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5837 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_RemoveObject :: T_TagKind +sem_TagKind_RemoveObject  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_RemoveObject+            {-# LINE 5845 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5850 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_RemoveObject2 :: T_TagKind +sem_TagKind_RemoveObject2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_RemoveObject2+            {-# LINE 5858 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5863 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_ScriptLimits :: T_TagKind +sem_TagKind_ScriptLimits  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_ScriptLimits+            {-# LINE 5871 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5876 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_SetBackgroundColor :: T_TagKind +sem_TagKind_SetBackgroundColor  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_SetBackgroundColor+            {-# LINE 5884 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5889 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_SetTabIndex :: T_TagKind +sem_TagKind_SetTabIndex  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_SetTabIndex+            {-# LINE 5897 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5902 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_ShowFrame :: T_TagKind +sem_TagKind_ShowFrame  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_ShowFrame+            {-# LINE 5910 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5915 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_SoundStreamBlock :: T_TagKind +sem_TagKind_SoundStreamBlock  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_SoundStreamBlock+            {-# LINE 5923 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5928 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_SoundStreamHead :: T_TagKind +sem_TagKind_SoundStreamHead  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_SoundStreamHead+            {-# LINE 5936 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5941 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_SoundStreamHead2 :: T_TagKind +sem_TagKind_SoundStreamHead2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_SoundStreamHead2+            {-# LINE 5949 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5954 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_StartSound :: T_TagKind +sem_TagKind_StartSound  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_StartSound+            {-# LINE 5962 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5967 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_StartSound2 :: T_TagKind +sem_TagKind_StartSound2  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_StartSound2+            {-# LINE 5975 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5980 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_SymbolClass :: T_TagKind +sem_TagKind_SymbolClass  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_SymbolClass+            {-# LINE 5988 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 5993 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_VideoFrame :: T_TagKind +sem_TagKind_VideoFrame  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TagKind_VideoFrame+            {-# LINE 6001 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6006 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- Tags --------------------------------------------------------+-- cata+sem_Tags :: Tags  ->+            T_Tags +sem_Tags list  =+    (Prelude.foldr sem_Tags_Cons sem_Tags_Nil (Prelude.map sem_Tag list) )+-- semantic domain+type T_Tags  = AbcFile  ->+               String ->+               Tag  ->+               ( Bool,Tags )+sem_Tags_Cons :: T_Tag  ->+                 T_Tags  ->+                 T_Tags +sem_Tags_Cons hd_ tl_  =+    (\ _lhsIabc+       _lhsIname+       _lhsItag ->+         (case (({-# LINE 38 "src/TrfInjectAbc.ag" #-}+                 _lhsItag+                 {-# LINE 6030 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _tlOtag | _tlOtag `seq` (True) ->+          (case (({-# LINE 37 "src/TrfInjectAbc.ag" #-}+                  _lhsIname+                  {-# LINE 6035 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _tlOname | _tlOname `seq` (True) ->+           (case (({-# LINE 37 "src/TrfInjectAbc.ag" #-}+                   _lhsIabc+                   {-# LINE 6040 "src/TrfInjectAbc.hs" #-}+                   )) of+            { _tlOabc | _tlOabc `seq` (True) ->+            (case (tl_ _tlOabc _tlOname _tlOtag ) of+             { ( _tlIisLast,_tlIoutput) | True ->+                 (case (({-# LINE 47 "src/TrfInjectAbc.ag" #-}+                         _tlIisLast+                         {-# LINE 6047 "src/TrfInjectAbc.hs" #-}+                         )) of+                  { _hdOisLast | _hdOisLast `seq` (True) ->+                  (case (hd_ _hdOisLast ) of+                   { ( _hdIisAbc,_hdIisLast,_hdIoutput) | True ->+                       (case (({-# LINE 48 "src/TrfInjectAbc.ag" #-}+                               _hdIisLast+                               {-# LINE 6054 "src/TrfInjectAbc.hs" #-}+                               )) of+                        { _lhsOisLast | _lhsOisLast `seq` (True) ->+                        (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                                (:) _hdIoutput _tlIoutput+                                {-# LINE 6059 "src/TrfInjectAbc.hs" #-}+                                )) of+                         { _output | _output `seq` (True) ->+                         (case (({-# LINE 58 "src/TrfInjectAbc.ag" #-}+                                 if _hdIisAbc && _tlIisLast+                                 then _hdIoutput : _lhsItag : _tlIoutput+                                 else _output+                                 {-# LINE 6066 "src/TrfInjectAbc.hs" #-}+                                 )) of+                          { _lhsOoutput | _lhsOoutput `seq` (True) ->+                          ( _lhsOisLast,_lhsOoutput) }) }) }) }) }) }) }) }) }))+sem_Tags_Nil :: T_Tags +sem_Tags_Nil  =+    (\ _lhsIabc+       _lhsIname+       _lhsItag ->+         (case (({-# LINE 46 "src/TrfInjectAbc.ag" #-}+                 True+                 {-# LINE 6077 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _lhsOisLast | _lhsOisLast `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  []+                  {-# LINE 6082 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _output | _output `seq` (True) ->+           (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                   _output+                   {-# LINE 6087 "src/TrfInjectAbc.hs" #-}+                   )) of+            { _lhsOoutput | _lhsOoutput `seq` (True) ->+            ( _lhsOisLast,_lhsOoutput) }) }) }))+-- Trait -------------------------------------------------------+-- cata+sem_Trait :: Trait  ->+             T_Trait +sem_Trait (Trait_Trait _name _data _attrs _meta )  =+    (sem_Trait_Trait _name (sem_TraitData _data ) (sem_TraitAttrs _attrs ) (sem_TraitMeta _meta ) )+-- semantic domain+type T_Trait  = ( Trait )+sem_Trait_Trait :: Word32 ->+                   T_TraitData  ->+                   T_TraitAttrs  ->+                   T_TraitMeta  ->+                   T_Trait +sem_Trait_Trait name_ data_ attrs_ meta_  =+    (case (meta_ ) of+     { ( _metaIoutput) | True ->+         (case (attrs_ ) of+          { ( _attrsIoutput) | True ->+              (case (data_ ) of+               { ( _dataIoutput) | True ->+                   (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                           Trait_Trait name_ _dataIoutput _attrsIoutput _metaIoutput+                           {-# LINE 6113 "src/TrfInjectAbc.hs" #-}+                           )) of+                    { _output | _output `seq` (True) ->+                    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                            _output+                            {-# LINE 6118 "src/TrfInjectAbc.hs" #-}+                            )) of+                     { _lhsOoutput | _lhsOoutput `seq` (True) ->+                     ( _lhsOoutput) }) }) }) }) })+-- TraitAttr ---------------------------------------------------+-- cata+sem_TraitAttr :: TraitAttr  ->+                 T_TraitAttr +sem_TraitAttr (TraitAttr_Final )  =+    (sem_TraitAttr_Final )+sem_TraitAttr (TraitAttr_Metadata )  =+    (sem_TraitAttr_Metadata )+sem_TraitAttr (TraitAttr_Override )  =+    (sem_TraitAttr_Override )+-- semantic domain+type T_TraitAttr  = ( TraitAttr )+sem_TraitAttr_Final :: T_TraitAttr +sem_TraitAttr_Final  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitAttr_Final+            {-# LINE 6138 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6143 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitAttr_Metadata :: T_TraitAttr +sem_TraitAttr_Metadata  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitAttr_Metadata+            {-# LINE 6151 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6156 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitAttr_Override :: T_TraitAttr +sem_TraitAttr_Override  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitAttr_Override+            {-# LINE 6164 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6169 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- TraitAttrs --------------------------------------------------+-- cata+sem_TraitAttrs :: TraitAttrs  ->+                  T_TraitAttrs +sem_TraitAttrs list  =+    (Prelude.foldr sem_TraitAttrs_Cons sem_TraitAttrs_Nil (Prelude.map sem_TraitAttr list) )+-- semantic domain+type T_TraitAttrs  = ( TraitAttrs )+sem_TraitAttrs_Cons :: T_TraitAttr  ->+                       T_TraitAttrs  ->+                       T_TraitAttrs +sem_TraitAttrs_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 6191 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 6196 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_TraitAttrs_Nil :: T_TraitAttrs +sem_TraitAttrs_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 6204 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6209 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- TraitData ---------------------------------------------------+-- cata+sem_TraitData :: TraitData  ->+                 T_TraitData +sem_TraitData (TraitData_Class _slotId _class )  =+    (sem_TraitData_Class _slotId _class )+sem_TraitData (TraitData_Const _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Const _slotId _tp _vindex (sem_ValueKind _vkind ) )+sem_TraitData (TraitData_Function _dispId _method )  =+    (sem_TraitData_Function _dispId _method )+sem_TraitData (TraitData_Getter _dispId _method )  =+    (sem_TraitData_Getter _dispId _method )+sem_TraitData (TraitData_Method _dispId _method )  =+    (sem_TraitData_Method _dispId _method )+sem_TraitData (TraitData_Setter _dispId _method )  =+    (sem_TraitData_Setter _dispId _method )+sem_TraitData (TraitData_Slot _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Slot _slotId _tp _vindex (sem_ValueKind _vkind ) )+-- semantic domain+type T_TraitData  = ( TraitData )+sem_TraitData_Class :: Word32 ->+                       Word32 ->+                       T_TraitData +sem_TraitData_Class slotId_ class_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitData_Class slotId_ class_+            {-# LINE 6239 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6244 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitData_Const :: Word32 ->+                       Word32 ->+                       Word32 ->+                       T_ValueKind  ->+                       T_TraitData +sem_TraitData_Const slotId_ tp_ vindex_ vkind_  =+    (case (vkind_ ) of+     { ( _vkindIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 TraitData_Const slotId_ tp_ vindex_ _vkindIoutput+                 {-# LINE 6258 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 6263 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_TraitData_Function :: Word32 ->+                          Word32 ->+                          T_TraitData +sem_TraitData_Function dispId_ method_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitData_Function dispId_ method_+            {-# LINE 6273 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6278 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitData_Getter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Getter dispId_ method_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitData_Getter dispId_ method_+            {-# LINE 6288 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6293 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitData_Method :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Method dispId_ method_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitData_Method dispId_ method_+            {-# LINE 6303 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6308 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitData_Setter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Setter dispId_ method_  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitData_Setter dispId_ method_+            {-# LINE 6318 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6323 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitData_Slot :: Word32 ->+                      Word32 ->+                      Word32 ->+                      T_ValueKind  ->+                      T_TraitData +sem_TraitData_Slot slotId_ tp_ vindex_ vkind_  =+    (case (vkind_ ) of+     { ( _vkindIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 TraitData_Slot slotId_ tp_ vindex_ _vkindIoutput+                 {-# LINE 6337 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 6342 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+-- TraitKind ---------------------------------------------------+-- cata+sem_TraitKind :: TraitKind  ->+                 T_TraitKind +sem_TraitKind (TraitKind_Class )  =+    (sem_TraitKind_Class )+sem_TraitKind (TraitKind_Const )  =+    (sem_TraitKind_Const )+sem_TraitKind (TraitKind_Function )  =+    (sem_TraitKind_Function )+sem_TraitKind (TraitKind_Getter )  =+    (sem_TraitKind_Getter )+sem_TraitKind (TraitKind_Method )  =+    (sem_TraitKind_Method )+sem_TraitKind (TraitKind_Setter )  =+    (sem_TraitKind_Setter )+sem_TraitKind (TraitKind_Slot )  =+    (sem_TraitKind_Slot )+-- semantic domain+type T_TraitKind  = ( TraitKind )+sem_TraitKind_Class :: T_TraitKind +sem_TraitKind_Class  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitKind_Class+            {-# LINE 6370 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6375 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitKind_Const :: T_TraitKind +sem_TraitKind_Const  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitKind_Const+            {-# LINE 6383 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6388 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitKind_Function :: T_TraitKind +sem_TraitKind_Function  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitKind_Function+            {-# LINE 6396 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6401 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitKind_Getter :: T_TraitKind +sem_TraitKind_Getter  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitKind_Getter+            {-# LINE 6409 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6414 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitKind_Method :: T_TraitKind +sem_TraitKind_Method  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitKind_Method+            {-# LINE 6422 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6427 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitKind_Setter :: T_TraitKind +sem_TraitKind_Setter  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitKind_Setter+            {-# LINE 6435 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6440 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TraitKind_Slot :: T_TraitKind +sem_TraitKind_Slot  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            TraitKind_Slot+            {-# LINE 6448 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6453 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- TraitMeta ---------------------------------------------------+-- cata+sem_TraitMeta :: TraitMeta  ->+                 T_TraitMeta +sem_TraitMeta list  =+    (Prelude.foldr sem_TraitMeta_Cons sem_TraitMeta_Nil list )+-- semantic domain+type T_TraitMeta  = ( TraitMeta )+sem_TraitMeta_Cons :: Word32 ->+                      T_TraitMeta  ->+                      T_TraitMeta +sem_TraitMeta_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                 (:) hd_ _tlIoutput+                 {-# LINE 6473 "src/TrfInjectAbc.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                  _output+                  {-# LINE 6478 "src/TrfInjectAbc.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }) })+sem_TraitMeta_Nil :: T_TraitMeta +sem_TraitMeta_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 6486 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6491 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- Traits ------------------------------------------------------+-- cata+sem_Traits :: Traits  ->+              T_Traits +sem_Traits list  =+    (Prelude.foldr sem_Traits_Cons sem_Traits_Nil (Prelude.map sem_Trait list) )+-- semantic domain+type T_Traits  = ( Traits )+sem_Traits_Cons :: T_Trait  ->+                   T_Traits  ->+                   T_Traits +sem_Traits_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 6513 "src/TrfInjectAbc.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+                       _output+                       {-# LINE 6518 "src/TrfInjectAbc.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_Traits_Nil :: T_Traits +sem_Traits_Nil  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            []+            {-# LINE 6526 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6531 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- ValueKind ---------------------------------------------------+-- cata+sem_ValueKind :: ValueKind  ->+                 T_ValueKind +sem_ValueKind (ValueKind_Double )  =+    (sem_ValueKind_Double )+sem_ValueKind (ValueKind_Explicit )  =+    (sem_ValueKind_Explicit )+sem_ValueKind (ValueKind_False )  =+    (sem_ValueKind_False )+sem_ValueKind (ValueKind_Int )  =+    (sem_ValueKind_Int )+sem_ValueKind (ValueKind_Internal )  =+    (sem_ValueKind_Internal )+sem_ValueKind (ValueKind_Namespace )  =+    (sem_ValueKind_Namespace )+sem_ValueKind (ValueKind_Null )  =+    (sem_ValueKind_Null )+sem_ValueKind (ValueKind_Package )  =+    (sem_ValueKind_Package )+sem_ValueKind (ValueKind_Private )  =+    (sem_ValueKind_Private )+sem_ValueKind (ValueKind_Protected )  =+    (sem_ValueKind_Protected )+sem_ValueKind (ValueKind_Static )  =+    (sem_ValueKind_Static )+sem_ValueKind (ValueKind_True )  =+    (sem_ValueKind_True )+sem_ValueKind (ValueKind_UInt )  =+    (sem_ValueKind_UInt )+sem_ValueKind (ValueKind_Undefined )  =+    (sem_ValueKind_Undefined )+sem_ValueKind (ValueKind_Utf8 )  =+    (sem_ValueKind_Utf8 )+-- semantic domain+type T_ValueKind  = ( ValueKind )+sem_ValueKind_Double :: T_ValueKind +sem_ValueKind_Double  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_Double+            {-# LINE 6575 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6580 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Explicit :: T_ValueKind +sem_ValueKind_Explicit  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_Explicit+            {-# LINE 6588 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6593 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_False :: T_ValueKind +sem_ValueKind_False  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_False+            {-# LINE 6601 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6606 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Int :: T_ValueKind +sem_ValueKind_Int  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_Int+            {-# LINE 6614 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6619 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Internal :: T_ValueKind +sem_ValueKind_Internal  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_Internal+            {-# LINE 6627 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6632 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Namespace :: T_ValueKind +sem_ValueKind_Namespace  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_Namespace+            {-# LINE 6640 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6645 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Null :: T_ValueKind +sem_ValueKind_Null  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_Null+            {-# LINE 6653 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6658 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Package :: T_ValueKind +sem_ValueKind_Package  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_Package+            {-# LINE 6666 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6671 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Private :: T_ValueKind +sem_ValueKind_Private  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_Private+            {-# LINE 6679 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6684 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Protected :: T_ValueKind +sem_ValueKind_Protected  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_Protected+            {-# LINE 6692 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6697 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Static :: T_ValueKind +sem_ValueKind_Static  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_Static+            {-# LINE 6705 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6710 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_True :: T_ValueKind +sem_ValueKind_True  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_True+            {-# LINE 6718 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6723 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_UInt :: T_ValueKind +sem_ValueKind_UInt  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_UInt+            {-# LINE 6731 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6736 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Undefined :: T_ValueKind +sem_ValueKind_Undefined  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_Undefined+            {-# LINE 6744 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6749 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_ValueKind_Utf8 :: T_ValueKind +sem_ValueKind_Utf8  =+    (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+            ValueKind_Utf8+            {-# LINE 6757 "src/TrfInjectAbc.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 34 "src/TrfInjectAbc.ag" #-}+             _output+             {-# LINE 6762 "src/TrfInjectAbc.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })
+ dist/build/TrfInjectRefl.hs view
@@ -0,0 +1,7526 @@+++-- UUAGC 0.9.36 (src/TrfInjectRefl.ag)+module TrfInjectRefl(injectReflSwf,injectReflAbc) where++{-# LINE 7 "src/TrfInjectRefl.ag" #-}++import Data.ByteString.Lazy(ByteString,pack)+import ByteCode+import CFG+import Data.Word+import qualified Data.Set as Set+import Data.Set(Set)+import qualified Data.Map as Map+import Data.Map(Map)+import Codec.Binary.UTF8.String+import ProgInfo+{-# LINE 19 "dist/src/sdist.27680/asil-1.2/dist/build/TrfInjectRefl.hs" #-}++{-# LINE 24 "src/TrfInjectRefl.ag" #-}++injectReflSwf :: [SymbolTables] -> SwfFile -> SwfFile+injectReflSwf tbls m = out where+  inh = Inh_SwfFile { tbls_Inh_SwfFile = tbls }+  sem = sem_SwfFile m+  syn = wrap_SwfFile sem inh+  out = output_Syn_SwfFile syn++injectReflAbc :: [SymbolTables] -> AbcFile -> AbcFile+injectReflAbc tbls m = out where+  inh = Inh_AbcFile { tbls_Inh_AbcFile = tbls }+  sem = sem_AbcFile m+  syn = wrap_AbcFile sem inh+  out = output_Syn_AbcFile syn+{-# LINE 36 "dist/src/sdist.27680/asil-1.2/dist/build/TrfInjectRefl.hs" #-}+-- AbcFile -----------------------------------------------------+-- cata+sem_AbcFile :: AbcFile  ->+               T_AbcFile +sem_AbcFile (AbcFile_File _minorVersion _majorVersion _constantPool _methods _metadatas _instances _classes _scripts _bodies )  =+    (sem_AbcFile_File _minorVersion _majorVersion (sem_PoolInfo _constantPool ) (sem_MethodInfos _methods ) (sem_MetaInfos _metadatas ) (sem_InstanceInfos _instances ) (sem_ClassInfos _classes ) (sem_ScriptInfos _scripts ) (sem_BodyInfos _bodies ) )+-- semantic domain+type T_AbcFile  = ([SymbolTables]) ->+                  ( AbcFile ,([SymbolTables]))+data Inh_AbcFile  = Inh_AbcFile {tbls_Inh_AbcFile :: !(([SymbolTables]))}+data Syn_AbcFile  = Syn_AbcFile {output_Syn_AbcFile :: !(AbcFile ),tbls_Syn_AbcFile :: !(([SymbolTables]))}+wrap_AbcFile :: T_AbcFile  ->+                Inh_AbcFile  ->+                Syn_AbcFile +wrap_AbcFile sem (Inh_AbcFile _lhsItbls )  =+    (let ( _lhsOoutput,_lhsOtbls) | True = sem _lhsItbls +     in  (Syn_AbcFile _lhsOoutput _lhsOtbls ))+sem_AbcFile_File :: Word16 ->+                    Word16 ->+                    T_PoolInfo  ->+                    T_MethodInfos  ->+                    T_MetaInfos  ->+                    T_InstanceInfos  ->+                    T_ClassInfos  ->+                    T_ScriptInfos  ->+                    T_BodyInfos  ->+                    T_AbcFile +sem_AbcFile_File minorVersion_ majorVersion_ constantPool_ methods_ metadatas_ instances_ classes_ scripts_ bodies_  =+    (\ _lhsItbls ->+         (case (({-# LINE 56 "src/TrfInjectRefl.ag" #-}+                 head _lhsItbls+                 {-# LINE 68 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tbls | _tbls `seq` (True) ->+          (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                  _tbls+                  {-# LINE 73 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _bodiesOtbls | _bodiesOtbls `seq` (True) ->+           (case (bodies_ _bodiesOtbls ) of+            { ( _bodiesIoutput) | True ->+                (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                        _tbls+                        {-# LINE 80 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _scriptsOtbls | _scriptsOtbls `seq` (True) ->+                 (case (scripts_ _scriptsOtbls ) of+                  { ( _scriptsIoutput) | True ->+                      (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                              _tbls+                              {-# LINE 87 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _classesOtbls | _classesOtbls `seq` (True) ->+                       (case (classes_ _classesOtbls ) of+                        { ( _classesIoutput) | True ->+                            (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                                    _tbls+                                    {-# LINE 94 "src/TrfInjectRefl.hs" #-}+                                    )) of+                             { _instancesOtbls | _instancesOtbls `seq` (True) ->+                             (case (instances_ _instancesOtbls ) of+                              { ( _instancesIoutput) | True ->+                                  (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                                          _tbls+                                          {-# LINE 101 "src/TrfInjectRefl.hs" #-}+                                          )) of+                                   { _metadatasOtbls | _metadatasOtbls `seq` (True) ->+                                   (case (metadatas_ _metadatasOtbls ) of+                                    { ( _metadatasIoutput) | True ->+                                        (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                                                _tbls+                                                {-# LINE 108 "src/TrfInjectRefl.hs" #-}+                                                )) of+                                         { _methodsOtbls | _methodsOtbls `seq` (True) ->+                                         (case (methods_ _methodsOtbls ) of+                                          { ( _methodsIoutput) | True ->+                                              (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                                                      _tbls+                                                      {-# LINE 115 "src/TrfInjectRefl.hs" #-}+                                                      )) of+                                               { _constantPoolOtbls | _constantPoolOtbls `seq` (True) ->+                                               (case (constantPool_ _constantPoolOtbls ) of+                                                { ( _constantPoolIoutput) | True ->+                                                    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                                                            AbcFile_File minorVersion_ majorVersion_ _constantPoolIoutput _methodsIoutput _metadatasIoutput _instancesIoutput _classesIoutput _scriptsIoutput _bodiesIoutput+                                                            {-# LINE 122 "src/TrfInjectRefl.hs" #-}+                                                            )) of+                                                     { _output | _output `seq` (True) ->+                                                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                                                             _output+                                                             {-# LINE 127 "src/TrfInjectRefl.hs" #-}+                                                             )) of+                                                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                      (case (({-# LINE 57 "src/TrfInjectRefl.ag" #-}+                                                              tail _lhsItbls+                                                              {-# LINE 132 "src/TrfInjectRefl.hs" #-}+                                                              )) of+                                                       { _lhsOtbls | _lhsOtbls `seq` (True) ->+                                                       ( _lhsOoutput,_lhsOtbls) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+-- AbcFlag -----------------------------------------------------+-- cata+sem_AbcFlag :: AbcFlag  ->+               T_AbcFlag +sem_AbcFlag (AbcFlag_LazyInit )  =+    (sem_AbcFlag_LazyInit )+-- semantic domain+type T_AbcFlag  = ( AbcFlag )+sem_AbcFlag_LazyInit :: T_AbcFlag +sem_AbcFlag_LazyInit  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            AbcFlag_LazyInit+            {-# LINE 148 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 153 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- AbcFlags ----------------------------------------------------+-- cata+sem_AbcFlags :: AbcFlags  ->+                T_AbcFlags +sem_AbcFlags list  =+    (Prelude.foldr sem_AbcFlags_Cons sem_AbcFlags_Nil (Prelude.map sem_AbcFlag list) )+-- semantic domain+type T_AbcFlags  = ( AbcFlags )+sem_AbcFlags_Cons :: T_AbcFlag  ->+                     T_AbcFlags  ->+                     T_AbcFlags +sem_AbcFlags_Cons hd_ tl_  =+    (case (tl_ ) of+     { ( _tlIoutput) | True ->+         (case (hd_ ) of+          { ( _hdIoutput) | True ->+              (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                      (:) _hdIoutput _tlIoutput+                      {-# LINE 175 "src/TrfInjectRefl.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       _output+                       {-# LINE 180 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                ( _lhsOoutput) }) }) }) })+sem_AbcFlags_Nil :: T_AbcFlags +sem_AbcFlags_Nil  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            []+            {-# LINE 188 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 193 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- BodyInfo ----------------------------------------------------+-- cata+sem_BodyInfo :: BodyInfo  ->+                T_BodyInfo +sem_BodyInfo (BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth _instructions _exceptions _traits )  =+    (sem_BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth (sem_Instructions _instructions ) (sem_Exceptions _exceptions ) (sem_Traits _traits ) )+-- semantic domain+type T_BodyInfo  = SymbolTables ->+                   ( BodyInfo )+sem_BodyInfo_Info :: Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     T_Instructions  ->+                     T_Exceptions  ->+                     T_Traits  ->+                     T_BodyInfo +sem_BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ instructions_ exceptions_ traits_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 219 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _traitsOtbls | _traitsOtbls `seq` (True) ->+          (case (traits_ _traitsOtbls ) of+           { ( _traitsIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 226 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _exceptionsOtbls | _exceptionsOtbls `seq` (True) ->+                (case (exceptions_ _exceptionsOtbls ) of+                 { ( _exceptionsIoutput) | True ->+                     (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                             _lhsItbls+                             {-# LINE 233 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _instructionsOtbls | _instructionsOtbls `seq` (True) ->+                      (case (instructions_ _instructionsOtbls ) of+                       { ( _instructionsIoutput) | True ->+                           (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                                   BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ _instructionsIoutput _exceptionsIoutput _traitsIoutput+                                   {-# LINE 240 "src/TrfInjectRefl.hs" #-}+                                   )) of+                            { _output | _output `seq` (True) ->+                            (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                                    _output+                                    {-# LINE 245 "src/TrfInjectRefl.hs" #-}+                                    )) of+                             { _lhsOoutput | _lhsOoutput `seq` (True) ->+                             ( _lhsOoutput) }) }) }) }) }) }) }) }))+-- BodyInfos ---------------------------------------------------+-- cata+sem_BodyInfos :: BodyInfos  ->+                 T_BodyInfos +sem_BodyInfos list  =+    (Prelude.foldr sem_BodyInfos_Cons sem_BodyInfos_Nil (Prelude.map sem_BodyInfo list) )+-- semantic domain+type T_BodyInfos  = SymbolTables ->+                    ( BodyInfos )+sem_BodyInfos_Cons :: T_BodyInfo  ->+                      T_BodyInfos  ->+                      T_BodyInfos +sem_BodyInfos_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 265 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 272 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 279 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 284 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_BodyInfos_Nil :: T_BodyInfos +sem_BodyInfos_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 293 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 298 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- CaseOffsets -------------------------------------------------+-- cata+sem_CaseOffsets :: CaseOffsets  ->+                   T_CaseOffsets +sem_CaseOffsets list  =+    (Prelude.foldr sem_CaseOffsets_Cons sem_CaseOffsets_Nil list )+-- semantic domain+type T_CaseOffsets  = SymbolTables ->+                      ( CaseOffsets )+sem_CaseOffsets_Cons :: Word32 ->+                        T_CaseOffsets  ->+                        T_CaseOffsets +sem_CaseOffsets_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 318 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       (:) hd_ _tlIoutput+                       {-# LINE 325 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 330 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_CaseOffsets_Nil :: T_CaseOffsets +sem_CaseOffsets_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 339 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 344 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- ClassInfo ---------------------------------------------------+-- cata+sem_ClassInfo :: ClassInfo  ->+                 T_ClassInfo +sem_ClassInfo (ClassInfo_Info _con _traits )  =+    (sem_ClassInfo_Info _con (sem_Traits _traits ) )+-- semantic domain+type T_ClassInfo  = SymbolTables ->+                    ( ClassInfo )+sem_ClassInfo_Info :: Word32 ->+                      T_Traits  ->+                      T_ClassInfo +sem_ClassInfo_Info con_ traits_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 364 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _traitsOtbls | _traitsOtbls `seq` (True) ->+          (case (traits_ _traitsOtbls ) of+           { ( _traitsIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       ClassInfo_Info con_ _traitsIoutput+                       {-# LINE 371 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 376 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+-- ClassInfos --------------------------------------------------+-- cata+sem_ClassInfos :: ClassInfos  ->+                  T_ClassInfos +sem_ClassInfos list  =+    (Prelude.foldr sem_ClassInfos_Cons sem_ClassInfos_Nil (Prelude.map sem_ClassInfo list) )+-- semantic domain+type T_ClassInfos  = SymbolTables ->+                     ( ClassInfos )+sem_ClassInfos_Cons :: T_ClassInfo  ->+                       T_ClassInfos  ->+                       T_ClassInfos +sem_ClassInfos_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 396 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 403 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 410 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 415 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_ClassInfos_Nil :: T_ClassInfos +sem_ClassInfos_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 424 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 429 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- DebugType ---------------------------------------------------+-- cata+sem_DebugType :: DebugType  ->+                 T_DebugType +sem_DebugType (DebugType_Local )  =+    (sem_DebugType_Local )+-- semantic domain+type T_DebugType  = SymbolTables ->+                    ( DebugType )+sem_DebugType_Local :: T_DebugType +sem_DebugType_Local  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 DebugType_Local+                 {-# LINE 447 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 452 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- Exception ---------------------------------------------------+-- cata+sem_Exception :: Exception  ->+                 T_Exception +sem_Exception (Exception_Info _from _to _target _tp _name )  =+    (sem_Exception_Info _from _to _target _tp _name )+-- semantic domain+type T_Exception  = SymbolTables ->+                    ( Exception )+sem_Exception_Info :: Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      T_Exception +sem_Exception_Info from_ to_ target_ tp_ name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Exception_Info from_ to_ target_ tp_ name_+                 {-# LINE 475 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 480 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- Exceptions --------------------------------------------------+-- cata+sem_Exceptions :: Exceptions  ->+                  T_Exceptions +sem_Exceptions list  =+    (Prelude.foldr sem_Exceptions_Cons sem_Exceptions_Nil (Prelude.map sem_Exception list) )+-- semantic domain+type T_Exceptions  = SymbolTables ->+                     ( Exceptions )+sem_Exceptions_Cons :: T_Exception  ->+                       T_Exceptions  ->+                       T_Exceptions +sem_Exceptions_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 500 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 507 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 514 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 519 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_Exceptions_Nil :: T_Exceptions +sem_Exceptions_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 528 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 533 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- InstanceFlag ------------------------------------------------+-- cata+sem_InstanceFlag :: InstanceFlag  ->+                    T_InstanceFlag +sem_InstanceFlag (InstanceFlag_ClassFinal )  =+    (sem_InstanceFlag_ClassFinal )+sem_InstanceFlag (InstanceFlag_ClassInterface )  =+    (sem_InstanceFlag_ClassInterface )+sem_InstanceFlag (InstanceFlag_ClassProtected )  =+    (sem_InstanceFlag_ClassProtected )+sem_InstanceFlag (InstanceFlag_ClassSealed )  =+    (sem_InstanceFlag_ClassSealed )+-- semantic domain+type T_InstanceFlag  = SymbolTables ->+                       ( InstanceFlag )+sem_InstanceFlag_ClassFinal :: T_InstanceFlag +sem_InstanceFlag_ClassFinal  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 InstanceFlag_ClassFinal+                 {-# LINE 557 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 562 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_InstanceFlag_ClassInterface :: T_InstanceFlag +sem_InstanceFlag_ClassInterface  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 InstanceFlag_ClassInterface+                 {-# LINE 571 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 576 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_InstanceFlag_ClassProtected :: T_InstanceFlag +sem_InstanceFlag_ClassProtected  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 InstanceFlag_ClassProtected+                 {-# LINE 585 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 590 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_InstanceFlag_ClassSealed :: T_InstanceFlag +sem_InstanceFlag_ClassSealed  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 InstanceFlag_ClassSealed+                 {-# LINE 599 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 604 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- InstanceFlags -----------------------------------------------+-- cata+sem_InstanceFlags :: InstanceFlags  ->+                     T_InstanceFlags +sem_InstanceFlags list  =+    (Prelude.foldr sem_InstanceFlags_Cons sem_InstanceFlags_Nil (Prelude.map sem_InstanceFlag list) )+-- semantic domain+type T_InstanceFlags  = SymbolTables ->+                        ( InstanceFlags )+sem_InstanceFlags_Cons :: T_InstanceFlag  ->+                          T_InstanceFlags  ->+                          T_InstanceFlags +sem_InstanceFlags_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 624 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 631 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 638 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 643 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_InstanceFlags_Nil :: T_InstanceFlags +sem_InstanceFlags_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 652 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 657 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- InstanceInfo ------------------------------------------------+-- cata+sem_InstanceInfo :: InstanceInfo  ->+                    T_InstanceInfo +sem_InstanceInfo (InstanceInfo_Info _name _super _flags _protectedNs _interfaces _constructor _traits )  =+    (sem_InstanceInfo_Info _name _super (sem_InstanceFlags _flags ) _protectedNs (sem_Interfaces _interfaces ) _constructor (sem_Traits _traits ) )+-- semantic domain+type T_InstanceInfo  = SymbolTables ->+                       ( InstanceInfo )+sem_InstanceInfo_Info :: Word32 ->+                         Word32 ->+                         T_InstanceFlags  ->+                         Word32 ->+                         T_Interfaces  ->+                         Word32 ->+                         T_Traits  ->+                         T_InstanceInfo +sem_InstanceInfo_Info name_ super_ flags_ protectedNs_ interfaces_ constructor_ traits_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 682 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _traitsOtbls | _traitsOtbls `seq` (True) ->+          (case (traits_ _traitsOtbls ) of+           { ( _traitsIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 689 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _interfacesOtbls | _interfacesOtbls `seq` (True) ->+                (case (interfaces_ _interfacesOtbls ) of+                 { ( _interfacesIoutput) | True ->+                     (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                             _lhsItbls+                             {-# LINE 696 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _flagsOtbls | _flagsOtbls `seq` (True) ->+                      (case (flags_ _flagsOtbls ) of+                       { ( _flagsIoutput) | True ->+                           (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                                   InstanceInfo_Info name_ super_ _flagsIoutput protectedNs_ _interfacesIoutput constructor_ _traitsIoutput+                                   {-# LINE 703 "src/TrfInjectRefl.hs" #-}+                                   )) of+                            { _output | _output `seq` (True) ->+                            (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                                    _output+                                    {-# LINE 708 "src/TrfInjectRefl.hs" #-}+                                    )) of+                             { _lhsOoutput | _lhsOoutput `seq` (True) ->+                             ( _lhsOoutput) }) }) }) }) }) }) }) }))+-- InstanceInfos -----------------------------------------------+-- cata+sem_InstanceInfos :: InstanceInfos  ->+                     T_InstanceInfos +sem_InstanceInfos list  =+    (Prelude.foldr sem_InstanceInfos_Cons sem_InstanceInfos_Nil (Prelude.map sem_InstanceInfo list) )+-- semantic domain+type T_InstanceInfos  = SymbolTables ->+                        ( InstanceInfos )+sem_InstanceInfos_Cons :: T_InstanceInfo  ->+                          T_InstanceInfos  ->+                          T_InstanceInfos +sem_InstanceInfos_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 728 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 735 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 742 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 747 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_InstanceInfos_Nil :: T_InstanceInfos +sem_InstanceInfos_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 756 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 761 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- Instruction -------------------------------------------------+-- cata+sem_Instruction :: Instruction  ->+                   T_Instruction +sem_Instruction (Instruction_Add )  =+    (sem_Instruction_Add )+sem_Instruction (Instruction_Add_d )  =+    (sem_Instruction_Add_d )+sem_Instruction (Instruction_Add_i )  =+    (sem_Instruction_Add_i )+sem_Instruction (Instruction_ApplyType _name )  =+    (sem_Instruction_ApplyType _name )+sem_Instruction (Instruction_AsType _name )  =+    (sem_Instruction_AsType _name )+sem_Instruction (Instruction_AsTypeLate )  =+    (sem_Instruction_AsTypeLate )+sem_Instruction (Instruction_BitAnd )  =+    (sem_Instruction_BitAnd )+sem_Instruction (Instruction_BitNot )  =+    (sem_Instruction_BitNot )+sem_Instruction (Instruction_BitOr )  =+    (sem_Instruction_BitOr )+sem_Instruction (Instruction_BitXor )  =+    (sem_Instruction_BitXor )+sem_Instruction (Instruction_BreakLine _line )  =+    (sem_Instruction_BreakLine _line )+sem_Instruction (Instruction_Breakpoint )  =+    (sem_Instruction_Breakpoint )+sem_Instruction (Instruction_Call _argCount )  =+    (sem_Instruction_Call _argCount )+sem_Instruction (Instruction_CallInterface _name _argCount )  =+    (sem_Instruction_CallInterface _name _argCount )+sem_Instruction (Instruction_CallMethod _index _argCount )  =+    (sem_Instruction_CallMethod _index _argCount )+sem_Instruction (Instruction_CallProp _name _argCount )  =+    (sem_Instruction_CallProp _name _argCount )+sem_Instruction (Instruction_CallPropLex _name _argCount )  =+    (sem_Instruction_CallPropLex _name _argCount )+sem_Instruction (Instruction_CallPropVoid _name _argCount )  =+    (sem_Instruction_CallPropVoid _name _argCount )+sem_Instruction (Instruction_CallStatic _method _argCount )  =+    (sem_Instruction_CallStatic _method _argCount )+sem_Instruction (Instruction_CallSuper _name _argCount )  =+    (sem_Instruction_CallSuper _name _argCount )+sem_Instruction (Instruction_CallSuperId )  =+    (sem_Instruction_CallSuperId )+sem_Instruction (Instruction_CallSuperVoid _name _argCount )  =+    (sem_Instruction_CallSuperVoid _name _argCount )+sem_Instruction (Instruction_CheckFilter )  =+    (sem_Instruction_CheckFilter )+sem_Instruction (Instruction_Coerce _name )  =+    (sem_Instruction_Coerce _name )+sem_Instruction (Instruction_Coerce_a )  =+    (sem_Instruction_Coerce_a )+sem_Instruction (Instruction_Coerce_b )  =+    (sem_Instruction_Coerce_b )+sem_Instruction (Instruction_Coerce_d )  =+    (sem_Instruction_Coerce_d )+sem_Instruction (Instruction_Coerce_i )  =+    (sem_Instruction_Coerce_i )+sem_Instruction (Instruction_Coerce_o )  =+    (sem_Instruction_Coerce_o )+sem_Instruction (Instruction_Coerce_s )  =+    (sem_Instruction_Coerce_s )+sem_Instruction (Instruction_Coerce_u )  =+    (sem_Instruction_Coerce_u )+sem_Instruction (Instruction_Concat )  =+    (sem_Instruction_Concat )+sem_Instruction (Instruction_Construct _argCount )  =+    (sem_Instruction_Construct _argCount )+sem_Instruction (Instruction_ConstructProp _name _argCount )  =+    (sem_Instruction_ConstructProp _name _argCount )+sem_Instruction (Instruction_ConstructSuper _argCount )  =+    (sem_Instruction_ConstructSuper _argCount )+sem_Instruction (Instruction_Convert_b )  =+    (sem_Instruction_Convert_b )+sem_Instruction (Instruction_Convert_d )  =+    (sem_Instruction_Convert_d )+sem_Instruction (Instruction_Convert_i )  =+    (sem_Instruction_Convert_i )+sem_Instruction (Instruction_Convert_o )  =+    (sem_Instruction_Convert_o )+sem_Instruction (Instruction_Convert_s )  =+    (sem_Instruction_Convert_s )+sem_Instruction (Instruction_Convert_u )  =+    (sem_Instruction_Convert_u )+sem_Instruction (Instruction_Debug _tp _name _reg _extra )  =+    (sem_Instruction_Debug (sem_DebugType _tp ) _name _reg _extra )+sem_Instruction (Instruction_DebugFile _name )  =+    (sem_Instruction_DebugFile _name )+sem_Instruction (Instruction_DebugLine _line )  =+    (sem_Instruction_DebugLine _line )+sem_Instruction (Instruction_DecLocal _reg )  =+    (sem_Instruction_DecLocal _reg )+sem_Instruction (Instruction_DecLocal_i _reg )  =+    (sem_Instruction_DecLocal_i _reg )+sem_Instruction (Instruction_Decrement )  =+    (sem_Instruction_Decrement )+sem_Instruction (Instruction_Decrement_i )  =+    (sem_Instruction_Decrement_i )+sem_Instruction (Instruction_DeleteProperty _name )  =+    (sem_Instruction_DeleteProperty _name )+sem_Instruction (Instruction_DeletePropertyLate )  =+    (sem_Instruction_DeletePropertyLate )+sem_Instruction (Instruction_Divide )  =+    (sem_Instruction_Divide )+sem_Instruction (Instruction_Dup )  =+    (sem_Instruction_Dup )+sem_Instruction (Instruction_Dxns _name )  =+    (sem_Instruction_Dxns _name )+sem_Instruction (Instruction_DxnsLate )  =+    (sem_Instruction_DxnsLate )+sem_Instruction (Instruction_Equals )  =+    (sem_Instruction_Equals )+sem_Instruction (Instruction_EscXAttr )  =+    (sem_Instruction_EscXAttr )+sem_Instruction (Instruction_EscXElem )  =+    (sem_Instruction_EscXElem )+sem_Instruction (Instruction_FindDef _name )  =+    (sem_Instruction_FindDef _name )+sem_Instruction (Instruction_FindPropStrict _name )  =+    (sem_Instruction_FindPropStrict _name )+sem_Instruction (Instruction_FindProperty _name )  =+    (sem_Instruction_FindProperty _name )+sem_Instruction (Instruction_FindPropertyGlobal _name )  =+    (sem_Instruction_FindPropertyGlobal _name )+sem_Instruction (Instruction_FindPropertyGlobalStrict _name )  =+    (sem_Instruction_FindPropertyGlobalStrict _name )+sem_Instruction (Instruction_GetDescendants _name )  =+    (sem_Instruction_GetDescendants _name )+sem_Instruction (Instruction_GetGlobalScope )  =+    (sem_Instruction_GetGlobalScope )+sem_Instruction (Instruction_GetGlobalSlot _slot )  =+    (sem_Instruction_GetGlobalSlot _slot )+sem_Instruction (Instruction_GetLex _name )  =+    (sem_Instruction_GetLex _name )+sem_Instruction (Instruction_GetLocal _reg )  =+    (sem_Instruction_GetLocal _reg )+sem_Instruction (Instruction_GetLocal0 )  =+    (sem_Instruction_GetLocal0 )+sem_Instruction (Instruction_GetLocal1 )  =+    (sem_Instruction_GetLocal1 )+sem_Instruction (Instruction_GetLocal2 )  =+    (sem_Instruction_GetLocal2 )+sem_Instruction (Instruction_GetLocal3 )  =+    (sem_Instruction_GetLocal3 )+sem_Instruction (Instruction_GetOuterScope _name )  =+    (sem_Instruction_GetOuterScope _name )+sem_Instruction (Instruction_GetProperty _name )  =+    (sem_Instruction_GetProperty _name )+sem_Instruction (Instruction_GetScopeObject _index )  =+    (sem_Instruction_GetScopeObject _index )+sem_Instruction (Instruction_GetSlot _slot )  =+    (sem_Instruction_GetSlot _slot )+sem_Instruction (Instruction_GetSuper _name )  =+    (sem_Instruction_GetSuper _name )+sem_Instruction (Instruction_GreaterEquals )  =+    (sem_Instruction_GreaterEquals )+sem_Instruction (Instruction_GreaterThan )  =+    (sem_Instruction_GreaterThan )+sem_Instruction (Instruction_HasNext )  =+    (sem_Instruction_HasNext )+sem_Instruction (Instruction_HasNext2 _objectReg _indexReg )  =+    (sem_Instruction_HasNext2 _objectReg _indexReg )+sem_Instruction (Instruction_IfEq _offset )  =+    (sem_Instruction_IfEq _offset )+sem_Instruction (Instruction_IfFalse _offset )  =+    (sem_Instruction_IfFalse _offset )+sem_Instruction (Instruction_IfGe _offset )  =+    (sem_Instruction_IfGe _offset )+sem_Instruction (Instruction_IfGt _offset )  =+    (sem_Instruction_IfGt _offset )+sem_Instruction (Instruction_IfLe _offset )  =+    (sem_Instruction_IfLe _offset )+sem_Instruction (Instruction_IfLt _offset )  =+    (sem_Instruction_IfLt _offset )+sem_Instruction (Instruction_IfNGe _offset )  =+    (sem_Instruction_IfNGe _offset )+sem_Instruction (Instruction_IfNGt _offset )  =+    (sem_Instruction_IfNGt _offset )+sem_Instruction (Instruction_IfNLe _offset )  =+    (sem_Instruction_IfNLe _offset )+sem_Instruction (Instruction_IfNLt _offset )  =+    (sem_Instruction_IfNLt _offset )+sem_Instruction (Instruction_IfNe _offset )  =+    (sem_Instruction_IfNe _offset )+sem_Instruction (Instruction_IfStrictEq _offset )  =+    (sem_Instruction_IfStrictEq _offset )+sem_Instruction (Instruction_IfStrictNe _offset )  =+    (sem_Instruction_IfStrictNe _offset )+sem_Instruction (Instruction_IfTrue _offset )  =+    (sem_Instruction_IfTrue _offset )+sem_Instruction (Instruction_In )  =+    (sem_Instruction_In )+sem_Instruction (Instruction_IncLocal _reg )  =+    (sem_Instruction_IncLocal _reg )+sem_Instruction (Instruction_IncLocal_i _reg )  =+    (sem_Instruction_IncLocal_i _reg )+sem_Instruction (Instruction_Increment )  =+    (sem_Instruction_Increment )+sem_Instruction (Instruction_Increment_i )  =+    (sem_Instruction_Increment_i )+sem_Instruction (Instruction_InitProperty _name )  =+    (sem_Instruction_InitProperty _name )+sem_Instruction (Instruction_InstanceOf )  =+    (sem_Instruction_InstanceOf )+sem_Instruction (Instruction_IsType _name )  =+    (sem_Instruction_IsType _name )+sem_Instruction (Instruction_IsTypeLate )  =+    (sem_Instruction_IsTypeLate )+sem_Instruction (Instruction_Jump _offset )  =+    (sem_Instruction_Jump _offset )+sem_Instruction (Instruction_Kill _reg )  =+    (sem_Instruction_Kill _reg )+sem_Instruction (Instruction_Label )  =+    (sem_Instruction_Label )+sem_Instruction (Instruction_LessEquals )  =+    (sem_Instruction_LessEquals )+sem_Instruction (Instruction_LessThan )  =+    (sem_Instruction_LessThan )+sem_Instruction (Instruction_LoadFloat32 )  =+    (sem_Instruction_LoadFloat32 )+sem_Instruction (Instruction_LoadFloat64 )  =+    (sem_Instruction_LoadFloat64 )+sem_Instruction (Instruction_LoadIndirect16 )  =+    (sem_Instruction_LoadIndirect16 )+sem_Instruction (Instruction_LoadIndirect32 )  =+    (sem_Instruction_LoadIndirect32 )+sem_Instruction (Instruction_LoadIndirect8 )  =+    (sem_Instruction_LoadIndirect8 )+sem_Instruction (Instruction_Location _index )  =+    (sem_Instruction_Location _index )+sem_Instruction (Instruction_LookupSwitch _defaultOffset _caseOffsets )  =+    (sem_Instruction_LookupSwitch _defaultOffset (sem_CaseOffsets _caseOffsets ) )+sem_Instruction (Instruction_Lshift )  =+    (sem_Instruction_Lshift )+sem_Instruction (Instruction_Modulo )  =+    (sem_Instruction_Modulo )+sem_Instruction (Instruction_Multiply )  =+    (sem_Instruction_Multiply )+sem_Instruction (Instruction_Multiply_i )  =+    (sem_Instruction_Multiply_i )+sem_Instruction (Instruction_Negate )  =+    (sem_Instruction_Negate )+sem_Instruction (Instruction_Negate_i )  =+    (sem_Instruction_Negate_i )+sem_Instruction (Instruction_NewActivation )  =+    (sem_Instruction_NewActivation )+sem_Instruction (Instruction_NewArray _argCount )  =+    (sem_Instruction_NewArray _argCount )+sem_Instruction (Instruction_NewCatch _exception )  =+    (sem_Instruction_NewCatch _exception )+sem_Instruction (Instruction_NewClass _class )  =+    (sem_Instruction_NewClass _class )+sem_Instruction (Instruction_NewFunction _method )  =+    (sem_Instruction_NewFunction _method )+sem_Instruction (Instruction_NewObject _argCount )  =+    (sem_Instruction_NewObject _argCount )+sem_Instruction (Instruction_NextName )  =+    (sem_Instruction_NextName )+sem_Instruction (Instruction_NextValue )  =+    (sem_Instruction_NextValue )+sem_Instruction (Instruction_Nop )  =+    (sem_Instruction_Nop )+sem_Instruction (Instruction_Not )  =+    (sem_Instruction_Not )+sem_Instruction (Instruction_Pop )  =+    (sem_Instruction_Pop )+sem_Instruction (Instruction_PopScope )  =+    (sem_Instruction_PopScope )+sem_Instruction (Instruction_PushByte _val )  =+    (sem_Instruction_PushByte _val )+sem_Instruction (Instruction_PushDouble _name )  =+    (sem_Instruction_PushDouble _name )+sem_Instruction (Instruction_PushFalse )  =+    (sem_Instruction_PushFalse )+sem_Instruction (Instruction_PushInt _name )  =+    (sem_Instruction_PushInt _name )+sem_Instruction (Instruction_PushNaN )  =+    (sem_Instruction_PushNaN )+sem_Instruction (Instruction_PushNamespace _name )  =+    (sem_Instruction_PushNamespace _name )+sem_Instruction (Instruction_PushNull )  =+    (sem_Instruction_PushNull )+sem_Instruction (Instruction_PushScope )  =+    (sem_Instruction_PushScope )+sem_Instruction (Instruction_PushShort _val )  =+    (sem_Instruction_PushShort _val )+sem_Instruction (Instruction_PushString _name )  =+    (sem_Instruction_PushString _name )+sem_Instruction (Instruction_PushTrue )  =+    (sem_Instruction_PushTrue )+sem_Instruction (Instruction_PushUInt _name )  =+    (sem_Instruction_PushUInt _name )+sem_Instruction (Instruction_PushUndefined )  =+    (sem_Instruction_PushUndefined )+sem_Instruction (Instruction_PushWith )  =+    (sem_Instruction_PushWith )+sem_Instruction (Instruction_ReturnValue )  =+    (sem_Instruction_ReturnValue )+sem_Instruction (Instruction_ReturnVoid )  =+    (sem_Instruction_ReturnVoid )+sem_Instruction (Instruction_Rshift )  =+    (sem_Instruction_Rshift )+sem_Instruction (Instruction_SetGlobalSlot _slot )  =+    (sem_Instruction_SetGlobalSlot _slot )+sem_Instruction (Instruction_SetLocal _reg )  =+    (sem_Instruction_SetLocal _reg )+sem_Instruction (Instruction_SetLocal0 )  =+    (sem_Instruction_SetLocal0 )+sem_Instruction (Instruction_SetLocal1 )  =+    (sem_Instruction_SetLocal1 )+sem_Instruction (Instruction_SetLocal2 )  =+    (sem_Instruction_SetLocal2 )+sem_Instruction (Instruction_SetLocal3 )  =+    (sem_Instruction_SetLocal3 )+sem_Instruction (Instruction_SetProperty _name )  =+    (sem_Instruction_SetProperty _name )+sem_Instruction (Instruction_SetPropertyLate )  =+    (sem_Instruction_SetPropertyLate )+sem_Instruction (Instruction_SetSlot _slot )  =+    (sem_Instruction_SetSlot _slot )+sem_Instruction (Instruction_SetSuper _name )  =+    (sem_Instruction_SetSuper _name )+sem_Instruction (Instruction_SignExtend1 )  =+    (sem_Instruction_SignExtend1 )+sem_Instruction (Instruction_SignExtend16 )  =+    (sem_Instruction_SignExtend16 )+sem_Instruction (Instruction_SignExtend8 )  =+    (sem_Instruction_SignExtend8 )+sem_Instruction (Instruction_StoreFloat32 )  =+    (sem_Instruction_StoreFloat32 )+sem_Instruction (Instruction_StoreFloat64 )  =+    (sem_Instruction_StoreFloat64 )+sem_Instruction (Instruction_StoreIndirect16 )  =+    (sem_Instruction_StoreIndirect16 )+sem_Instruction (Instruction_StoreIndirect32 )  =+    (sem_Instruction_StoreIndirect32 )+sem_Instruction (Instruction_StoreIndirect8 )  =+    (sem_Instruction_StoreIndirect8 )+sem_Instruction (Instruction_StrictEquals )  =+    (sem_Instruction_StrictEquals )+sem_Instruction (Instruction_Substract )  =+    (sem_Instruction_Substract )+sem_Instruction (Instruction_Substract_i )  =+    (sem_Instruction_Substract_i )+sem_Instruction (Instruction_Swap )  =+    (sem_Instruction_Swap )+sem_Instruction (Instruction_Throw )  =+    (sem_Instruction_Throw )+sem_Instruction (Instruction_Timestamp )  =+    (sem_Instruction_Timestamp )+sem_Instruction (Instruction_TypeOf )  =+    (sem_Instruction_TypeOf )+sem_Instruction (Instruction_Urshift )  =+    (sem_Instruction_Urshift )+-- semantic domain+type T_Instruction  = SymbolTables ->+                      ( Instruction )+sem_Instruction_Add :: T_Instruction +sem_Instruction_Add  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Add+                 {-# LINE 1129 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1134 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Add_d :: T_Instruction +sem_Instruction_Add_d  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Add_d+                 {-# LINE 1143 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1148 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Add_i :: T_Instruction +sem_Instruction_Add_i  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Add_i+                 {-# LINE 1157 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1162 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_ApplyType :: Word32 ->+                             T_Instruction +sem_Instruction_ApplyType name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_ApplyType name_+                 {-# LINE 1172 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1177 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_AsType :: Word32 ->+                          T_Instruction +sem_Instruction_AsType name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_AsType name_+                 {-# LINE 1187 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1192 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_AsTypeLate :: T_Instruction +sem_Instruction_AsTypeLate  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_AsTypeLate+                 {-# LINE 1201 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1206 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_BitAnd :: T_Instruction +sem_Instruction_BitAnd  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_BitAnd+                 {-# LINE 1215 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1220 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_BitNot :: T_Instruction +sem_Instruction_BitNot  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_BitNot+                 {-# LINE 1229 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1234 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_BitOr :: T_Instruction +sem_Instruction_BitOr  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_BitOr+                 {-# LINE 1243 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1248 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_BitXor :: T_Instruction +sem_Instruction_BitXor  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_BitXor+                 {-# LINE 1257 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1262 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_BreakLine :: Word32 ->+                             T_Instruction +sem_Instruction_BreakLine line_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_BreakLine line_+                 {-# LINE 1272 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1277 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Breakpoint :: T_Instruction +sem_Instruction_Breakpoint  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Breakpoint+                 {-# LINE 1286 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1291 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Call :: Word32 ->+                        T_Instruction +sem_Instruction_Call argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Call argCount_+                 {-# LINE 1301 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1306 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_CallInterface :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallInterface name_ argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_CallInterface name_ argCount_+                 {-# LINE 1317 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1322 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_CallMethod :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallMethod index_ argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_CallMethod index_ argCount_+                 {-# LINE 1333 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1338 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_CallProp :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_CallProp name_ argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_CallProp name_ argCount_+                 {-# LINE 1349 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1354 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_CallPropLex :: Word32 ->+                               Word32 ->+                               T_Instruction +sem_Instruction_CallPropLex name_ argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_CallPropLex name_ argCount_+                 {-# LINE 1365 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1370 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_CallPropVoid :: Word32 ->+                                Word32 ->+                                T_Instruction +sem_Instruction_CallPropVoid name_ argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_CallPropVoid name_ argCount_+                 {-# LINE 1381 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1386 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_CallStatic :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallStatic method_ argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_CallStatic method_ argCount_+                 {-# LINE 1397 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1402 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_CallSuper :: Word32 ->+                             Word32 ->+                             T_Instruction +sem_Instruction_CallSuper name_ argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_CallSuper name_ argCount_+                 {-# LINE 1413 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1418 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_CallSuperId :: T_Instruction +sem_Instruction_CallSuperId  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_CallSuperId+                 {-# LINE 1427 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1432 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_CallSuperVoid :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallSuperVoid name_ argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_CallSuperVoid name_ argCount_+                 {-# LINE 1443 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1448 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_CheckFilter :: T_Instruction +sem_Instruction_CheckFilter  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_CheckFilter+                 {-# LINE 1457 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1462 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Coerce :: Word32 ->+                          T_Instruction +sem_Instruction_Coerce name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Coerce name_+                 {-# LINE 1472 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1477 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Coerce_a :: T_Instruction +sem_Instruction_Coerce_a  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Coerce_a+                 {-# LINE 1486 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1491 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Coerce_b :: T_Instruction +sem_Instruction_Coerce_b  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Coerce_b+                 {-# LINE 1500 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1505 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Coerce_d :: T_Instruction +sem_Instruction_Coerce_d  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Coerce_d+                 {-# LINE 1514 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1519 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Coerce_i :: T_Instruction +sem_Instruction_Coerce_i  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Coerce_i+                 {-# LINE 1528 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1533 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Coerce_o :: T_Instruction +sem_Instruction_Coerce_o  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Coerce_o+                 {-# LINE 1542 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1547 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Coerce_s :: T_Instruction +sem_Instruction_Coerce_s  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Coerce_s+                 {-# LINE 1556 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1561 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Coerce_u :: T_Instruction +sem_Instruction_Coerce_u  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Coerce_u+                 {-# LINE 1570 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1575 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Concat :: T_Instruction +sem_Instruction_Concat  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Concat+                 {-# LINE 1584 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1589 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Construct :: Word32 ->+                             T_Instruction +sem_Instruction_Construct argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Construct argCount_+                 {-# LINE 1599 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1604 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_ConstructProp :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_ConstructProp name_ argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_ConstructProp name_ argCount_+                 {-# LINE 1615 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1620 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_ConstructSuper :: Word32 ->+                                  T_Instruction +sem_Instruction_ConstructSuper argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_ConstructSuper argCount_+                 {-# LINE 1630 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1635 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Convert_b :: T_Instruction +sem_Instruction_Convert_b  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Convert_b+                 {-# LINE 1644 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1649 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Convert_d :: T_Instruction +sem_Instruction_Convert_d  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Convert_d+                 {-# LINE 1658 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1663 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Convert_i :: T_Instruction +sem_Instruction_Convert_i  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Convert_i+                 {-# LINE 1672 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1677 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Convert_o :: T_Instruction +sem_Instruction_Convert_o  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Convert_o+                 {-# LINE 1686 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1691 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Convert_s :: T_Instruction +sem_Instruction_Convert_s  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Convert_s+                 {-# LINE 1700 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1705 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Convert_u :: T_Instruction +sem_Instruction_Convert_u  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Convert_u+                 {-# LINE 1714 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1719 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Debug :: T_DebugType  ->+                         Word32 ->+                         Word32 ->+                         Word32 ->+                         T_Instruction +sem_Instruction_Debug tp_ name_ reg_ extra_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 1732 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tpOtbls | _tpOtbls `seq` (True) ->+          (case (tp_ _tpOtbls ) of+           { ( _tpIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       Instruction_Debug _tpIoutput name_ reg_ extra_+                       {-# LINE 1739 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 1744 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_Instruction_DebugFile :: Word32 ->+                             T_Instruction +sem_Instruction_DebugFile name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_DebugFile name_+                 {-# LINE 1754 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1759 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_DebugLine :: Word32 ->+                             T_Instruction +sem_Instruction_DebugLine line_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_DebugLine line_+                 {-# LINE 1769 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1774 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_DecLocal :: Word32 ->+                            T_Instruction +sem_Instruction_DecLocal reg_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_DecLocal reg_+                 {-# LINE 1784 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1789 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_DecLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_DecLocal_i reg_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_DecLocal_i reg_+                 {-# LINE 1799 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1804 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Decrement :: T_Instruction +sem_Instruction_Decrement  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Decrement+                 {-# LINE 1813 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1818 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Decrement_i :: T_Instruction +sem_Instruction_Decrement_i  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Decrement_i+                 {-# LINE 1827 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1832 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_DeleteProperty :: Word32 ->+                                  T_Instruction +sem_Instruction_DeleteProperty name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_DeleteProperty name_+                 {-# LINE 1842 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1847 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_DeletePropertyLate :: T_Instruction +sem_Instruction_DeletePropertyLate  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_DeletePropertyLate+                 {-# LINE 1856 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1861 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Divide :: T_Instruction +sem_Instruction_Divide  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Divide+                 {-# LINE 1870 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1875 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Dup :: T_Instruction +sem_Instruction_Dup  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Dup+                 {-# LINE 1884 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1889 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Dxns :: Word32 ->+                        T_Instruction +sem_Instruction_Dxns name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Dxns name_+                 {-# LINE 1899 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1904 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_DxnsLate :: T_Instruction +sem_Instruction_DxnsLate  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_DxnsLate+                 {-# LINE 1913 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1918 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Equals :: T_Instruction +sem_Instruction_Equals  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Equals+                 {-# LINE 1927 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1932 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_EscXAttr :: T_Instruction +sem_Instruction_EscXAttr  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_EscXAttr+                 {-# LINE 1941 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1946 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_EscXElem :: T_Instruction +sem_Instruction_EscXElem  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_EscXElem+                 {-# LINE 1955 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1960 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_FindDef :: Word32 ->+                           T_Instruction +sem_Instruction_FindDef name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_FindDef name_+                 {-# LINE 1970 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1975 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_FindPropStrict :: Word32 ->+                                  T_Instruction +sem_Instruction_FindPropStrict name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_FindPropStrict name_+                 {-# LINE 1985 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 1990 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_FindProperty :: Word32 ->+                                T_Instruction +sem_Instruction_FindProperty name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_FindProperty name_+                 {-# LINE 2000 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2005 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_FindPropertyGlobal :: Word32 ->+                                      T_Instruction +sem_Instruction_FindPropertyGlobal name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_FindPropertyGlobal name_+                 {-# LINE 2015 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2020 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_FindPropertyGlobalStrict :: Word32 ->+                                            T_Instruction +sem_Instruction_FindPropertyGlobalStrict name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_FindPropertyGlobalStrict name_+                 {-# LINE 2030 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2035 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetDescendants :: Word32 ->+                                  T_Instruction +sem_Instruction_GetDescendants name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetDescendants name_+                 {-# LINE 2045 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2050 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetGlobalScope :: T_Instruction +sem_Instruction_GetGlobalScope  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetGlobalScope+                 {-# LINE 2059 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2064 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_GetGlobalSlot slot_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetGlobalSlot slot_+                 {-# LINE 2074 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2079 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetLex :: Word32 ->+                          T_Instruction +sem_Instruction_GetLex name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetLex name_+                 {-# LINE 2089 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2094 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_GetLocal reg_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetLocal reg_+                 {-# LINE 2104 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2109 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetLocal0 :: T_Instruction +sem_Instruction_GetLocal0  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetLocal0+                 {-# LINE 2118 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2123 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetLocal1 :: T_Instruction +sem_Instruction_GetLocal1  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetLocal1+                 {-# LINE 2132 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2137 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetLocal2 :: T_Instruction +sem_Instruction_GetLocal2  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetLocal2+                 {-# LINE 2146 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2151 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetLocal3 :: T_Instruction +sem_Instruction_GetLocal3  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetLocal3+                 {-# LINE 2160 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2165 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetOuterScope :: Word32 ->+                                 T_Instruction +sem_Instruction_GetOuterScope name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetOuterScope name_+                 {-# LINE 2175 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2180 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_GetProperty name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetProperty name_+                 {-# LINE 2190 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2195 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetScopeObject :: Word8 ->+                                  T_Instruction +sem_Instruction_GetScopeObject index_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetScopeObject index_+                 {-# LINE 2205 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2210 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_GetSlot slot_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetSlot slot_+                 {-# LINE 2220 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2225 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_GetSuper name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GetSuper name_+                 {-# LINE 2235 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2240 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GreaterEquals :: T_Instruction +sem_Instruction_GreaterEquals  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GreaterEquals+                 {-# LINE 2249 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2254 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_GreaterThan :: T_Instruction +sem_Instruction_GreaterThan  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_GreaterThan+                 {-# LINE 2263 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2268 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_HasNext :: T_Instruction +sem_Instruction_HasNext  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_HasNext+                 {-# LINE 2277 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2282 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_HasNext2 :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_HasNext2 objectReg_ indexReg_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_HasNext2 objectReg_ indexReg_+                 {-# LINE 2293 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2298 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfEq :: Word32 ->+                        T_Instruction +sem_Instruction_IfEq offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfEq offset_+                 {-# LINE 2308 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2313 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfFalse :: Word32 ->+                           T_Instruction +sem_Instruction_IfFalse offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfFalse offset_+                 {-# LINE 2323 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2328 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfGe :: Word32 ->+                        T_Instruction +sem_Instruction_IfGe offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfGe offset_+                 {-# LINE 2338 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2343 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfGt :: Word32 ->+                        T_Instruction +sem_Instruction_IfGt offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfGt offset_+                 {-# LINE 2353 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2358 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfLe :: Word32 ->+                        T_Instruction +sem_Instruction_IfLe offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfLe offset_+                 {-# LINE 2368 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2373 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfLt :: Word32 ->+                        T_Instruction +sem_Instruction_IfLt offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfLt offset_+                 {-# LINE 2383 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2388 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfNGe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGe offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfNGe offset_+                 {-# LINE 2398 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2403 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfNGt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGt offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfNGt offset_+                 {-# LINE 2413 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2418 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfNLe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLe offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfNLe offset_+                 {-# LINE 2428 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2433 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfNLt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLt offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfNLt offset_+                 {-# LINE 2443 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2448 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfNe :: Word32 ->+                        T_Instruction +sem_Instruction_IfNe offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfNe offset_+                 {-# LINE 2458 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2463 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfStrictEq :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictEq offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfStrictEq offset_+                 {-# LINE 2473 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2478 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfStrictNe :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictNe offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfStrictNe offset_+                 {-# LINE 2488 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2493 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IfTrue :: Word32 ->+                          T_Instruction +sem_Instruction_IfTrue offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IfTrue offset_+                 {-# LINE 2503 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2508 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_In :: T_Instruction +sem_Instruction_In  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_In+                 {-# LINE 2517 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2522 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IncLocal :: Word32 ->+                            T_Instruction +sem_Instruction_IncLocal reg_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IncLocal reg_+                 {-# LINE 2532 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2537 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IncLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_IncLocal_i reg_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IncLocal_i reg_+                 {-# LINE 2547 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2552 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Increment :: T_Instruction +sem_Instruction_Increment  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Increment+                 {-# LINE 2561 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2566 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Increment_i :: T_Instruction +sem_Instruction_Increment_i  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Increment_i+                 {-# LINE 2575 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2580 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_InitProperty :: Word32 ->+                                T_Instruction +sem_Instruction_InitProperty name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_InitProperty name_+                 {-# LINE 2590 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2595 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_InstanceOf :: T_Instruction +sem_Instruction_InstanceOf  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_InstanceOf+                 {-# LINE 2604 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2609 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IsType :: Word32 ->+                          T_Instruction +sem_Instruction_IsType name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IsType name_+                 {-# LINE 2619 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2624 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_IsTypeLate :: T_Instruction +sem_Instruction_IsTypeLate  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_IsTypeLate+                 {-# LINE 2633 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2638 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Jump :: Word32 ->+                        T_Instruction +sem_Instruction_Jump offset_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Jump offset_+                 {-# LINE 2648 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2653 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Kill :: Word32 ->+                        T_Instruction +sem_Instruction_Kill reg_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Kill reg_+                 {-# LINE 2663 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2668 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Label :: T_Instruction +sem_Instruction_Label  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Label+                 {-# LINE 2677 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2682 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_LessEquals :: T_Instruction +sem_Instruction_LessEquals  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_LessEquals+                 {-# LINE 2691 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2696 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_LessThan :: T_Instruction +sem_Instruction_LessThan  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_LessThan+                 {-# LINE 2705 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2710 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_LoadFloat32 :: T_Instruction +sem_Instruction_LoadFloat32  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_LoadFloat32+                 {-# LINE 2719 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2724 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_LoadFloat64 :: T_Instruction +sem_Instruction_LoadFloat64  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_LoadFloat64+                 {-# LINE 2733 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2738 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_LoadIndirect16 :: T_Instruction +sem_Instruction_LoadIndirect16  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_LoadIndirect16+                 {-# LINE 2747 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2752 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_LoadIndirect32 :: T_Instruction +sem_Instruction_LoadIndirect32  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_LoadIndirect32+                 {-# LINE 2761 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2766 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_LoadIndirect8 :: T_Instruction +sem_Instruction_LoadIndirect8  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_LoadIndirect8+                 {-# LINE 2775 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2780 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Location :: Int ->+                            T_Instruction +sem_Instruction_Location index_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Location index_+                 {-# LINE 2790 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2795 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_LookupSwitch :: Word32 ->+                                T_CaseOffsets  ->+                                T_Instruction +sem_Instruction_LookupSwitch defaultOffset_ caseOffsets_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 2806 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _caseOffsetsOtbls | _caseOffsetsOtbls `seq` (True) ->+          (case (caseOffsets_ _caseOffsetsOtbls ) of+           { ( _caseOffsetsIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       Instruction_LookupSwitch defaultOffset_ _caseOffsetsIoutput+                       {-# LINE 2813 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 2818 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_Instruction_Lshift :: T_Instruction +sem_Instruction_Lshift  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Lshift+                 {-# LINE 2827 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2832 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Modulo :: T_Instruction +sem_Instruction_Modulo  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Modulo+                 {-# LINE 2841 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2846 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Multiply :: T_Instruction +sem_Instruction_Multiply  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Multiply+                 {-# LINE 2855 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2860 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Multiply_i :: T_Instruction +sem_Instruction_Multiply_i  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Multiply_i+                 {-# LINE 2869 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2874 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Negate :: T_Instruction +sem_Instruction_Negate  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Negate+                 {-# LINE 2883 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2888 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Negate_i :: T_Instruction +sem_Instruction_Negate_i  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Negate_i+                 {-# LINE 2897 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2902 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_NewActivation :: T_Instruction +sem_Instruction_NewActivation  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_NewActivation+                 {-# LINE 2911 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2916 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_NewArray :: Word32 ->+                            T_Instruction +sem_Instruction_NewArray argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_NewArray argCount_+                 {-# LINE 2926 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2931 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_NewCatch :: Word32 ->+                            T_Instruction +sem_Instruction_NewCatch exception_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_NewCatch exception_+                 {-# LINE 2941 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2946 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_NewClass :: Word32 ->+                            T_Instruction +sem_Instruction_NewClass class_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_NewClass class_+                 {-# LINE 2956 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2961 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_NewFunction :: Word32 ->+                               T_Instruction +sem_Instruction_NewFunction method_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_NewFunction method_+                 {-# LINE 2971 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2976 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_NewObject :: Word32 ->+                             T_Instruction +sem_Instruction_NewObject argCount_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_NewObject argCount_+                 {-# LINE 2986 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 2991 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_NextName :: T_Instruction +sem_Instruction_NextName  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_NextName+                 {-# LINE 3000 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3005 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_NextValue :: T_Instruction +sem_Instruction_NextValue  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_NextValue+                 {-# LINE 3014 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3019 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Nop :: T_Instruction +sem_Instruction_Nop  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Nop+                 {-# LINE 3028 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3033 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Not :: T_Instruction +sem_Instruction_Not  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Not+                 {-# LINE 3042 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3047 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Pop :: T_Instruction +sem_Instruction_Pop  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Pop+                 {-# LINE 3056 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3061 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PopScope :: T_Instruction +sem_Instruction_PopScope  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PopScope+                 {-# LINE 3070 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3075 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushByte :: Word8 ->+                            T_Instruction +sem_Instruction_PushByte val_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushByte val_+                 {-# LINE 3085 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3090 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushDouble :: Word32 ->+                              T_Instruction +sem_Instruction_PushDouble name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushDouble name_+                 {-# LINE 3100 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3105 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushFalse :: T_Instruction +sem_Instruction_PushFalse  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushFalse+                 {-# LINE 3114 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3119 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushInt :: Word32 ->+                           T_Instruction +sem_Instruction_PushInt name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushInt name_+                 {-# LINE 3129 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3134 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushNaN :: T_Instruction +sem_Instruction_PushNaN  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushNaN+                 {-# LINE 3143 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3148 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushNamespace :: Word32 ->+                                 T_Instruction +sem_Instruction_PushNamespace name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushNamespace name_+                 {-# LINE 3158 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3163 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushNull :: T_Instruction +sem_Instruction_PushNull  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushNull+                 {-# LINE 3172 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3177 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushScope :: T_Instruction +sem_Instruction_PushScope  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushScope+                 {-# LINE 3186 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3191 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushShort :: Word32 ->+                             T_Instruction +sem_Instruction_PushShort val_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushShort val_+                 {-# LINE 3201 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3206 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushString :: Word32 ->+                              T_Instruction +sem_Instruction_PushString name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushString name_+                 {-# LINE 3216 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3221 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushTrue :: T_Instruction +sem_Instruction_PushTrue  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushTrue+                 {-# LINE 3230 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3235 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushUInt :: Word32 ->+                            T_Instruction +sem_Instruction_PushUInt name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushUInt name_+                 {-# LINE 3245 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3250 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushUndefined :: T_Instruction +sem_Instruction_PushUndefined  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushUndefined+                 {-# LINE 3259 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3264 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_PushWith :: T_Instruction +sem_Instruction_PushWith  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_PushWith+                 {-# LINE 3273 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3278 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_ReturnValue :: T_Instruction +sem_Instruction_ReturnValue  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_ReturnValue+                 {-# LINE 3287 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3292 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_ReturnVoid :: T_Instruction +sem_Instruction_ReturnVoid  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_ReturnVoid+                 {-# LINE 3301 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3306 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Rshift :: T_Instruction +sem_Instruction_Rshift  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Rshift+                 {-# LINE 3315 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3320 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_SetGlobalSlot slot_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SetGlobalSlot slot_+                 {-# LINE 3330 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3335 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_SetLocal reg_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SetLocal reg_+                 {-# LINE 3345 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3350 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SetLocal0 :: T_Instruction +sem_Instruction_SetLocal0  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SetLocal0+                 {-# LINE 3359 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3364 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SetLocal1 :: T_Instruction +sem_Instruction_SetLocal1  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SetLocal1+                 {-# LINE 3373 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3378 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SetLocal2 :: T_Instruction +sem_Instruction_SetLocal2  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SetLocal2+                 {-# LINE 3387 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3392 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SetLocal3 :: T_Instruction +sem_Instruction_SetLocal3  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SetLocal3+                 {-# LINE 3401 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3406 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_SetProperty name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SetProperty name_+                 {-# LINE 3416 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3421 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SetPropertyLate :: T_Instruction +sem_Instruction_SetPropertyLate  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SetPropertyLate+                 {-# LINE 3430 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3435 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_SetSlot slot_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SetSlot slot_+                 {-# LINE 3445 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3450 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_SetSuper name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SetSuper name_+                 {-# LINE 3460 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3465 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SignExtend1 :: T_Instruction +sem_Instruction_SignExtend1  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SignExtend1+                 {-# LINE 3474 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3479 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SignExtend16 :: T_Instruction +sem_Instruction_SignExtend16  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SignExtend16+                 {-# LINE 3488 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3493 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_SignExtend8 :: T_Instruction +sem_Instruction_SignExtend8  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_SignExtend8+                 {-# LINE 3502 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3507 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_StoreFloat32 :: T_Instruction +sem_Instruction_StoreFloat32  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_StoreFloat32+                 {-# LINE 3516 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3521 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_StoreFloat64 :: T_Instruction +sem_Instruction_StoreFloat64  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_StoreFloat64+                 {-# LINE 3530 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3535 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_StoreIndirect16 :: T_Instruction +sem_Instruction_StoreIndirect16  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_StoreIndirect16+                 {-# LINE 3544 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3549 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_StoreIndirect32 :: T_Instruction +sem_Instruction_StoreIndirect32  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_StoreIndirect32+                 {-# LINE 3558 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3563 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_StoreIndirect8 :: T_Instruction +sem_Instruction_StoreIndirect8  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_StoreIndirect8+                 {-# LINE 3572 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3577 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_StrictEquals :: T_Instruction +sem_Instruction_StrictEquals  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_StrictEquals+                 {-# LINE 3586 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3591 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Substract :: T_Instruction +sem_Instruction_Substract  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Substract+                 {-# LINE 3600 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3605 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Substract_i :: T_Instruction +sem_Instruction_Substract_i  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Substract_i+                 {-# LINE 3614 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3619 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Swap :: T_Instruction +sem_Instruction_Swap  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Swap+                 {-# LINE 3628 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3633 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Throw :: T_Instruction +sem_Instruction_Throw  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Throw+                 {-# LINE 3642 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3647 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Timestamp :: T_Instruction +sem_Instruction_Timestamp  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Timestamp+                 {-# LINE 3656 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3661 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_TypeOf :: T_Instruction +sem_Instruction_TypeOf  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_TypeOf+                 {-# LINE 3670 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3675 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_Instruction_Urshift :: T_Instruction +sem_Instruction_Urshift  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Instruction_Urshift+                 {-# LINE 3684 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3689 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- Instructions ------------------------------------------------+-- cata+sem_Instructions :: Instructions  ->+                    T_Instructions +sem_Instructions list  =+    (Prelude.foldr sem_Instructions_Cons sem_Instructions_Nil (Prelude.map sem_Instruction list) )+-- semantic domain+type T_Instructions  = SymbolTables ->+                       ( Instructions )+sem_Instructions_Cons :: T_Instruction  ->+                         T_Instructions  ->+                         T_Instructions +sem_Instructions_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 3709 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 3716 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 3723 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 3728 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_Instructions_Nil :: T_Instructions +sem_Instructions_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 3737 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3742 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- Interfaces --------------------------------------------------+-- cata+sem_Interfaces :: Interfaces  ->+                  T_Interfaces +sem_Interfaces list  =+    (Prelude.foldr sem_Interfaces_Cons sem_Interfaces_Nil list )+-- semantic domain+type T_Interfaces  = SymbolTables ->+                     ( Interfaces )+sem_Interfaces_Cons :: Word32 ->+                       T_Interfaces  ->+                       T_Interfaces +sem_Interfaces_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 3762 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       (:) hd_ _tlIoutput+                       {-# LINE 3769 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 3774 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_Interfaces_Nil :: T_Interfaces +sem_Interfaces_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 3783 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3788 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- MetaInfo ----------------------------------------------------+-- cata+sem_MetaInfo :: MetaInfo  ->+                T_MetaInfo +sem_MetaInfo (MetaInfo_Info _name _items )  =+    (sem_MetaInfo_Info _name (sem_MetaItems _items ) )+-- semantic domain+type T_MetaInfo  = SymbolTables ->+                   ( MetaInfo )+sem_MetaInfo_Info :: Word32 ->+                     T_MetaItems  ->+                     T_MetaInfo +sem_MetaInfo_Info name_ items_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 3808 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _itemsOtbls | _itemsOtbls `seq` (True) ->+          (case (items_ _itemsOtbls ) of+           { ( _itemsIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       MetaInfo_Info name_ _itemsIoutput+                       {-# LINE 3815 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 3820 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+-- MetaInfos ---------------------------------------------------+-- cata+sem_MetaInfos :: MetaInfos  ->+                 T_MetaInfos +sem_MetaInfos list  =+    (Prelude.foldr sem_MetaInfos_Cons sem_MetaInfos_Nil (Prelude.map sem_MetaInfo list) )+-- semantic domain+type T_MetaInfos  = SymbolTables ->+                    ( MetaInfos )+sem_MetaInfos_Cons :: T_MetaInfo  ->+                      T_MetaInfos  ->+                      T_MetaInfos +sem_MetaInfos_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 3840 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 3847 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 3854 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 3859 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_MetaInfos_Nil :: T_MetaInfos +sem_MetaInfos_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 3868 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3873 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- MetaItem ----------------------------------------------------+-- cata+sem_MetaItem :: MetaItem  ->+                T_MetaItem +sem_MetaItem (MetaItem_Item _key _value )  =+    (sem_MetaItem_Item _key _value )+-- semantic domain+type T_MetaItem  = SymbolTables ->+                   ( MetaItem )+sem_MetaItem_Item :: Word32 ->+                     Word32 ->+                     T_MetaItem +sem_MetaItem_Item key_ value_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MetaItem_Item key_ value_+                 {-# LINE 3893 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3898 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- MetaItems ---------------------------------------------------+-- cata+sem_MetaItems :: MetaItems  ->+                 T_MetaItems +sem_MetaItems list  =+    (Prelude.foldr sem_MetaItems_Cons sem_MetaItems_Nil (Prelude.map sem_MetaItem list) )+-- semantic domain+type T_MetaItems  = SymbolTables ->+                    ( MetaItems )+sem_MetaItems_Cons :: T_MetaItem  ->+                      T_MetaItems  ->+                      T_MetaItems +sem_MetaItems_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 3918 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 3925 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 3932 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 3937 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_MetaItems_Nil :: T_MetaItems +sem_MetaItems_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 3946 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3951 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- MethodFlag --------------------------------------------------+-- cata+sem_MethodFlag :: MethodFlag  ->+                  T_MethodFlag +sem_MethodFlag (MethodFlag_HasOptionals )  =+    (sem_MethodFlag_HasOptionals )+sem_MethodFlag (MethodFlag_HasParamNames )  =+    (sem_MethodFlag_HasParamNames )+sem_MethodFlag (MethodFlag_NeedAct )  =+    (sem_MethodFlag_NeedAct )+sem_MethodFlag (MethodFlag_NeedArgs )  =+    (sem_MethodFlag_NeedArgs )+sem_MethodFlag (MethodFlag_NeedRest )  =+    (sem_MethodFlag_NeedRest )+sem_MethodFlag (MethodFlag_SetDXNS )  =+    (sem_MethodFlag_SetDXNS )+-- semantic domain+type T_MethodFlag  = SymbolTables ->+                     ( MethodFlag )+sem_MethodFlag_HasOptionals :: T_MethodFlag +sem_MethodFlag_HasOptionals  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MethodFlag_HasOptionals+                 {-# LINE 3979 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3984 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MethodFlag_HasParamNames :: T_MethodFlag +sem_MethodFlag_HasParamNames  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MethodFlag_HasParamNames+                 {-# LINE 3993 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 3998 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MethodFlag_NeedAct :: T_MethodFlag +sem_MethodFlag_NeedAct  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MethodFlag_NeedAct+                 {-# LINE 4007 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4012 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MethodFlag_NeedArgs :: T_MethodFlag +sem_MethodFlag_NeedArgs  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MethodFlag_NeedArgs+                 {-# LINE 4021 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4026 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MethodFlag_NeedRest :: T_MethodFlag +sem_MethodFlag_NeedRest  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MethodFlag_NeedRest+                 {-# LINE 4035 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4040 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MethodFlag_SetDXNS :: T_MethodFlag +sem_MethodFlag_SetDXNS  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MethodFlag_SetDXNS+                 {-# LINE 4049 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4054 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- MethodFlags -------------------------------------------------+-- cata+sem_MethodFlags :: MethodFlags  ->+                   T_MethodFlags +sem_MethodFlags list  =+    (Prelude.foldr sem_MethodFlags_Cons sem_MethodFlags_Nil (Prelude.map sem_MethodFlag list) )+-- semantic domain+type T_MethodFlags  = SymbolTables ->+                      ( MethodFlags )+sem_MethodFlags_Cons :: T_MethodFlag  ->+                        T_MethodFlags  ->+                        T_MethodFlags +sem_MethodFlags_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 4074 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 4081 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 4088 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 4093 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_MethodFlags_Nil :: T_MethodFlags +sem_MethodFlags_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 4102 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4107 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- MethodInfo --------------------------------------------------+-- cata+sem_MethodInfo :: MethodInfo  ->+                  T_MethodInfo +sem_MethodInfo (MethodInfo_Info _return _params _name _flags _options _names )  =+    (sem_MethodInfo_Info _return (sem_ParamTypes _params ) _name (sem_MethodFlags _flags ) (sem_Optionals _options ) (sem_ParamNames _names ) )+-- semantic domain+type T_MethodInfo  = SymbolTables ->+                     ( MethodInfo )+sem_MethodInfo_Info :: Word32 ->+                       T_ParamTypes  ->+                       Word32 ->+                       T_MethodFlags  ->+                       T_Optionals  ->+                       T_ParamNames  ->+                       T_MethodInfo +sem_MethodInfo_Info return_ params_ name_ flags_ options_ names_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 4131 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _namesOtbls | _namesOtbls `seq` (True) ->+          (case (names_ _namesOtbls ) of+           { ( _namesIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 4138 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _optionsOtbls | _optionsOtbls `seq` (True) ->+                (case (options_ _optionsOtbls ) of+                 { ( _optionsIoutput) | True ->+                     (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                             _lhsItbls+                             {-# LINE 4145 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _flagsOtbls | _flagsOtbls `seq` (True) ->+                      (case (flags_ _flagsOtbls ) of+                       { ( _flagsIoutput) | True ->+                           (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                                   _lhsItbls+                                   {-# LINE 4152 "src/TrfInjectRefl.hs" #-}+                                   )) of+                            { _paramsOtbls | _paramsOtbls `seq` (True) ->+                            (case (params_ _paramsOtbls ) of+                             { ( _paramsIoutput) | True ->+                                 (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                                         MethodInfo_Info return_ _paramsIoutput name_ _flagsIoutput _optionsIoutput _namesIoutput+                                         {-# LINE 4159 "src/TrfInjectRefl.hs" #-}+                                         )) of+                                  { _output | _output `seq` (True) ->+                                  (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                                          _output+                                          {-# LINE 4164 "src/TrfInjectRefl.hs" #-}+                                          )) of+                                   { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                   ( _lhsOoutput) }) }) }) }) }) }) }) }) }) }))+-- MethodInfos -------------------------------------------------+-- cata+sem_MethodInfos :: MethodInfos  ->+                   T_MethodInfos +sem_MethodInfos list  =+    (Prelude.foldr sem_MethodInfos_Cons sem_MethodInfos_Nil (Prelude.map sem_MethodInfo list) )+-- semantic domain+type T_MethodInfos  = SymbolTables ->+                      ( MethodInfos )+sem_MethodInfos_Cons :: T_MethodInfo  ->+                        T_MethodInfos  ->+                        T_MethodInfos +sem_MethodInfos_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 4184 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 4191 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 4198 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 4203 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_MethodInfos_Nil :: T_MethodInfos +sem_MethodInfos_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 4212 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4217 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- MultinameInfo -----------------------------------------------+-- cata+sem_MultinameInfo :: MultinameInfo  ->+                     T_MultinameInfo +sem_MultinameInfo (MultinameInfo_Generic _name _params )  =+    (sem_MultinameInfo_Generic _name (sem_ParamNames _params ) )+sem_MultinameInfo (MultinameInfo_Multiname _name _set )  =+    (sem_MultinameInfo_Multiname _name _set )+sem_MultinameInfo (MultinameInfo_MultinameA _name _set )  =+    (sem_MultinameInfo_MultinameA _name _set )+sem_MultinameInfo (MultinameInfo_MultinameL _set )  =+    (sem_MultinameInfo_MultinameL _set )+sem_MultinameInfo (MultinameInfo_MultinameLA _set )  =+    (sem_MultinameInfo_MultinameLA _set )+sem_MultinameInfo (MultinameInfo_QName _namespace _name )  =+    (sem_MultinameInfo_QName _namespace _name )+sem_MultinameInfo (MultinameInfo_QNameA _namespace _name )  =+    (sem_MultinameInfo_QNameA _namespace _name )+sem_MultinameInfo (MultinameInfo_RTQName _name )  =+    (sem_MultinameInfo_RTQName _name )+sem_MultinameInfo (MultinameInfo_RTQNameA _name )  =+    (sem_MultinameInfo_RTQNameA _name )+sem_MultinameInfo (MultinameInfo_RTQNameL )  =+    (sem_MultinameInfo_RTQNameL )+sem_MultinameInfo (MultinameInfo_RTQNameLA )  =+    (sem_MultinameInfo_RTQNameLA )+-- semantic domain+type T_MultinameInfo  = SymbolTables ->+                        ( MultinameInfo )+sem_MultinameInfo_Generic :: Word32 ->+                             T_ParamNames  ->+                             T_MultinameInfo +sem_MultinameInfo_Generic name_ params_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 4257 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _paramsOtbls | _paramsOtbls `seq` (True) ->+          (case (params_ _paramsOtbls ) of+           { ( _paramsIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       MultinameInfo_Generic name_ _paramsIoutput+                       {-# LINE 4264 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 4269 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_MultinameInfo_Multiname :: Word32 ->+                               Word32 ->+                               T_MultinameInfo +sem_MultinameInfo_Multiname name_ set_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameInfo_Multiname name_ set_+                 {-# LINE 4280 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4285 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameInfo_MultinameA :: Word32 ->+                                Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameA name_ set_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameInfo_MultinameA name_ set_+                 {-# LINE 4296 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4301 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameInfo_MultinameL :: Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameL set_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameInfo_MultinameL set_+                 {-# LINE 4311 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4316 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameInfo_MultinameLA :: Word32 ->+                                 T_MultinameInfo +sem_MultinameInfo_MultinameLA set_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameInfo_MultinameLA set_+                 {-# LINE 4326 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4331 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameInfo_QName :: Word32 ->+                           Word32 ->+                           T_MultinameInfo +sem_MultinameInfo_QName namespace_ name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameInfo_QName namespace_ name_+                 {-# LINE 4342 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4347 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameInfo_QNameA :: Word32 ->+                            Word32 ->+                            T_MultinameInfo +sem_MultinameInfo_QNameA namespace_ name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameInfo_QNameA namespace_ name_+                 {-# LINE 4358 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4363 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameInfo_RTQName :: Word32 ->+                             T_MultinameInfo +sem_MultinameInfo_RTQName name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameInfo_RTQName name_+                 {-# LINE 4373 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4378 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameInfo_RTQNameA :: Word32 ->+                              T_MultinameInfo +sem_MultinameInfo_RTQNameA name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameInfo_RTQNameA name_+                 {-# LINE 4388 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4393 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameInfo_RTQNameL :: T_MultinameInfo +sem_MultinameInfo_RTQNameL  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameInfo_RTQNameL+                 {-# LINE 4402 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4407 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameInfo_RTQNameLA :: T_MultinameInfo +sem_MultinameInfo_RTQNameLA  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameInfo_RTQNameLA+                 {-# LINE 4416 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4421 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- MultinameInfos ----------------------------------------------+-- cata+sem_MultinameInfos :: MultinameInfos  ->+                      T_MultinameInfos +sem_MultinameInfos list  =+    (Prelude.foldr sem_MultinameInfos_Cons sem_MultinameInfos_Nil (Prelude.map sem_MultinameInfo list) )+-- semantic domain+type T_MultinameInfos  = SymbolTables ->+                         ( MultinameInfos )+sem_MultinameInfos_Cons :: T_MultinameInfo  ->+                           T_MultinameInfos  ->+                           T_MultinameInfos +sem_MultinameInfos_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 4441 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 4448 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 4455 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 4460 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_MultinameInfos_Nil :: T_MultinameInfos +sem_MultinameInfos_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 4469 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4474 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- MultinameKind -----------------------------------------------+-- cata+sem_MultinameKind :: MultinameKind  ->+                     T_MultinameKind +sem_MultinameKind (MultinameKind_Generic )  =+    (sem_MultinameKind_Generic )+sem_MultinameKind (MultinameKind_Multiname )  =+    (sem_MultinameKind_Multiname )+sem_MultinameKind (MultinameKind_MultinameA )  =+    (sem_MultinameKind_MultinameA )+sem_MultinameKind (MultinameKind_MultinameL )  =+    (sem_MultinameKind_MultinameL )+sem_MultinameKind (MultinameKind_MultinameLA )  =+    (sem_MultinameKind_MultinameLA )+sem_MultinameKind (MultinameKind_QName )  =+    (sem_MultinameKind_QName )+sem_MultinameKind (MultinameKind_QNameA )  =+    (sem_MultinameKind_QNameA )+sem_MultinameKind (MultinameKind_RTQName )  =+    (sem_MultinameKind_RTQName )+sem_MultinameKind (MultinameKind_RTQNameA )  =+    (sem_MultinameKind_RTQNameA )+sem_MultinameKind (MultinameKind_RTQNameL )  =+    (sem_MultinameKind_RTQNameL )+sem_MultinameKind (MultinameKind_RTQNameLA )  =+    (sem_MultinameKind_RTQNameLA )+-- semantic domain+type T_MultinameKind  = SymbolTables ->+                        ( MultinameKind )+sem_MultinameKind_Generic :: T_MultinameKind +sem_MultinameKind_Generic  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameKind_Generic+                 {-# LINE 4512 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4517 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameKind_Multiname :: T_MultinameKind +sem_MultinameKind_Multiname  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameKind_Multiname+                 {-# LINE 4526 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4531 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameKind_MultinameA :: T_MultinameKind +sem_MultinameKind_MultinameA  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameKind_MultinameA+                 {-# LINE 4540 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4545 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameKind_MultinameL :: T_MultinameKind +sem_MultinameKind_MultinameL  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameKind_MultinameL+                 {-# LINE 4554 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4559 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameKind_MultinameLA :: T_MultinameKind +sem_MultinameKind_MultinameLA  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameKind_MultinameLA+                 {-# LINE 4568 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4573 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameKind_QName :: T_MultinameKind +sem_MultinameKind_QName  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameKind_QName+                 {-# LINE 4582 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4587 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameKind_QNameA :: T_MultinameKind +sem_MultinameKind_QNameA  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameKind_QNameA+                 {-# LINE 4596 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4601 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameKind_RTQName :: T_MultinameKind +sem_MultinameKind_RTQName  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameKind_RTQName+                 {-# LINE 4610 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4615 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameKind_RTQNameA :: T_MultinameKind +sem_MultinameKind_RTQNameA  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameKind_RTQNameA+                 {-# LINE 4624 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4629 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameKind_RTQNameL :: T_MultinameKind +sem_MultinameKind_RTQNameL  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameKind_RTQNameL+                 {-# LINE 4638 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4643 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_MultinameKind_RTQNameLA :: T_MultinameKind +sem_MultinameKind_RTQNameLA  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 MultinameKind_RTQNameLA+                 {-# LINE 4652 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4657 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- NamespaceInfo -----------------------------------------------+-- cata+sem_NamespaceInfo :: NamespaceInfo  ->+                     T_NamespaceInfo +sem_NamespaceInfo (NamespaceInfo_Info _kind _name )  =+    (sem_NamespaceInfo_Info (sem_NamespaceKind _kind ) _name )+-- semantic domain+type T_NamespaceInfo  = SymbolTables ->+                        ( NamespaceInfo )+sem_NamespaceInfo_Info :: T_NamespaceKind  ->+                          Word32 ->+                          T_NamespaceInfo +sem_NamespaceInfo_Info kind_ name_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 4677 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _kindOtbls | _kindOtbls `seq` (True) ->+          (case (kind_ _kindOtbls ) of+           { ( _kindIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       NamespaceInfo_Info _kindIoutput name_+                       {-# LINE 4684 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 4689 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+-- NamespaceInfos ----------------------------------------------+-- cata+sem_NamespaceInfos :: NamespaceInfos  ->+                      T_NamespaceInfos +sem_NamespaceInfos list  =+    (Prelude.foldr sem_NamespaceInfos_Cons sem_NamespaceInfos_Nil (Prelude.map sem_NamespaceInfo list) )+-- semantic domain+type T_NamespaceInfos  = SymbolTables ->+                         ( NamespaceInfos )+sem_NamespaceInfos_Cons :: T_NamespaceInfo  ->+                           T_NamespaceInfos  ->+                           T_NamespaceInfos +sem_NamespaceInfos_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 4709 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 4716 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 4723 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 4728 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_NamespaceInfos_Nil :: T_NamespaceInfos +sem_NamespaceInfos_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 4737 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4742 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- NamespaceKind -----------------------------------------------+-- cata+sem_NamespaceKind :: NamespaceKind  ->+                     T_NamespaceKind +sem_NamespaceKind (NamespaceKind_Explicit )  =+    (sem_NamespaceKind_Explicit )+sem_NamespaceKind (NamespaceKind_General )  =+    (sem_NamespaceKind_General )+sem_NamespaceKind (NamespaceKind_Internal )  =+    (sem_NamespaceKind_Internal )+sem_NamespaceKind (NamespaceKind_Package )  =+    (sem_NamespaceKind_Package )+sem_NamespaceKind (NamespaceKind_Private )  =+    (sem_NamespaceKind_Private )+sem_NamespaceKind (NamespaceKind_Protected )  =+    (sem_NamespaceKind_Protected )+sem_NamespaceKind (NamespaceKind_Static )  =+    (sem_NamespaceKind_Static )+-- semantic domain+type T_NamespaceKind  = SymbolTables ->+                        ( NamespaceKind )+sem_NamespaceKind_Explicit :: T_NamespaceKind +sem_NamespaceKind_Explicit  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 NamespaceKind_Explicit+                 {-# LINE 4772 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4777 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_NamespaceKind_General :: T_NamespaceKind +sem_NamespaceKind_General  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 NamespaceKind_General+                 {-# LINE 4786 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4791 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_NamespaceKind_Internal :: T_NamespaceKind +sem_NamespaceKind_Internal  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 NamespaceKind_Internal+                 {-# LINE 4800 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4805 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_NamespaceKind_Package :: T_NamespaceKind +sem_NamespaceKind_Package  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 NamespaceKind_Package+                 {-# LINE 4814 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4819 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_NamespaceKind_Private :: T_NamespaceKind +sem_NamespaceKind_Private  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 NamespaceKind_Private+                 {-# LINE 4828 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4833 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_NamespaceKind_Protected :: T_NamespaceKind +sem_NamespaceKind_Protected  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 NamespaceKind_Protected+                 {-# LINE 4842 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4847 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_NamespaceKind_Static :: T_NamespaceKind +sem_NamespaceKind_Static  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 NamespaceKind_Static+                 {-# LINE 4856 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4861 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- NamespaceNames ----------------------------------------------+-- cata+sem_NamespaceNames :: NamespaceNames  ->+                      T_NamespaceNames +sem_NamespaceNames list  =+    (Prelude.foldr sem_NamespaceNames_Cons sem_NamespaceNames_Nil list )+-- semantic domain+type T_NamespaceNames  = SymbolTables ->+                         ( NamespaceNames )+sem_NamespaceNames_Cons :: Word32 ->+                           T_NamespaceNames  ->+                           T_NamespaceNames +sem_NamespaceNames_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 4881 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       (:) hd_ _tlIoutput+                       {-# LINE 4888 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 4893 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_NamespaceNames_Nil :: T_NamespaceNames +sem_NamespaceNames_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 4902 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4907 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- Optional ----------------------------------------------------+-- cata+sem_Optional :: Optional  ->+                T_Optional +sem_Optional (Optional_Detail _val _kind )  =+    (sem_Optional_Detail _val (sem_ValueKind _kind ) )+-- semantic domain+type T_Optional  = SymbolTables ->+                   ( Optional )+sem_Optional_Detail :: Word32 ->+                       T_ValueKind  ->+                       T_Optional +sem_Optional_Detail val_ kind_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 4927 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _kindOtbls | _kindOtbls `seq` (True) ->+          (case (kind_ _kindOtbls ) of+           { ( _kindIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       Optional_Detail val_ _kindIoutput+                       {-# LINE 4934 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 4939 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+-- Optionals ---------------------------------------------------+-- cata+sem_Optionals :: Optionals  ->+                 T_Optionals +sem_Optionals list  =+    (Prelude.foldr sem_Optionals_Cons sem_Optionals_Nil (Prelude.map sem_Optional list) )+-- semantic domain+type T_Optionals  = SymbolTables ->+                    ( Optionals )+sem_Optionals_Cons :: T_Optional  ->+                      T_Optionals  ->+                      T_Optionals +sem_Optionals_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 4959 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 4966 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 4973 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 4978 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_Optionals_Nil :: T_Optionals +sem_Optionals_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 4987 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 4992 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- ParamNames --------------------------------------------------+-- cata+sem_ParamNames :: ParamNames  ->+                  T_ParamNames +sem_ParamNames list  =+    (Prelude.foldr sem_ParamNames_Cons sem_ParamNames_Nil list )+-- semantic domain+type T_ParamNames  = SymbolTables ->+                     ( ParamNames )+sem_ParamNames_Cons :: Word32 ->+                       T_ParamNames  ->+                       T_ParamNames +sem_ParamNames_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5012 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       (:) hd_ _tlIoutput+                       {-# LINE 5019 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 5024 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_ParamNames_Nil :: T_ParamNames +sem_ParamNames_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 5033 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 5038 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- ParamTypes --------------------------------------------------+-- cata+sem_ParamTypes :: ParamTypes  ->+                  T_ParamTypes +sem_ParamTypes list  =+    (Prelude.foldr sem_ParamTypes_Cons sem_ParamTypes_Nil list )+-- semantic domain+type T_ParamTypes  = SymbolTables ->+                     ( ParamTypes )+sem_ParamTypes_Cons :: Word32 ->+                       T_ParamTypes  ->+                       T_ParamTypes +sem_ParamTypes_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5058 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       (:) hd_ _tlIoutput+                       {-# LINE 5065 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 5070 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_ParamTypes_Nil :: T_ParamTypes +sem_ParamTypes_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 5079 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 5084 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- PoolDoubles -------------------------------------------------+-- cata+sem_PoolDoubles :: PoolDoubles  ->+                   T_PoolDoubles +sem_PoolDoubles list  =+    (Prelude.foldr sem_PoolDoubles_Cons sem_PoolDoubles_Nil list )+-- semantic domain+type T_PoolDoubles  = SymbolTables ->+                      ( PoolDoubles )+sem_PoolDoubles_Cons :: Double ->+                        T_PoolDoubles  ->+                        T_PoolDoubles +sem_PoolDoubles_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5104 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       (:) hd_ _tlIoutput+                       {-# LINE 5111 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 5116 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_PoolDoubles_Nil :: T_PoolDoubles +sem_PoolDoubles_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 5125 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 5130 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- PoolInfo ----------------------------------------------------+-- cata+sem_PoolInfo :: PoolInfo  ->+                T_PoolInfo +sem_PoolInfo (PoolInfo_Info _integers _uintegers _doubles _strings _namespaces _namesets _multinames )  =+    (sem_PoolInfo_Info (sem_PoolInts _integers ) (sem_PoolUInts _uintegers ) (sem_PoolDoubles _doubles ) (sem_PoolStrings _strings ) (sem_NamespaceInfos _namespaces ) (sem_SetInfos _namesets ) (sem_MultinameInfos _multinames ) )+-- semantic domain+type T_PoolInfo  = SymbolTables ->+                   ( PoolInfo )+sem_PoolInfo_Info :: T_PoolInts  ->+                     T_PoolUInts  ->+                     T_PoolDoubles  ->+                     T_PoolStrings  ->+                     T_NamespaceInfos  ->+                     T_SetInfos  ->+                     T_MultinameInfos  ->+                     T_PoolInfo +sem_PoolInfo_Info integers_ uintegers_ doubles_ strings_ namespaces_ namesets_ multinames_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5155 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _multinamesOtbls | _multinamesOtbls `seq` (True) ->+          (case (multinames_ _multinamesOtbls ) of+           { ( _multinamesIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 5162 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _namesetsOtbls | _namesetsOtbls `seq` (True) ->+                (case (namesets_ _namesetsOtbls ) of+                 { ( _namesetsIoutput) | True ->+                     (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                             _lhsItbls+                             {-# LINE 5169 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _namespacesOtbls | _namespacesOtbls `seq` (True) ->+                      (case (namespaces_ _namespacesOtbls ) of+                       { ( _namespacesIoutput) | True ->+                           (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                                   _lhsItbls+                                   {-# LINE 5176 "src/TrfInjectRefl.hs" #-}+                                   )) of+                            { _stringsOtbls | _stringsOtbls `seq` (True) ->+                            (case (strings_ _stringsOtbls ) of+                             { ( _stringsIoutput) | True ->+                                 (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                                         _lhsItbls+                                         {-# LINE 5183 "src/TrfInjectRefl.hs" #-}+                                         )) of+                                  { _doublesOtbls | _doublesOtbls `seq` (True) ->+                                  (case (doubles_ _doublesOtbls ) of+                                   { ( _doublesIoutput) | True ->+                                       (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                                               _lhsItbls+                                               {-# LINE 5190 "src/TrfInjectRefl.hs" #-}+                                               )) of+                                        { _uintegersOtbls | _uintegersOtbls `seq` (True) ->+                                        (case (uintegers_ _uintegersOtbls ) of+                                         { ( _uintegersIoutput) | True ->+                                             (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                                                     _lhsItbls+                                                     {-# LINE 5197 "src/TrfInjectRefl.hs" #-}+                                                     )) of+                                              { _integersOtbls | _integersOtbls `seq` (True) ->+                                              (case (integers_ _integersOtbls ) of+                                               { ( _integersIoutput) | True ->+                                                   (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                                                           PoolInfo_Info _integersIoutput _uintegersIoutput _doublesIoutput _stringsIoutput _namespacesIoutput _namesetsIoutput _multinamesIoutput+                                                           {-# LINE 5204 "src/TrfInjectRefl.hs" #-}+                                                           )) of+                                                    { _output | _output `seq` (True) ->+                                                    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                                                            _output+                                                            {-# LINE 5209 "src/TrfInjectRefl.hs" #-}+                                                            )) of+                                                     { _lhsOoutput | _lhsOoutput `seq` (True) ->+                                                     ( _lhsOoutput) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+-- PoolInts ----------------------------------------------------+-- cata+sem_PoolInts :: PoolInts  ->+                T_PoolInts +sem_PoolInts list  =+    (Prelude.foldr sem_PoolInts_Cons sem_PoolInts_Nil list )+-- semantic domain+type T_PoolInts  = SymbolTables ->+                   ( PoolInts )+sem_PoolInts_Cons :: Word32 ->+                     T_PoolInts  ->+                     T_PoolInts +sem_PoolInts_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5229 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       (:) hd_ _tlIoutput+                       {-# LINE 5236 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 5241 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_PoolInts_Nil :: T_PoolInts +sem_PoolInts_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 5250 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 5255 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- PoolStrings -------------------------------------------------+-- cata+sem_PoolStrings :: PoolStrings  ->+                   T_PoolStrings +sem_PoolStrings list  =+    (Prelude.foldr sem_PoolStrings_Cons sem_PoolStrings_Nil list )+-- semantic domain+type T_PoolStrings  = SymbolTables ->+                      ( PoolStrings )+sem_PoolStrings_Cons :: ByteString ->+                        T_PoolStrings  ->+                        T_PoolStrings +sem_PoolStrings_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5275 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       (:) hd_ _tlIoutput+                       {-# LINE 5282 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 5287 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_PoolStrings_Nil :: T_PoolStrings +sem_PoolStrings_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 5296 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 5301 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- PoolUInts ---------------------------------------------------+-- cata+sem_PoolUInts :: PoolUInts  ->+                 T_PoolUInts +sem_PoolUInts list  =+    (Prelude.foldr sem_PoolUInts_Cons sem_PoolUInts_Nil list )+-- semantic domain+type T_PoolUInts  = SymbolTables ->+                    ( PoolUInts )+sem_PoolUInts_Cons :: Word32 ->+                      T_PoolUInts  ->+                      T_PoolUInts +sem_PoolUInts_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5321 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       (:) hd_ _tlIoutput+                       {-# LINE 5328 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 5333 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_PoolUInts_Nil :: T_PoolUInts +sem_PoolUInts_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 5342 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 5347 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- Rect --------------------------------------------------------+-- cata+sem_Rect :: Rect  ->+            T_Rect +sem_Rect (Rect_Rect _bits _xMin _xMax _yMin _yMax )  =+    (sem_Rect_Rect _bits _xMin _xMax _yMin _yMax )+-- semantic domain+type T_Rect  = ( Rect )+sem_Rect_Rect :: Int ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 T_Rect +sem_Rect_Rect bits_ xMin_ xMax_ yMin_ yMax_  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            Rect_Rect bits_ xMin_ xMax_ yMin_ yMax_+            {-# LINE 5368 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5373 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- ScriptInfo --------------------------------------------------+-- cata+sem_ScriptInfo :: ScriptInfo  ->+                  T_ScriptInfo +sem_ScriptInfo (ScriptInfo_Info _method _traits )  =+    (sem_ScriptInfo_Info _method (sem_Traits _traits ) )+-- semantic domain+type T_ScriptInfo  = SymbolTables ->+                     ( ScriptInfo )+sem_ScriptInfo_Info :: Word32 ->+                       T_Traits  ->+                       T_ScriptInfo +sem_ScriptInfo_Info method_ traits_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5393 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _traitsOtbls | _traitsOtbls `seq` (True) ->+          (case (traits_ _traitsOtbls ) of+           { ( _traitsIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       ScriptInfo_Info method_ _traitsIoutput+                       {-# LINE 5400 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 5405 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+-- ScriptInfos -------------------------------------------------+-- cata+sem_ScriptInfos :: ScriptInfos  ->+                   T_ScriptInfos +sem_ScriptInfos list  =+    (Prelude.foldr sem_ScriptInfos_Cons sem_ScriptInfos_Nil (Prelude.map sem_ScriptInfo list) )+-- semantic domain+type T_ScriptInfos  = SymbolTables ->+                      ( ScriptInfos )+sem_ScriptInfos_Cons :: T_ScriptInfo  ->+                        T_ScriptInfos  ->+                        T_ScriptInfos +sem_ScriptInfos_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5425 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 5432 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 5439 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 5444 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_ScriptInfos_Nil :: T_ScriptInfos +sem_ScriptInfos_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 5453 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 5458 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- SetInfo -----------------------------------------------------+-- cata+sem_SetInfo :: SetInfo  ->+               T_SetInfo +sem_SetInfo (SetInfo_Info _names )  =+    (sem_SetInfo_Info (sem_NamespaceNames _names ) )+-- semantic domain+type T_SetInfo  = SymbolTables ->+                  ( SetInfo )+sem_SetInfo_Info :: T_NamespaceNames  ->+                    T_SetInfo +sem_SetInfo_Info names_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5477 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _namesOtbls | _namesOtbls `seq` (True) ->+          (case (names_ _namesOtbls ) of+           { ( _namesIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       SetInfo_Info _namesIoutput+                       {-# LINE 5484 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 5489 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+-- SetInfos ----------------------------------------------------+-- cata+sem_SetInfos :: SetInfos  ->+                T_SetInfos +sem_SetInfos list  =+    (Prelude.foldr sem_SetInfos_Cons sem_SetInfos_Nil (Prelude.map sem_SetInfo list) )+-- semantic domain+type T_SetInfos  = SymbolTables ->+                   ( SetInfos )+sem_SetInfos_Cons :: T_SetInfo  ->+                     T_SetInfos  ->+                     T_SetInfos +sem_SetInfos_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5509 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 5516 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 5523 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 5528 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_SetInfos_Nil :: T_SetInfos +sem_SetInfos_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 5537 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 5542 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- SwfFile -----------------------------------------------------+-- cata+sem_SwfFile :: SwfFile  ->+               T_SwfFile +sem_SwfFile (SwfFile_File _compressed _version _length _size _rate _count _tags )  =+    (sem_SwfFile_File _compressed _version _length (sem_Rect _size ) _rate _count (sem_Tags _tags ) )+-- semantic domain+type T_SwfFile  = ([SymbolTables]) ->+                  ( SwfFile ,([SymbolTables]))+data Inh_SwfFile  = Inh_SwfFile {tbls_Inh_SwfFile :: !(([SymbolTables]))}+data Syn_SwfFile  = Syn_SwfFile {output_Syn_SwfFile :: !(SwfFile ),tbls_Syn_SwfFile :: !(([SymbolTables]))}+wrap_SwfFile :: T_SwfFile  ->+                Inh_SwfFile  ->+                Syn_SwfFile +wrap_SwfFile sem (Inh_SwfFile _lhsItbls )  =+    (let ( _lhsOoutput,_lhsOtbls) | True = sem _lhsItbls +     in  (Syn_SwfFile _lhsOoutput _lhsOtbls ))+sem_SwfFile_File :: Bool ->+                    Word8 ->+                    Word32 ->+                    T_Rect  ->+                    Word16 ->+                    Word16 ->+                    T_Tags  ->+                    T_SwfFile +sem_SwfFile_File compressed_ version_ length_ size_ rate_ count_ tags_  =+    (\ _lhsItbls ->+         (case (({-# LINE 52 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5575 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tagsOtbls | _tagsOtbls `seq` (True) ->+          (case (tags_ _tagsOtbls ) of+           { ( _tagsIoutput,_tagsItbls) | True ->+               (case (size_ ) of+                { ( _sizeIoutput) | True ->+                    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                            SwfFile_File compressed_ version_ length_ _sizeIoutput rate_ count_ _tagsIoutput+                            {-# LINE 5584 "src/TrfInjectRefl.hs" #-}+                            )) of+                     { _output | _output `seq` (True) ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             _output+                             {-# LINE 5589 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      (case (({-# LINE 52 "src/TrfInjectRefl.ag" #-}+                              _tagsItbls+                              {-# LINE 5594 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOtbls | _lhsOtbls `seq` (True) ->+                       ( _lhsOoutput,_lhsOtbls) }) }) }) }) }) }))+-- Tag ---------------------------------------------------------+-- cata+sem_Tag :: Tag  ->+           T_Tag +sem_Tag (Tag_Abc _flags _name _file )  =+    (sem_Tag_Abc (sem_AbcFlags _flags ) _name (sem_AbcFile _file ) )+sem_Tag (Tag_End )  =+    (sem_Tag_End )+sem_Tag (Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )  =+    (sem_Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )+sem_Tag (Tag_Opaque _kind _length _body )  =+    (sem_Tag_Opaque (sem_TagKind _kind ) _length _body )+-- semantic domain+type T_Tag  = ([SymbolTables]) ->+              ( Tag ,([SymbolTables]))+sem_Tag_Abc :: T_AbcFlags  ->+               ByteString ->+               T_AbcFile  ->+               T_Tag +sem_Tag_Abc flags_ name_ file_  =+    (\ _lhsItbls ->+         (case (({-# LINE 52 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 5621 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _fileOtbls | _fileOtbls `seq` (True) ->+          (case (file_ _fileOtbls ) of+           { ( _fileIoutput,_fileItbls) | True ->+               (case (flags_ ) of+                { ( _flagsIoutput) | True ->+                    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                            Tag_Abc _flagsIoutput name_ _fileIoutput+                            {-# LINE 5630 "src/TrfInjectRefl.hs" #-}+                            )) of+                     { _output | _output `seq` (True) ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             _output+                             {-# LINE 5635 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _lhsOoutput | _lhsOoutput `seq` (True) ->+                      (case (({-# LINE 52 "src/TrfInjectRefl.ag" #-}+                              _fileItbls+                              {-# LINE 5640 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOtbls | _lhsOtbls `seq` (True) ->+                       ( _lhsOoutput,_lhsOtbls) }) }) }) }) }) }))+sem_Tag_End :: T_Tag +sem_Tag_End  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Tag_End+                 {-# LINE 5649 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 5654 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           (case (({-# LINE 52 "src/TrfInjectRefl.ag" #-}+                   _lhsItbls+                   {-# LINE 5659 "src/TrfInjectRefl.hs" #-}+                   )) of+            { _lhsOtbls | _lhsOtbls `seq` (True) ->+            ( _lhsOoutput,_lhsOtbls) }) }) }))+sem_Tag_FileAttributes :: Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          T_Tag +sem_Tag_FileAttributes useDirectBlit_ useGPU_ hasMetaData_ hasAS3_ useNetwork_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 Tag_FileAttributes useDirectBlit_ useGPU_ hasMetaData_ hasAS3_ useNetwork_+                 {-# LINE 5673 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 5678 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           (case (({-# LINE 52 "src/TrfInjectRefl.ag" #-}+                   _lhsItbls+                   {-# LINE 5683 "src/TrfInjectRefl.hs" #-}+                   )) of+            { _lhsOtbls | _lhsOtbls `seq` (True) ->+            ( _lhsOoutput,_lhsOtbls) }) }) }))+sem_Tag_Opaque :: T_TagKind  ->+                  Word32 ->+                  ByteString ->+                  T_Tag +sem_Tag_Opaque kind_ length_ body_  =+    (\ _lhsItbls ->+         (case (kind_ ) of+          { ( _kindIoutput) | True ->+              (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                      Tag_Opaque _kindIoutput length_ body_+                      {-# LINE 5697 "src/TrfInjectRefl.hs" #-}+                      )) of+               { _output | _output `seq` (True) ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       _output+                       {-# LINE 5702 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _lhsOoutput | _lhsOoutput `seq` (True) ->+                (case (({-# LINE 52 "src/TrfInjectRefl.ag" #-}+                        _lhsItbls+                        {-# LINE 5707 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOtbls | _lhsOtbls `seq` (True) ->+                 ( _lhsOoutput,_lhsOtbls) }) }) }) }))+-- TagKind -----------------------------------------------------+-- cata+sem_TagKind :: TagKind  ->+               T_TagKind +sem_TagKind (TagKind_CSMTextSettings )  =+    (sem_TagKind_CSMTextSettings )+sem_TagKind (TagKind_DefineBinaryData )  =+    (sem_TagKind_DefineBinaryData )+sem_TagKind (TagKind_DefineBits )  =+    (sem_TagKind_DefineBits )+sem_TagKind (TagKind_DefineBitsJPEG2 )  =+    (sem_TagKind_DefineBitsJPEG2 )+sem_TagKind (TagKind_DefineBitsJPEG3 )  =+    (sem_TagKind_DefineBitsJPEG3 )+sem_TagKind (TagKind_DefineBitsJPEG4 )  =+    (sem_TagKind_DefineBitsJPEG4 )+sem_TagKind (TagKind_DefineBitsLossless )  =+    (sem_TagKind_DefineBitsLossless )+sem_TagKind (TagKind_DefineBitsLossless2 )  =+    (sem_TagKind_DefineBitsLossless2 )+sem_TagKind (TagKind_DefineButton )  =+    (sem_TagKind_DefineButton )+sem_TagKind (TagKind_DefineButton2 )  =+    (sem_TagKind_DefineButton2 )+sem_TagKind (TagKind_DefineButtonCxform )  =+    (sem_TagKind_DefineButtonCxform )+sem_TagKind (TagKind_DefineButtonSound )  =+    (sem_TagKind_DefineButtonSound )+sem_TagKind (TagKind_DefineEditText )  =+    (sem_TagKind_DefineEditText )+sem_TagKind (TagKind_DefineFont )  =+    (sem_TagKind_DefineFont )+sem_TagKind (TagKind_DefineFont2 )  =+    (sem_TagKind_DefineFont2 )+sem_TagKind (TagKind_DefineFont3 )  =+    (sem_TagKind_DefineFont3 )+sem_TagKind (TagKind_DefineFont4 )  =+    (sem_TagKind_DefineFont4 )+sem_TagKind (TagKind_DefineFontAlignZones )  =+    (sem_TagKind_DefineFontAlignZones )+sem_TagKind (TagKind_DefineFontInfo )  =+    (sem_TagKind_DefineFontInfo )+sem_TagKind (TagKind_DefineFontInfo2 )  =+    (sem_TagKind_DefineFontInfo2 )+sem_TagKind (TagKind_DefineFontName )  =+    (sem_TagKind_DefineFontName )+sem_TagKind (TagKind_DefineMorphShape )  =+    (sem_TagKind_DefineMorphShape )+sem_TagKind (TagKind_DefineMorphShape2 )  =+    (sem_TagKind_DefineMorphShape2 )+sem_TagKind (TagKind_DefineScalingGrid )  =+    (sem_TagKind_DefineScalingGrid )+sem_TagKind (TagKind_DefineSceneAndFrameLabelData )  =+    (sem_TagKind_DefineSceneAndFrameLabelData )+sem_TagKind (TagKind_DefineShape )  =+    (sem_TagKind_DefineShape )+sem_TagKind (TagKind_DefineShape2 )  =+    (sem_TagKind_DefineShape2 )+sem_TagKind (TagKind_DefineShape3 )  =+    (sem_TagKind_DefineShape3 )+sem_TagKind (TagKind_DefineShape4 )  =+    (sem_TagKind_DefineShape4 )+sem_TagKind (TagKind_DefineSound )  =+    (sem_TagKind_DefineSound )+sem_TagKind (TagKind_DefineSprite )  =+    (sem_TagKind_DefineSprite )+sem_TagKind (TagKind_DefineText )  =+    (sem_TagKind_DefineText )+sem_TagKind (TagKind_DefineText2 )  =+    (sem_TagKind_DefineText2 )+sem_TagKind (TagKind_DefineVideoStream )  =+    (sem_TagKind_DefineVideoStream )+sem_TagKind (TagKind_DoABC )  =+    (sem_TagKind_DoABC )+sem_TagKind (TagKind_DoAction )  =+    (sem_TagKind_DoAction )+sem_TagKind (TagKind_DoInitAction )  =+    (sem_TagKind_DoInitAction )+sem_TagKind (TagKind_EnableDebugger )  =+    (sem_TagKind_EnableDebugger )+sem_TagKind (TagKind_EnableDebugger2 )  =+    (sem_TagKind_EnableDebugger2 )+sem_TagKind (TagKind_End )  =+    (sem_TagKind_End )+sem_TagKind (TagKind_ExportAssets )  =+    (sem_TagKind_ExportAssets )+sem_TagKind (TagKind_FileAttributes )  =+    (sem_TagKind_FileAttributes )+sem_TagKind (TagKind_FrameLabel )  =+    (sem_TagKind_FrameLabel )+sem_TagKind (TagKind_ImportAssets )  =+    (sem_TagKind_ImportAssets )+sem_TagKind (TagKind_ImportAssets2 )  =+    (sem_TagKind_ImportAssets2 )+sem_TagKind (TagKind_JPEGTables )  =+    (sem_TagKind_JPEGTables )+sem_TagKind (TagKind_Metadata )  =+    (sem_TagKind_Metadata )+sem_TagKind (TagKind_Other _code )  =+    (sem_TagKind_Other _code )+sem_TagKind (TagKind_PlaceObject )  =+    (sem_TagKind_PlaceObject )+sem_TagKind (TagKind_PlaceObject2 )  =+    (sem_TagKind_PlaceObject2 )+sem_TagKind (TagKind_PlaceObject3 )  =+    (sem_TagKind_PlaceObject3 )+sem_TagKind (TagKind_Protect )  =+    (sem_TagKind_Protect )+sem_TagKind (TagKind_RemoveObject )  =+    (sem_TagKind_RemoveObject )+sem_TagKind (TagKind_RemoveObject2 )  =+    (sem_TagKind_RemoveObject2 )+sem_TagKind (TagKind_ScriptLimits )  =+    (sem_TagKind_ScriptLimits )+sem_TagKind (TagKind_SetBackgroundColor )  =+    (sem_TagKind_SetBackgroundColor )+sem_TagKind (TagKind_SetTabIndex )  =+    (sem_TagKind_SetTabIndex )+sem_TagKind (TagKind_ShowFrame )  =+    (sem_TagKind_ShowFrame )+sem_TagKind (TagKind_SoundStreamBlock )  =+    (sem_TagKind_SoundStreamBlock )+sem_TagKind (TagKind_SoundStreamHead )  =+    (sem_TagKind_SoundStreamHead )+sem_TagKind (TagKind_SoundStreamHead2 )  =+    (sem_TagKind_SoundStreamHead2 )+sem_TagKind (TagKind_StartSound )  =+    (sem_TagKind_StartSound )+sem_TagKind (TagKind_StartSound2 )  =+    (sem_TagKind_StartSound2 )+sem_TagKind (TagKind_SymbolClass )  =+    (sem_TagKind_SymbolClass )+sem_TagKind (TagKind_VideoFrame )  =+    (sem_TagKind_VideoFrame )+-- semantic domain+type T_TagKind  = ( TagKind )+sem_TagKind_CSMTextSettings :: T_TagKind +sem_TagKind_CSMTextSettings  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_CSMTextSettings+            {-# LINE 5851 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5856 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBinaryData :: T_TagKind +sem_TagKind_DefineBinaryData  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineBinaryData+            {-# LINE 5864 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5869 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBits :: T_TagKind +sem_TagKind_DefineBits  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineBits+            {-# LINE 5877 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5882 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBitsJPEG2 :: T_TagKind +sem_TagKind_DefineBitsJPEG2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineBitsJPEG2+            {-# LINE 5890 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5895 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBitsJPEG3 :: T_TagKind +sem_TagKind_DefineBitsJPEG3  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineBitsJPEG3+            {-# LINE 5903 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5908 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBitsJPEG4 :: T_TagKind +sem_TagKind_DefineBitsJPEG4  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineBitsJPEG4+            {-# LINE 5916 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5921 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBitsLossless :: T_TagKind +sem_TagKind_DefineBitsLossless  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineBitsLossless+            {-# LINE 5929 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5934 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineBitsLossless2 :: T_TagKind +sem_TagKind_DefineBitsLossless2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineBitsLossless2+            {-# LINE 5942 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5947 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineButton :: T_TagKind +sem_TagKind_DefineButton  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineButton+            {-# LINE 5955 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5960 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineButton2 :: T_TagKind +sem_TagKind_DefineButton2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineButton2+            {-# LINE 5968 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5973 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineButtonCxform :: T_TagKind +sem_TagKind_DefineButtonCxform  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineButtonCxform+            {-# LINE 5981 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5986 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineButtonSound :: T_TagKind +sem_TagKind_DefineButtonSound  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineButtonSound+            {-# LINE 5994 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 5999 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineEditText :: T_TagKind +sem_TagKind_DefineEditText  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineEditText+            {-# LINE 6007 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6012 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFont :: T_TagKind +sem_TagKind_DefineFont  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineFont+            {-# LINE 6020 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6025 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFont2 :: T_TagKind +sem_TagKind_DefineFont2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineFont2+            {-# LINE 6033 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6038 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFont3 :: T_TagKind +sem_TagKind_DefineFont3  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineFont3+            {-# LINE 6046 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6051 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFont4 :: T_TagKind +sem_TagKind_DefineFont4  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineFont4+            {-# LINE 6059 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6064 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFontAlignZones :: T_TagKind +sem_TagKind_DefineFontAlignZones  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineFontAlignZones+            {-# LINE 6072 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6077 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFontInfo :: T_TagKind +sem_TagKind_DefineFontInfo  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineFontInfo+            {-# LINE 6085 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6090 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFontInfo2 :: T_TagKind +sem_TagKind_DefineFontInfo2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineFontInfo2+            {-# LINE 6098 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6103 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineFontName :: T_TagKind +sem_TagKind_DefineFontName  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineFontName+            {-# LINE 6111 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6116 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineMorphShape :: T_TagKind +sem_TagKind_DefineMorphShape  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineMorphShape+            {-# LINE 6124 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6129 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineMorphShape2 :: T_TagKind +sem_TagKind_DefineMorphShape2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineMorphShape2+            {-# LINE 6137 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6142 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineScalingGrid :: T_TagKind +sem_TagKind_DefineScalingGrid  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineScalingGrid+            {-# LINE 6150 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6155 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineSceneAndFrameLabelData :: T_TagKind +sem_TagKind_DefineSceneAndFrameLabelData  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineSceneAndFrameLabelData+            {-# LINE 6163 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6168 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineShape :: T_TagKind +sem_TagKind_DefineShape  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineShape+            {-# LINE 6176 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6181 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineShape2 :: T_TagKind +sem_TagKind_DefineShape2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineShape2+            {-# LINE 6189 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6194 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineShape3 :: T_TagKind +sem_TagKind_DefineShape3  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineShape3+            {-# LINE 6202 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6207 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineShape4 :: T_TagKind +sem_TagKind_DefineShape4  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineShape4+            {-# LINE 6215 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6220 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineSound :: T_TagKind +sem_TagKind_DefineSound  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineSound+            {-# LINE 6228 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6233 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineSprite :: T_TagKind +sem_TagKind_DefineSprite  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineSprite+            {-# LINE 6241 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6246 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineText :: T_TagKind +sem_TagKind_DefineText  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineText+            {-# LINE 6254 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6259 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineText2 :: T_TagKind +sem_TagKind_DefineText2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineText2+            {-# LINE 6267 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6272 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DefineVideoStream :: T_TagKind +sem_TagKind_DefineVideoStream  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DefineVideoStream+            {-# LINE 6280 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6285 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DoABC :: T_TagKind +sem_TagKind_DoABC  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DoABC+            {-# LINE 6293 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6298 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DoAction :: T_TagKind +sem_TagKind_DoAction  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DoAction+            {-# LINE 6306 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6311 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_DoInitAction :: T_TagKind +sem_TagKind_DoInitAction  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_DoInitAction+            {-# LINE 6319 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6324 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_EnableDebugger :: T_TagKind +sem_TagKind_EnableDebugger  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_EnableDebugger+            {-# LINE 6332 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6337 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_EnableDebugger2 :: T_TagKind +sem_TagKind_EnableDebugger2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_EnableDebugger2+            {-# LINE 6345 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6350 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_End :: T_TagKind +sem_TagKind_End  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_End+            {-# LINE 6358 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6363 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_ExportAssets :: T_TagKind +sem_TagKind_ExportAssets  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_ExportAssets+            {-# LINE 6371 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6376 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_FileAttributes :: T_TagKind +sem_TagKind_FileAttributes  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_FileAttributes+            {-# LINE 6384 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6389 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_FrameLabel :: T_TagKind +sem_TagKind_FrameLabel  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_FrameLabel+            {-# LINE 6397 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6402 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_ImportAssets :: T_TagKind +sem_TagKind_ImportAssets  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_ImportAssets+            {-# LINE 6410 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6415 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_ImportAssets2 :: T_TagKind +sem_TagKind_ImportAssets2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_ImportAssets2+            {-# LINE 6423 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6428 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_JPEGTables :: T_TagKind +sem_TagKind_JPEGTables  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_JPEGTables+            {-# LINE 6436 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6441 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_Metadata :: T_TagKind +sem_TagKind_Metadata  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_Metadata+            {-# LINE 6449 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6454 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_Other :: Word16 ->+                     T_TagKind +sem_TagKind_Other code_  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_Other code_+            {-# LINE 6463 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6468 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_PlaceObject :: T_TagKind +sem_TagKind_PlaceObject  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_PlaceObject+            {-# LINE 6476 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6481 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_PlaceObject2 :: T_TagKind +sem_TagKind_PlaceObject2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_PlaceObject2+            {-# LINE 6489 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6494 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_PlaceObject3 :: T_TagKind +sem_TagKind_PlaceObject3  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_PlaceObject3+            {-# LINE 6502 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6507 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_Protect :: T_TagKind +sem_TagKind_Protect  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_Protect+            {-# LINE 6515 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6520 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_RemoveObject :: T_TagKind +sem_TagKind_RemoveObject  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_RemoveObject+            {-# LINE 6528 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6533 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_RemoveObject2 :: T_TagKind +sem_TagKind_RemoveObject2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_RemoveObject2+            {-# LINE 6541 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6546 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_ScriptLimits :: T_TagKind +sem_TagKind_ScriptLimits  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_ScriptLimits+            {-# LINE 6554 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6559 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_SetBackgroundColor :: T_TagKind +sem_TagKind_SetBackgroundColor  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_SetBackgroundColor+            {-# LINE 6567 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6572 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_SetTabIndex :: T_TagKind +sem_TagKind_SetTabIndex  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_SetTabIndex+            {-# LINE 6580 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6585 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_ShowFrame :: T_TagKind +sem_TagKind_ShowFrame  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_ShowFrame+            {-# LINE 6593 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6598 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_SoundStreamBlock :: T_TagKind +sem_TagKind_SoundStreamBlock  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_SoundStreamBlock+            {-# LINE 6606 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6611 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_SoundStreamHead :: T_TagKind +sem_TagKind_SoundStreamHead  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_SoundStreamHead+            {-# LINE 6619 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6624 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_SoundStreamHead2 :: T_TagKind +sem_TagKind_SoundStreamHead2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_SoundStreamHead2+            {-# LINE 6632 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6637 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_StartSound :: T_TagKind +sem_TagKind_StartSound  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_StartSound+            {-# LINE 6645 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6650 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_StartSound2 :: T_TagKind +sem_TagKind_StartSound2  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_StartSound2+            {-# LINE 6658 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6663 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_SymbolClass :: T_TagKind +sem_TagKind_SymbolClass  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_SymbolClass+            {-# LINE 6671 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6676 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+sem_TagKind_VideoFrame :: T_TagKind +sem_TagKind_VideoFrame  =+    (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+            TagKind_VideoFrame+            {-# LINE 6684 "src/TrfInjectRefl.hs" #-}+            )) of+     { _output | _output `seq` (True) ->+     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+             _output+             {-# LINE 6689 "src/TrfInjectRefl.hs" #-}+             )) of+      { _lhsOoutput | _lhsOoutput `seq` (True) ->+      ( _lhsOoutput) }) })+-- Tags --------------------------------------------------------+-- cata+sem_Tags :: Tags  ->+            T_Tags +sem_Tags list  =+    (Prelude.foldr sem_Tags_Cons sem_Tags_Nil (Prelude.map sem_Tag list) )+-- semantic domain+type T_Tags  = ([SymbolTables]) ->+               ( Tags ,([SymbolTables]))+sem_Tags_Cons :: T_Tag  ->+                 T_Tags  ->+                 T_Tags +sem_Tags_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 52 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 6709 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _hdOtbls | _hdOtbls `seq` (True) ->+          (case (hd_ _hdOtbls ) of+           { ( _hdIoutput,_hdItbls) | True ->+               (case (({-# LINE 52 "src/TrfInjectRefl.ag" #-}+                       _hdItbls+                       {-# LINE 6716 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _tlOtbls | _tlOtbls `seq` (True) ->+                (case (tl_ _tlOtbls ) of+                 { ( _tlIoutput,_tlItbls) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 6723 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 6728 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       (case (({-# LINE 52 "src/TrfInjectRefl.ag" #-}+                               _tlItbls+                               {-# LINE 6733 "src/TrfInjectRefl.hs" #-}+                               )) of+                        { _lhsOtbls | _lhsOtbls `seq` (True) ->+                        ( _lhsOoutput,_lhsOtbls) }) }) }) }) }) }) }))+sem_Tags_Nil :: T_Tags +sem_Tags_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 6742 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 6747 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           (case (({-# LINE 52 "src/TrfInjectRefl.ag" #-}+                   _lhsItbls+                   {-# LINE 6752 "src/TrfInjectRefl.hs" #-}+                   )) of+            { _lhsOtbls | _lhsOtbls `seq` (True) ->+            ( _lhsOoutput,_lhsOtbls) }) }) }))+-- Trait -------------------------------------------------------+-- cata+sem_Trait :: Trait  ->+             T_Trait +sem_Trait (Trait_Trait _name _data _attrs _meta )  =+    (sem_Trait_Trait _name (sem_TraitData _data ) (sem_TraitAttrs _attrs ) (sem_TraitMeta _meta ) )+-- semantic domain+type T_Trait  = SymbolTables ->+                ( Trait )+sem_Trait_Trait :: Word32 ->+                   T_TraitData  ->+                   T_TraitAttrs  ->+                   T_TraitMeta  ->+                   T_Trait +sem_Trait_Trait name_ data_ attrs_ meta_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 6774 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _metaOtbls | _metaOtbls `seq` (True) ->+          (case (meta_ _metaOtbls ) of+           { ( _metaIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 6781 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _attrsOtbls | _attrsOtbls `seq` (True) ->+                (case (attrs_ _attrsOtbls ) of+                 { ( _attrsIoutput) | True ->+                     (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                             _lhsItbls+                             {-# LINE 6788 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _dataOtbls | _dataOtbls `seq` (True) ->+                      (case (data_ _dataOtbls ) of+                       { ( _dataIoutput) | True ->+                           (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                                   Trait_Trait name_ _dataIoutput _attrsIoutput _metaIoutput+                                   {-# LINE 6795 "src/TrfInjectRefl.hs" #-}+                                   )) of+                            { _output | _output `seq` (True) ->+                            (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                                    _output+                                    {-# LINE 6800 "src/TrfInjectRefl.hs" #-}+                                    )) of+                             { _lhsOoutput | _lhsOoutput `seq` (True) ->+                             ( _lhsOoutput) }) }) }) }) }) }) }) }))+-- TraitAttr ---------------------------------------------------+-- cata+sem_TraitAttr :: TraitAttr  ->+                 T_TraitAttr +sem_TraitAttr (TraitAttr_Final )  =+    (sem_TraitAttr_Final )+sem_TraitAttr (TraitAttr_Metadata )  =+    (sem_TraitAttr_Metadata )+sem_TraitAttr (TraitAttr_Override )  =+    (sem_TraitAttr_Override )+-- semantic domain+type T_TraitAttr  = SymbolTables ->+                    ( TraitAttr )+sem_TraitAttr_Final :: T_TraitAttr +sem_TraitAttr_Final  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitAttr_Final+                 {-# LINE 6822 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 6827 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitAttr_Metadata :: T_TraitAttr +sem_TraitAttr_Metadata  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitAttr_Metadata+                 {-# LINE 6836 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 6841 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitAttr_Override :: T_TraitAttr +sem_TraitAttr_Override  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitAttr_Override+                 {-# LINE 6850 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 6855 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- TraitAttrs --------------------------------------------------+-- cata+sem_TraitAttrs :: TraitAttrs  ->+                  T_TraitAttrs +sem_TraitAttrs list  =+    (Prelude.foldr sem_TraitAttrs_Cons sem_TraitAttrs_Nil (Prelude.map sem_TraitAttr list) )+-- semantic domain+type T_TraitAttrs  = SymbolTables ->+                     ( TraitAttrs )+sem_TraitAttrs_Cons :: T_TraitAttr  ->+                       T_TraitAttrs  ->+                       T_TraitAttrs +sem_TraitAttrs_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 6875 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 6882 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 6889 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 6894 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_TraitAttrs_Nil :: T_TraitAttrs +sem_TraitAttrs_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 6903 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 6908 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- TraitData ---------------------------------------------------+-- cata+sem_TraitData :: TraitData  ->+                 T_TraitData +sem_TraitData (TraitData_Class _slotId _class )  =+    (sem_TraitData_Class _slotId _class )+sem_TraitData (TraitData_Const _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Const _slotId _tp _vindex (sem_ValueKind _vkind ) )+sem_TraitData (TraitData_Function _dispId _method )  =+    (sem_TraitData_Function _dispId _method )+sem_TraitData (TraitData_Getter _dispId _method )  =+    (sem_TraitData_Getter _dispId _method )+sem_TraitData (TraitData_Method _dispId _method )  =+    (sem_TraitData_Method _dispId _method )+sem_TraitData (TraitData_Setter _dispId _method )  =+    (sem_TraitData_Setter _dispId _method )+sem_TraitData (TraitData_Slot _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Slot _slotId _tp _vindex (sem_ValueKind _vkind ) )+-- semantic domain+type T_TraitData  = SymbolTables ->+                    ( TraitData )+sem_TraitData_Class :: Word32 ->+                       Word32 ->+                       T_TraitData +sem_TraitData_Class slotId_ class_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitData_Class slotId_ class_+                 {-# LINE 6940 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 6945 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitData_Const :: Word32 ->+                       Word32 ->+                       Word32 ->+                       T_ValueKind  ->+                       T_TraitData +sem_TraitData_Const slotId_ tp_ vindex_ vkind_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 6958 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _vkindOtbls | _vkindOtbls `seq` (True) ->+          (case (vkind_ _vkindOtbls ) of+           { ( _vkindIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       TraitData_Const slotId_ tp_ vindex_ _vkindIoutput+                       {-# LINE 6965 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 6970 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_TraitData_Function :: Word32 ->+                          Word32 ->+                          T_TraitData +sem_TraitData_Function dispId_ method_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitData_Function dispId_ method_+                 {-# LINE 6981 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 6986 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitData_Getter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Getter dispId_ method_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitData_Getter dispId_ method_+                 {-# LINE 6997 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7002 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitData_Method :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Method dispId_ method_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitData_Method dispId_ method_+                 {-# LINE 7013 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7018 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitData_Setter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Setter dispId_ method_  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitData_Setter dispId_ method_+                 {-# LINE 7029 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7034 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitData_Slot :: Word32 ->+                      Word32 ->+                      Word32 ->+                      T_ValueKind  ->+                      T_TraitData +sem_TraitData_Slot slotId_ tp_ vindex_ vkind_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 7047 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _vkindOtbls | _vkindOtbls `seq` (True) ->+          (case (vkind_ _vkindOtbls ) of+           { ( _vkindIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       TraitData_Slot slotId_ tp_ vindex_ _vkindIoutput+                       {-# LINE 7054 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 7059 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+-- TraitKind ---------------------------------------------------+-- cata+sem_TraitKind :: TraitKind  ->+                 T_TraitKind +sem_TraitKind (TraitKind_Class )  =+    (sem_TraitKind_Class )+sem_TraitKind (TraitKind_Const )  =+    (sem_TraitKind_Const )+sem_TraitKind (TraitKind_Function )  =+    (sem_TraitKind_Function )+sem_TraitKind (TraitKind_Getter )  =+    (sem_TraitKind_Getter )+sem_TraitKind (TraitKind_Method )  =+    (sem_TraitKind_Method )+sem_TraitKind (TraitKind_Setter )  =+    (sem_TraitKind_Setter )+sem_TraitKind (TraitKind_Slot )  =+    (sem_TraitKind_Slot )+-- semantic domain+type T_TraitKind  = SymbolTables ->+                    ( TraitKind )+sem_TraitKind_Class :: T_TraitKind +sem_TraitKind_Class  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitKind_Class+                 {-# LINE 7089 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7094 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitKind_Const :: T_TraitKind +sem_TraitKind_Const  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitKind_Const+                 {-# LINE 7103 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7108 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitKind_Function :: T_TraitKind +sem_TraitKind_Function  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitKind_Function+                 {-# LINE 7117 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7122 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitKind_Getter :: T_TraitKind +sem_TraitKind_Getter  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitKind_Getter+                 {-# LINE 7131 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7136 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitKind_Method :: T_TraitKind +sem_TraitKind_Method  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitKind_Method+                 {-# LINE 7145 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7150 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitKind_Setter :: T_TraitKind +sem_TraitKind_Setter  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitKind_Setter+                 {-# LINE 7159 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7164 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_TraitKind_Slot :: T_TraitKind +sem_TraitKind_Slot  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 TraitKind_Slot+                 {-# LINE 7173 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7178 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- TraitMeta ---------------------------------------------------+-- cata+sem_TraitMeta :: TraitMeta  ->+                 T_TraitMeta +sem_TraitMeta list  =+    (Prelude.foldr sem_TraitMeta_Cons sem_TraitMeta_Nil list )+-- semantic domain+type T_TraitMeta  = SymbolTables ->+                    ( TraitMeta )+sem_TraitMeta_Cons :: Word32 ->+                      T_TraitMeta  ->+                      T_TraitMeta +sem_TraitMeta_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 7198 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                       (:) hd_ _tlIoutput+                       {-# LINE 7205 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _output | _output `seq` (True) ->+                (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                        _output+                        {-# LINE 7210 "src/TrfInjectRefl.hs" #-}+                        )) of+                 { _lhsOoutput | _lhsOoutput `seq` (True) ->+                 ( _lhsOoutput) }) }) }) }))+sem_TraitMeta_Nil :: T_TraitMeta +sem_TraitMeta_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 7219 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7224 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- Traits ------------------------------------------------------+-- cata+sem_Traits :: Traits  ->+              T_Traits +sem_Traits list  =+    (Prelude.foldr sem_Traits_Cons sem_Traits_Nil (Prelude.map sem_Trait list) )+-- semantic domain+type T_Traits  = SymbolTables ->+                 ( Traits )+sem_Traits_Cons :: T_Trait  ->+                   T_Traits  ->+                   T_Traits +sem_Traits_Cons hd_ tl_  =+    (\ _lhsItbls ->+         (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                 _lhsItbls+                 {-# LINE 7244 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _tlOtbls | _tlOtbls `seq` (True) ->+          (case (tl_ _tlOtbls ) of+           { ( _tlIoutput) | True ->+               (case (({-# LINE 53 "src/TrfInjectRefl.ag" #-}+                       _lhsItbls+                       {-# LINE 7251 "src/TrfInjectRefl.hs" #-}+                       )) of+                { _hdOtbls | _hdOtbls `seq` (True) ->+                (case (hd_ _hdOtbls ) of+                 { ( _hdIoutput) | True ->+                     (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                             (:) _hdIoutput _tlIoutput+                             {-# LINE 7258 "src/TrfInjectRefl.hs" #-}+                             )) of+                      { _output | _output `seq` (True) ->+                      (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                              _output+                              {-# LINE 7263 "src/TrfInjectRefl.hs" #-}+                              )) of+                       { _lhsOoutput | _lhsOoutput `seq` (True) ->+                       ( _lhsOoutput) }) }) }) }) }) }))+sem_Traits_Nil :: T_Traits +sem_Traits_Nil  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 []+                 {-# LINE 7272 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7277 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+-- ValueKind ---------------------------------------------------+-- cata+sem_ValueKind :: ValueKind  ->+                 T_ValueKind +sem_ValueKind (ValueKind_Double )  =+    (sem_ValueKind_Double )+sem_ValueKind (ValueKind_Explicit )  =+    (sem_ValueKind_Explicit )+sem_ValueKind (ValueKind_False )  =+    (sem_ValueKind_False )+sem_ValueKind (ValueKind_Int )  =+    (sem_ValueKind_Int )+sem_ValueKind (ValueKind_Internal )  =+    (sem_ValueKind_Internal )+sem_ValueKind (ValueKind_Namespace )  =+    (sem_ValueKind_Namespace )+sem_ValueKind (ValueKind_Null )  =+    (sem_ValueKind_Null )+sem_ValueKind (ValueKind_Package )  =+    (sem_ValueKind_Package )+sem_ValueKind (ValueKind_Private )  =+    (sem_ValueKind_Private )+sem_ValueKind (ValueKind_Protected )  =+    (sem_ValueKind_Protected )+sem_ValueKind (ValueKind_Static )  =+    (sem_ValueKind_Static )+sem_ValueKind (ValueKind_True )  =+    (sem_ValueKind_True )+sem_ValueKind (ValueKind_UInt )  =+    (sem_ValueKind_UInt )+sem_ValueKind (ValueKind_Undefined )  =+    (sem_ValueKind_Undefined )+sem_ValueKind (ValueKind_Utf8 )  =+    (sem_ValueKind_Utf8 )+-- semantic domain+type T_ValueKind  = SymbolTables ->+                    ( ValueKind )+sem_ValueKind_Double :: T_ValueKind +sem_ValueKind_Double  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_Double+                 {-# LINE 7323 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7328 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_Explicit :: T_ValueKind +sem_ValueKind_Explicit  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_Explicit+                 {-# LINE 7337 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7342 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_False :: T_ValueKind +sem_ValueKind_False  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_False+                 {-# LINE 7351 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7356 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_Int :: T_ValueKind +sem_ValueKind_Int  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_Int+                 {-# LINE 7365 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7370 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_Internal :: T_ValueKind +sem_ValueKind_Internal  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_Internal+                 {-# LINE 7379 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7384 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_Namespace :: T_ValueKind +sem_ValueKind_Namespace  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_Namespace+                 {-# LINE 7393 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7398 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_Null :: T_ValueKind +sem_ValueKind_Null  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_Null+                 {-# LINE 7407 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7412 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_Package :: T_ValueKind +sem_ValueKind_Package  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_Package+                 {-# LINE 7421 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7426 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_Private :: T_ValueKind +sem_ValueKind_Private  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_Private+                 {-# LINE 7435 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7440 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_Protected :: T_ValueKind +sem_ValueKind_Protected  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_Protected+                 {-# LINE 7449 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7454 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_Static :: T_ValueKind +sem_ValueKind_Static  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_Static+                 {-# LINE 7463 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7468 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_True :: T_ValueKind +sem_ValueKind_True  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_True+                 {-# LINE 7477 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7482 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_UInt :: T_ValueKind +sem_ValueKind_UInt  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_UInt+                 {-# LINE 7491 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7496 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_Undefined :: T_ValueKind +sem_ValueKind_Undefined  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_Undefined+                 {-# LINE 7505 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7510 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))+sem_ValueKind_Utf8 :: T_ValueKind +sem_ValueKind_Utf8  =+    (\ _lhsItbls ->+         (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                 ValueKind_Utf8+                 {-# LINE 7519 "src/TrfInjectRefl.hs" #-}+                 )) of+          { _output | _output `seq` (True) ->+          (case (({-# LINE 45 "src/TrfInjectRefl.ag" #-}+                  _output+                  {-# LINE 7524 "src/TrfInjectRefl.hs" #-}+                  )) of+           { _lhsOoutput | _lhsOoutput `seq` (True) ->+           ( _lhsOoutput) }) }))
+ dist/build/TrfToCFG.hs view
@@ -0,0 +1,7862 @@+++-- UUAGC 0.9.36 (src/TrfToCFG.ag)+module TrfToCFG(cfgsSwf,cfgsAbc) where++{-# LINE 8 "src/TrfToCFG.ag" #-}++import Data.ByteString.Lazy(ByteString,pack)+import ByteCode+import CFG+import Data.Word+import qualified Data.Set as Set+import Data.Set(Set)+import qualified Data.Map as Map+import Data.Map(Map)+import Codec.Binary.UTF8.String+{-# LINE 18 "dist/src/sdist.27680/asil-1.2/dist/build/TrfToCFG.hs" #-}++{-# LINE 24 "src/TrfToCFG.ag" #-}++-- | Obtains CFGs of all programs in a Swf file+cfgsSwf :: SwfFile -> Programs+cfgsSwf file = out where+  inh = Inh_SwfFile { guid_Inh_SwfFile = 1 }+  sem = sem_SwfFile file+  syn = wrap_SwfFile sem inh+  out = programs_Syn_SwfFile syn++-- | Obtains CFGs of a programs (only one) in an Abc file+cfgsAbc :: AbcFile -> Programs+cfgsAbc file = out where+  inh = Inh_AbcFile { guid_Inh_AbcFile = 1 }+  sem = sem_AbcFile file+  syn = wrap_AbcFile sem inh+  out = programs_Syn_AbcFile syn+{-# LINE 37 "dist/src/sdist.27680/asil-1.2/dist/build/TrfToCFG.hs" #-}+-- AbcFile -----------------------------------------------------+-- cata+sem_AbcFile :: AbcFile  ->+               T_AbcFile +sem_AbcFile (AbcFile_File _minorVersion _majorVersion _constantPool _methods _metadatas _instances _classes _scripts _bodies )  =+    (sem_AbcFile_File _minorVersion _majorVersion (sem_PoolInfo _constantPool ) (sem_MethodInfos _methods ) (sem_MetaInfos _metadatas ) (sem_InstanceInfos _instances ) (sem_ClassInfos _classes ) (sem_ScriptInfos _scripts ) (sem_BodyInfos _bodies ) )+-- semantic domain+type T_AbcFile  = Int ->+                  ( Int,Programs)+data Inh_AbcFile  = Inh_AbcFile {guid_Inh_AbcFile :: !(Int)}+data Syn_AbcFile  = Syn_AbcFile {guid_Syn_AbcFile :: !(Int),programs_Syn_AbcFile :: !(Programs)}+wrap_AbcFile :: T_AbcFile  ->+                Inh_AbcFile  ->+                Syn_AbcFile +wrap_AbcFile sem (Inh_AbcFile _lhsIguid )  =+    (let ( _lhsOguid,_lhsOprograms) | True = sem _lhsIguid +     in  (Syn_AbcFile _lhsOguid _lhsOprograms ))+sem_AbcFile_File :: Word16 ->+                    Word16 ->+                    T_PoolInfo  ->+                    T_MethodInfos  ->+                    T_MetaInfos  ->+                    T_InstanceInfos  ->+                    T_ClassInfos  ->+                    T_ScriptInfos  ->+                    T_BodyInfos  ->+                    T_AbcFile +sem_AbcFile_File minorVersion_ majorVersion_ constantPool_ methods_ metadatas_ instances_ classes_ scripts_ bodies_  =+    (\ _lhsIguid ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 69 "src/TrfToCFG.hs" #-}+                 )) of+          { _bodiesOguid | _bodiesOguid `seq` (True) ->+          (case (bodies_ _bodiesOguid ) of+           { ( _bodiesIgraphs,_bodiesIguid) | True ->+               (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                       _bodiesIguid+                       {-# LINE 76 "src/TrfToCFG.hs" #-}+                       )) of+                { _lhsOguid | _lhsOguid `seq` (True) ->+                (case (({-# LINE 48 "src/TrfToCFG.ag" #-}+                        [Program_Program _bodiesIgraphs]+                        {-# LINE 81 "src/TrfToCFG.hs" #-}+                        )) of+                 { _lhsOprograms | _lhsOprograms `seq` (True) ->+                 ( _lhsOguid,_lhsOprograms) }) }) }) }))+-- AbcFlag -----------------------------------------------------+-- cata+sem_AbcFlag :: AbcFlag  ->+               T_AbcFlag +sem_AbcFlag (AbcFlag_LazyInit )  =+    (sem_AbcFlag_LazyInit )+-- semantic domain+type T_AbcFlag  = ( )+sem_AbcFlag_LazyInit :: T_AbcFlag +sem_AbcFlag_LazyInit  =+    ( )+-- AbcFlags ----------------------------------------------------+-- cata+sem_AbcFlags :: AbcFlags  ->+                T_AbcFlags +sem_AbcFlags list  =+    (Prelude.foldr sem_AbcFlags_Cons sem_AbcFlags_Nil (Prelude.map sem_AbcFlag list) )+-- semantic domain+type T_AbcFlags  = ( )+sem_AbcFlags_Cons :: T_AbcFlag  ->+                     T_AbcFlags  ->+                     T_AbcFlags +sem_AbcFlags_Cons hd_ tl_  =+    ( )+sem_AbcFlags_Nil :: T_AbcFlags +sem_AbcFlags_Nil  =+    ( )+-- BodyInfo ----------------------------------------------------+-- cata+sem_BodyInfo :: BodyInfo  ->+                T_BodyInfo +sem_BodyInfo (BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth _instructions _exceptions _traits )  =+    (sem_BodyInfo_Info _method _maxStack _localCount _initScopeDepth _maxScopeDepth (sem_Instructions _instructions ) (sem_Exceptions _exceptions ) (sem_Traits _traits ) )+-- semantic domain+type T_BodyInfo  = Int ->+                   ( CFGs,Int)+sem_BodyInfo_Info :: Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     Word32 ->+                     T_Instructions  ->+                     T_Exceptions  ->+                     T_Traits  ->+                     T_BodyInfo +sem_BodyInfo_Info method_ maxStack_ localCount_ initScopeDepth_ maxScopeDepth_ instructions_ exceptions_ traits_  =+    (\ _lhsIguid ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 134 "src/TrfToCFG.hs" #-}+                 )) of+          { _instructionsOguid | _instructionsOguid `seq` (True) ->+          (case (({-# LINE 2 "src/ByteCodeLocationInfo.ag" #-}+                  0+                  {-# LINE 139 "src/TrfToCFG.hs" #-}+                  )) of+           { _instructionsOlocation | _instructionsOlocation `seq` (True) ->+           (case (instructions_ _instructionsOguid _instructionsOlocation ) of+            { ( _instructionsIguid,_instructionsIlocation,instructions_1) | True ->+                (case (({-# LINE 3 "src/ByteCodeLocationInfo.ag" #-}+                        0+                        {-# LINE 146 "src/TrfToCFG.hs" #-}+                        )) of+                 { _instructionsOrevLocation | _instructionsOrevLocation `seq` (True) ->+                 (case (instructions_1 _instructionsOrevLocation ) of+                  { ( _instructionsIgraphs,_instructionsIrevLocation) | True ->+                      (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                              _instructionsIgraphs+                              {-# LINE 153 "src/TrfToCFG.hs" #-}+                              )) of+                       { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                       (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                               _instructionsIguid+                               {-# LINE 158 "src/TrfToCFG.hs" #-}+                               )) of+                        { _lhsOguid | _lhsOguid `seq` (True) ->+                        ( _lhsOgraphs,_lhsOguid) }) }) }) }) }) }) }))+-- BodyInfos ---------------------------------------------------+-- cata+sem_BodyInfos :: BodyInfos  ->+                 T_BodyInfos +sem_BodyInfos list  =+    (Prelude.foldr sem_BodyInfos_Cons sem_BodyInfos_Nil (Prelude.map sem_BodyInfo list) )+-- semantic domain+type T_BodyInfos  = Int ->+                    ( CFGs,Int)+sem_BodyInfos_Cons :: T_BodyInfo  ->+                      T_BodyInfos  ->+                      T_BodyInfos +sem_BodyInfos_Cons hd_ tl_  =+    (\ _lhsIguid ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 178 "src/TrfToCFG.hs" #-}+                 )) of+          { _hdOguid | _hdOguid `seq` (True) ->+          (case (hd_ _hdOguid ) of+           { ( _hdIgraphs,_hdIguid) | True ->+               (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                       _hdIguid+                       {-# LINE 185 "src/TrfToCFG.hs" #-}+                       )) of+                { _tlOguid | _tlOguid `seq` (True) ->+                (case (tl_ _tlOguid ) of+                 { ( _tlIgraphs,_tlIguid) | True ->+                     (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                             _hdIgraphs ++ _tlIgraphs+                             {-# LINE 192 "src/TrfToCFG.hs" #-}+                             )) of+                      { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                      (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                              _tlIguid+                              {-# LINE 197 "src/TrfToCFG.hs" #-}+                              )) of+                       { _lhsOguid | _lhsOguid `seq` (True) ->+                       ( _lhsOgraphs,_lhsOguid) }) }) }) }) }) }))+sem_BodyInfos_Nil :: T_BodyInfos +sem_BodyInfos_Nil  =+    (\ _lhsIguid ->+         (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                 []+                 {-# LINE 206 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+          (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                  _lhsIguid+                  {-# LINE 211 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOguid | _lhsOguid `seq` (True) ->+           ( _lhsOgraphs,_lhsOguid) }) }))+-- CaseOffsets -------------------------------------------------+-- cata+sem_CaseOffsets :: CaseOffsets  ->+                   T_CaseOffsets +sem_CaseOffsets list  =+    (Prelude.foldr sem_CaseOffsets_Cons sem_CaseOffsets_Nil list )+-- semantic domain+type T_CaseOffsets  = Int ->+                      ( Int,T_CaseOffsets_1 )+type T_CaseOffsets_1  = Int ->+                        ( Int)+sem_CaseOffsets_Cons :: Word32 ->+                        T_CaseOffsets  ->+                        T_CaseOffsets +sem_CaseOffsets_Cons hd_ tl_  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 233 "src/TrfToCFG.hs" #-}+                 )) of+          { _tlOlocation | _tlOlocation `seq` (True) ->+          (case (tl_ _tlOlocation ) of+           { ( _tlIlocation,tl_1) | True ->+               (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                       _tlIlocation+                       {-# LINE 240 "src/TrfToCFG.hs" #-}+                       )) of+                { _lhsOlocation | _lhsOlocation `seq` (True) ->+                (case ((let sem_CaseOffsets_Cons_1 :: T_CaseOffsets_1 +                            sem_CaseOffsets_Cons_1  =+                                (\ _lhsIrevLocation ->+                                     (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                             _lhsIrevLocation+                                             {-# LINE 248 "src/TrfToCFG.hs" #-}+                                             )) of+                                      { _tlOrevLocation | _tlOrevLocation `seq` (True) ->+                                      (case (tl_1 _tlOrevLocation ) of+                                       { ( _tlIrevLocation) | True ->+                                           (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                   _tlIrevLocation+                                                   {-# LINE 255 "src/TrfToCFG.hs" #-}+                                                   )) of+                                            { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                            ( _lhsOrevLocation) }) }) }))+                        in  sem_CaseOffsets_Cons_1)) of+                 { ( sem_CaseOffsets_1) | True ->+                 ( _lhsOlocation,sem_CaseOffsets_1) }) }) }) }))+sem_CaseOffsets_Nil :: T_CaseOffsets +sem_CaseOffsets_Nil  =+    (\ _lhsIlocation ->+         (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                 _lhsIlocation+                 {-# LINE 267 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOlocation | _lhsOlocation `seq` (True) ->+          (case ((let sem_CaseOffsets_Nil_1 :: T_CaseOffsets_1 +                      sem_CaseOffsets_Nil_1  =+                          (\ _lhsIrevLocation ->+                               (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                       _lhsIrevLocation+                                       {-# LINE 275 "src/TrfToCFG.hs" #-}+                                       )) of+                                { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                ( _lhsOrevLocation) }))+                  in  sem_CaseOffsets_Nil_1)) of+           { ( sem_CaseOffsets_1) | True ->+           ( _lhsOlocation,sem_CaseOffsets_1) }) }))+-- ClassInfo ---------------------------------------------------+-- cata+sem_ClassInfo :: ClassInfo  ->+                 T_ClassInfo +sem_ClassInfo (ClassInfo_Info _con _traits )  =+    (sem_ClassInfo_Info _con (sem_Traits _traits ) )+-- semantic domain+type T_ClassInfo  = ( )+sem_ClassInfo_Info :: Word32 ->+                      T_Traits  ->+                      T_ClassInfo +sem_ClassInfo_Info con_ traits_  =+    ( )+-- ClassInfos --------------------------------------------------+-- cata+sem_ClassInfos :: ClassInfos  ->+                  T_ClassInfos +sem_ClassInfos list  =+    (Prelude.foldr sem_ClassInfos_Cons sem_ClassInfos_Nil (Prelude.map sem_ClassInfo list) )+-- semantic domain+type T_ClassInfos  = ( )+sem_ClassInfos_Cons :: T_ClassInfo  ->+                       T_ClassInfos  ->+                       T_ClassInfos +sem_ClassInfos_Cons hd_ tl_  =+    ( )+sem_ClassInfos_Nil :: T_ClassInfos +sem_ClassInfos_Nil  =+    ( )+-- DebugType ---------------------------------------------------+-- cata+sem_DebugType :: DebugType  ->+                 T_DebugType +sem_DebugType (DebugType_Local )  =+    (sem_DebugType_Local )+-- semantic domain+type T_DebugType  = ( )+sem_DebugType_Local :: T_DebugType +sem_DebugType_Local  =+    ( )+-- Exception ---------------------------------------------------+-- cata+sem_Exception :: Exception  ->+                 T_Exception +sem_Exception (Exception_Info _from _to _target _tp _name )  =+    (sem_Exception_Info _from _to _target _tp _name )+-- semantic domain+type T_Exception  = ( )+sem_Exception_Info :: Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      Word32 ->+                      T_Exception +sem_Exception_Info from_ to_ target_ tp_ name_  =+    ( )+-- Exceptions --------------------------------------------------+-- cata+sem_Exceptions :: Exceptions  ->+                  T_Exceptions +sem_Exceptions list  =+    (Prelude.foldr sem_Exceptions_Cons sem_Exceptions_Nil (Prelude.map sem_Exception list) )+-- semantic domain+type T_Exceptions  = ( )+sem_Exceptions_Cons :: T_Exception  ->+                       T_Exceptions  ->+                       T_Exceptions +sem_Exceptions_Cons hd_ tl_  =+    ( )+sem_Exceptions_Nil :: T_Exceptions +sem_Exceptions_Nil  =+    ( )+-- InstanceFlag ------------------------------------------------+-- cata+sem_InstanceFlag :: InstanceFlag  ->+                    T_InstanceFlag +sem_InstanceFlag (InstanceFlag_ClassFinal )  =+    (sem_InstanceFlag_ClassFinal )+sem_InstanceFlag (InstanceFlag_ClassInterface )  =+    (sem_InstanceFlag_ClassInterface )+sem_InstanceFlag (InstanceFlag_ClassProtected )  =+    (sem_InstanceFlag_ClassProtected )+sem_InstanceFlag (InstanceFlag_ClassSealed )  =+    (sem_InstanceFlag_ClassSealed )+-- semantic domain+type T_InstanceFlag  = ( )+sem_InstanceFlag_ClassFinal :: T_InstanceFlag +sem_InstanceFlag_ClassFinal  =+    ( )+sem_InstanceFlag_ClassInterface :: T_InstanceFlag +sem_InstanceFlag_ClassInterface  =+    ( )+sem_InstanceFlag_ClassProtected :: T_InstanceFlag +sem_InstanceFlag_ClassProtected  =+    ( )+sem_InstanceFlag_ClassSealed :: T_InstanceFlag +sem_InstanceFlag_ClassSealed  =+    ( )+-- InstanceFlags -----------------------------------------------+-- cata+sem_InstanceFlags :: InstanceFlags  ->+                     T_InstanceFlags +sem_InstanceFlags list  =+    (Prelude.foldr sem_InstanceFlags_Cons sem_InstanceFlags_Nil (Prelude.map sem_InstanceFlag list) )+-- semantic domain+type T_InstanceFlags  = ( )+sem_InstanceFlags_Cons :: T_InstanceFlag  ->+                          T_InstanceFlags  ->+                          T_InstanceFlags +sem_InstanceFlags_Cons hd_ tl_  =+    ( )+sem_InstanceFlags_Nil :: T_InstanceFlags +sem_InstanceFlags_Nil  =+    ( )+-- InstanceInfo ------------------------------------------------+-- cata+sem_InstanceInfo :: InstanceInfo  ->+                    T_InstanceInfo +sem_InstanceInfo (InstanceInfo_Info _name _super _flags _protectedNs _interfaces _constructor _traits )  =+    (sem_InstanceInfo_Info _name _super (sem_InstanceFlags _flags ) _protectedNs (sem_Interfaces _interfaces ) _constructor (sem_Traits _traits ) )+-- semantic domain+type T_InstanceInfo  = ( )+sem_InstanceInfo_Info :: Word32 ->+                         Word32 ->+                         T_InstanceFlags  ->+                         Word32 ->+                         T_Interfaces  ->+                         Word32 ->+                         T_Traits  ->+                         T_InstanceInfo +sem_InstanceInfo_Info name_ super_ flags_ protectedNs_ interfaces_ constructor_ traits_  =+    ( )+-- InstanceInfos -----------------------------------------------+-- cata+sem_InstanceInfos :: InstanceInfos  ->+                     T_InstanceInfos +sem_InstanceInfos list  =+    (Prelude.foldr sem_InstanceInfos_Cons sem_InstanceInfos_Nil (Prelude.map sem_InstanceInfo list) )+-- semantic domain+type T_InstanceInfos  = ( )+sem_InstanceInfos_Cons :: T_InstanceInfo  ->+                          T_InstanceInfos  ->+                          T_InstanceInfos +sem_InstanceInfos_Cons hd_ tl_  =+    ( )+sem_InstanceInfos_Nil :: T_InstanceInfos +sem_InstanceInfos_Nil  =+    ( )+-- Instruction -------------------------------------------------+-- cata+sem_Instruction :: Instruction  ->+                   T_Instruction +sem_Instruction (Instruction_Add )  =+    (sem_Instruction_Add )+sem_Instruction (Instruction_Add_d )  =+    (sem_Instruction_Add_d )+sem_Instruction (Instruction_Add_i )  =+    (sem_Instruction_Add_i )+sem_Instruction (Instruction_ApplyType _name )  =+    (sem_Instruction_ApplyType _name )+sem_Instruction (Instruction_AsType _name )  =+    (sem_Instruction_AsType _name )+sem_Instruction (Instruction_AsTypeLate )  =+    (sem_Instruction_AsTypeLate )+sem_Instruction (Instruction_BitAnd )  =+    (sem_Instruction_BitAnd )+sem_Instruction (Instruction_BitNot )  =+    (sem_Instruction_BitNot )+sem_Instruction (Instruction_BitOr )  =+    (sem_Instruction_BitOr )+sem_Instruction (Instruction_BitXor )  =+    (sem_Instruction_BitXor )+sem_Instruction (Instruction_BreakLine _line )  =+    (sem_Instruction_BreakLine _line )+sem_Instruction (Instruction_Breakpoint )  =+    (sem_Instruction_Breakpoint )+sem_Instruction (Instruction_Call _argCount )  =+    (sem_Instruction_Call _argCount )+sem_Instruction (Instruction_CallInterface _name _argCount )  =+    (sem_Instruction_CallInterface _name _argCount )+sem_Instruction (Instruction_CallMethod _index _argCount )  =+    (sem_Instruction_CallMethod _index _argCount )+sem_Instruction (Instruction_CallProp _name _argCount )  =+    (sem_Instruction_CallProp _name _argCount )+sem_Instruction (Instruction_CallPropLex _name _argCount )  =+    (sem_Instruction_CallPropLex _name _argCount )+sem_Instruction (Instruction_CallPropVoid _name _argCount )  =+    (sem_Instruction_CallPropVoid _name _argCount )+sem_Instruction (Instruction_CallStatic _method _argCount )  =+    (sem_Instruction_CallStatic _method _argCount )+sem_Instruction (Instruction_CallSuper _name _argCount )  =+    (sem_Instruction_CallSuper _name _argCount )+sem_Instruction (Instruction_CallSuperId )  =+    (sem_Instruction_CallSuperId )+sem_Instruction (Instruction_CallSuperVoid _name _argCount )  =+    (sem_Instruction_CallSuperVoid _name _argCount )+sem_Instruction (Instruction_CheckFilter )  =+    (sem_Instruction_CheckFilter )+sem_Instruction (Instruction_Coerce _name )  =+    (sem_Instruction_Coerce _name )+sem_Instruction (Instruction_Coerce_a )  =+    (sem_Instruction_Coerce_a )+sem_Instruction (Instruction_Coerce_b )  =+    (sem_Instruction_Coerce_b )+sem_Instruction (Instruction_Coerce_d )  =+    (sem_Instruction_Coerce_d )+sem_Instruction (Instruction_Coerce_i )  =+    (sem_Instruction_Coerce_i )+sem_Instruction (Instruction_Coerce_o )  =+    (sem_Instruction_Coerce_o )+sem_Instruction (Instruction_Coerce_s )  =+    (sem_Instruction_Coerce_s )+sem_Instruction (Instruction_Coerce_u )  =+    (sem_Instruction_Coerce_u )+sem_Instruction (Instruction_Concat )  =+    (sem_Instruction_Concat )+sem_Instruction (Instruction_Construct _argCount )  =+    (sem_Instruction_Construct _argCount )+sem_Instruction (Instruction_ConstructProp _name _argCount )  =+    (sem_Instruction_ConstructProp _name _argCount )+sem_Instruction (Instruction_ConstructSuper _argCount )  =+    (sem_Instruction_ConstructSuper _argCount )+sem_Instruction (Instruction_Convert_b )  =+    (sem_Instruction_Convert_b )+sem_Instruction (Instruction_Convert_d )  =+    (sem_Instruction_Convert_d )+sem_Instruction (Instruction_Convert_i )  =+    (sem_Instruction_Convert_i )+sem_Instruction (Instruction_Convert_o )  =+    (sem_Instruction_Convert_o )+sem_Instruction (Instruction_Convert_s )  =+    (sem_Instruction_Convert_s )+sem_Instruction (Instruction_Convert_u )  =+    (sem_Instruction_Convert_u )+sem_Instruction (Instruction_Debug _tp _name _reg _extra )  =+    (sem_Instruction_Debug (sem_DebugType _tp ) _name _reg _extra )+sem_Instruction (Instruction_DebugFile _name )  =+    (sem_Instruction_DebugFile _name )+sem_Instruction (Instruction_DebugLine _line )  =+    (sem_Instruction_DebugLine _line )+sem_Instruction (Instruction_DecLocal _reg )  =+    (sem_Instruction_DecLocal _reg )+sem_Instruction (Instruction_DecLocal_i _reg )  =+    (sem_Instruction_DecLocal_i _reg )+sem_Instruction (Instruction_Decrement )  =+    (sem_Instruction_Decrement )+sem_Instruction (Instruction_Decrement_i )  =+    (sem_Instruction_Decrement_i )+sem_Instruction (Instruction_DeleteProperty _name )  =+    (sem_Instruction_DeleteProperty _name )+sem_Instruction (Instruction_DeletePropertyLate )  =+    (sem_Instruction_DeletePropertyLate )+sem_Instruction (Instruction_Divide )  =+    (sem_Instruction_Divide )+sem_Instruction (Instruction_Dup )  =+    (sem_Instruction_Dup )+sem_Instruction (Instruction_Dxns _name )  =+    (sem_Instruction_Dxns _name )+sem_Instruction (Instruction_DxnsLate )  =+    (sem_Instruction_DxnsLate )+sem_Instruction (Instruction_Equals )  =+    (sem_Instruction_Equals )+sem_Instruction (Instruction_EscXAttr )  =+    (sem_Instruction_EscXAttr )+sem_Instruction (Instruction_EscXElem )  =+    (sem_Instruction_EscXElem )+sem_Instruction (Instruction_FindDef _name )  =+    (sem_Instruction_FindDef _name )+sem_Instruction (Instruction_FindPropStrict _name )  =+    (sem_Instruction_FindPropStrict _name )+sem_Instruction (Instruction_FindProperty _name )  =+    (sem_Instruction_FindProperty _name )+sem_Instruction (Instruction_FindPropertyGlobal _name )  =+    (sem_Instruction_FindPropertyGlobal _name )+sem_Instruction (Instruction_FindPropertyGlobalStrict _name )  =+    (sem_Instruction_FindPropertyGlobalStrict _name )+sem_Instruction (Instruction_GetDescendants _name )  =+    (sem_Instruction_GetDescendants _name )+sem_Instruction (Instruction_GetGlobalScope )  =+    (sem_Instruction_GetGlobalScope )+sem_Instruction (Instruction_GetGlobalSlot _slot )  =+    (sem_Instruction_GetGlobalSlot _slot )+sem_Instruction (Instruction_GetLex _name )  =+    (sem_Instruction_GetLex _name )+sem_Instruction (Instruction_GetLocal _reg )  =+    (sem_Instruction_GetLocal _reg )+sem_Instruction (Instruction_GetLocal0 )  =+    (sem_Instruction_GetLocal0 )+sem_Instruction (Instruction_GetLocal1 )  =+    (sem_Instruction_GetLocal1 )+sem_Instruction (Instruction_GetLocal2 )  =+    (sem_Instruction_GetLocal2 )+sem_Instruction (Instruction_GetLocal3 )  =+    (sem_Instruction_GetLocal3 )+sem_Instruction (Instruction_GetOuterScope _name )  =+    (sem_Instruction_GetOuterScope _name )+sem_Instruction (Instruction_GetProperty _name )  =+    (sem_Instruction_GetProperty _name )+sem_Instruction (Instruction_GetScopeObject _index )  =+    (sem_Instruction_GetScopeObject _index )+sem_Instruction (Instruction_GetSlot _slot )  =+    (sem_Instruction_GetSlot _slot )+sem_Instruction (Instruction_GetSuper _name )  =+    (sem_Instruction_GetSuper _name )+sem_Instruction (Instruction_GreaterEquals )  =+    (sem_Instruction_GreaterEquals )+sem_Instruction (Instruction_GreaterThan )  =+    (sem_Instruction_GreaterThan )+sem_Instruction (Instruction_HasNext )  =+    (sem_Instruction_HasNext )+sem_Instruction (Instruction_HasNext2 _objectReg _indexReg )  =+    (sem_Instruction_HasNext2 _objectReg _indexReg )+sem_Instruction (Instruction_IfEq _offset )  =+    (sem_Instruction_IfEq _offset )+sem_Instruction (Instruction_IfFalse _offset )  =+    (sem_Instruction_IfFalse _offset )+sem_Instruction (Instruction_IfGe _offset )  =+    (sem_Instruction_IfGe _offset )+sem_Instruction (Instruction_IfGt _offset )  =+    (sem_Instruction_IfGt _offset )+sem_Instruction (Instruction_IfLe _offset )  =+    (sem_Instruction_IfLe _offset )+sem_Instruction (Instruction_IfLt _offset )  =+    (sem_Instruction_IfLt _offset )+sem_Instruction (Instruction_IfNGe _offset )  =+    (sem_Instruction_IfNGe _offset )+sem_Instruction (Instruction_IfNGt _offset )  =+    (sem_Instruction_IfNGt _offset )+sem_Instruction (Instruction_IfNLe _offset )  =+    (sem_Instruction_IfNLe _offset )+sem_Instruction (Instruction_IfNLt _offset )  =+    (sem_Instruction_IfNLt _offset )+sem_Instruction (Instruction_IfNe _offset )  =+    (sem_Instruction_IfNe _offset )+sem_Instruction (Instruction_IfStrictEq _offset )  =+    (sem_Instruction_IfStrictEq _offset )+sem_Instruction (Instruction_IfStrictNe _offset )  =+    (sem_Instruction_IfStrictNe _offset )+sem_Instruction (Instruction_IfTrue _offset )  =+    (sem_Instruction_IfTrue _offset )+sem_Instruction (Instruction_In )  =+    (sem_Instruction_In )+sem_Instruction (Instruction_IncLocal _reg )  =+    (sem_Instruction_IncLocal _reg )+sem_Instruction (Instruction_IncLocal_i _reg )  =+    (sem_Instruction_IncLocal_i _reg )+sem_Instruction (Instruction_Increment )  =+    (sem_Instruction_Increment )+sem_Instruction (Instruction_Increment_i )  =+    (sem_Instruction_Increment_i )+sem_Instruction (Instruction_InitProperty _name )  =+    (sem_Instruction_InitProperty _name )+sem_Instruction (Instruction_InstanceOf )  =+    (sem_Instruction_InstanceOf )+sem_Instruction (Instruction_IsType _name )  =+    (sem_Instruction_IsType _name )+sem_Instruction (Instruction_IsTypeLate )  =+    (sem_Instruction_IsTypeLate )+sem_Instruction (Instruction_Jump _offset )  =+    (sem_Instruction_Jump _offset )+sem_Instruction (Instruction_Kill _reg )  =+    (sem_Instruction_Kill _reg )+sem_Instruction (Instruction_Label )  =+    (sem_Instruction_Label )+sem_Instruction (Instruction_LessEquals )  =+    (sem_Instruction_LessEquals )+sem_Instruction (Instruction_LessThan )  =+    (sem_Instruction_LessThan )+sem_Instruction (Instruction_LoadFloat32 )  =+    (sem_Instruction_LoadFloat32 )+sem_Instruction (Instruction_LoadFloat64 )  =+    (sem_Instruction_LoadFloat64 )+sem_Instruction (Instruction_LoadIndirect16 )  =+    (sem_Instruction_LoadIndirect16 )+sem_Instruction (Instruction_LoadIndirect32 )  =+    (sem_Instruction_LoadIndirect32 )+sem_Instruction (Instruction_LoadIndirect8 )  =+    (sem_Instruction_LoadIndirect8 )+sem_Instruction (Instruction_Location _index )  =+    (sem_Instruction_Location _index )+sem_Instruction (Instruction_LookupSwitch _defaultOffset _caseOffsets )  =+    (sem_Instruction_LookupSwitch _defaultOffset (sem_CaseOffsets _caseOffsets ) )+sem_Instruction (Instruction_Lshift )  =+    (sem_Instruction_Lshift )+sem_Instruction (Instruction_Modulo )  =+    (sem_Instruction_Modulo )+sem_Instruction (Instruction_Multiply )  =+    (sem_Instruction_Multiply )+sem_Instruction (Instruction_Multiply_i )  =+    (sem_Instruction_Multiply_i )+sem_Instruction (Instruction_Negate )  =+    (sem_Instruction_Negate )+sem_Instruction (Instruction_Negate_i )  =+    (sem_Instruction_Negate_i )+sem_Instruction (Instruction_NewActivation )  =+    (sem_Instruction_NewActivation )+sem_Instruction (Instruction_NewArray _argCount )  =+    (sem_Instruction_NewArray _argCount )+sem_Instruction (Instruction_NewCatch _exception )  =+    (sem_Instruction_NewCatch _exception )+sem_Instruction (Instruction_NewClass _class )  =+    (sem_Instruction_NewClass _class )+sem_Instruction (Instruction_NewFunction _method )  =+    (sem_Instruction_NewFunction _method )+sem_Instruction (Instruction_NewObject _argCount )  =+    (sem_Instruction_NewObject _argCount )+sem_Instruction (Instruction_NextName )  =+    (sem_Instruction_NextName )+sem_Instruction (Instruction_NextValue )  =+    (sem_Instruction_NextValue )+sem_Instruction (Instruction_Nop )  =+    (sem_Instruction_Nop )+sem_Instruction (Instruction_Not )  =+    (sem_Instruction_Not )+sem_Instruction (Instruction_Pop )  =+    (sem_Instruction_Pop )+sem_Instruction (Instruction_PopScope )  =+    (sem_Instruction_PopScope )+sem_Instruction (Instruction_PushByte _val )  =+    (sem_Instruction_PushByte _val )+sem_Instruction (Instruction_PushDouble _name )  =+    (sem_Instruction_PushDouble _name )+sem_Instruction (Instruction_PushFalse )  =+    (sem_Instruction_PushFalse )+sem_Instruction (Instruction_PushInt _name )  =+    (sem_Instruction_PushInt _name )+sem_Instruction (Instruction_PushNaN )  =+    (sem_Instruction_PushNaN )+sem_Instruction (Instruction_PushNamespace _name )  =+    (sem_Instruction_PushNamespace _name )+sem_Instruction (Instruction_PushNull )  =+    (sem_Instruction_PushNull )+sem_Instruction (Instruction_PushScope )  =+    (sem_Instruction_PushScope )+sem_Instruction (Instruction_PushShort _val )  =+    (sem_Instruction_PushShort _val )+sem_Instruction (Instruction_PushString _name )  =+    (sem_Instruction_PushString _name )+sem_Instruction (Instruction_PushTrue )  =+    (sem_Instruction_PushTrue )+sem_Instruction (Instruction_PushUInt _name )  =+    (sem_Instruction_PushUInt _name )+sem_Instruction (Instruction_PushUndefined )  =+    (sem_Instruction_PushUndefined )+sem_Instruction (Instruction_PushWith )  =+    (sem_Instruction_PushWith )+sem_Instruction (Instruction_ReturnValue )  =+    (sem_Instruction_ReturnValue )+sem_Instruction (Instruction_ReturnVoid )  =+    (sem_Instruction_ReturnVoid )+sem_Instruction (Instruction_Rshift )  =+    (sem_Instruction_Rshift )+sem_Instruction (Instruction_SetGlobalSlot _slot )  =+    (sem_Instruction_SetGlobalSlot _slot )+sem_Instruction (Instruction_SetLocal _reg )  =+    (sem_Instruction_SetLocal _reg )+sem_Instruction (Instruction_SetLocal0 )  =+    (sem_Instruction_SetLocal0 )+sem_Instruction (Instruction_SetLocal1 )  =+    (sem_Instruction_SetLocal1 )+sem_Instruction (Instruction_SetLocal2 )  =+    (sem_Instruction_SetLocal2 )+sem_Instruction (Instruction_SetLocal3 )  =+    (sem_Instruction_SetLocal3 )+sem_Instruction (Instruction_SetProperty _name )  =+    (sem_Instruction_SetProperty _name )+sem_Instruction (Instruction_SetPropertyLate )  =+    (sem_Instruction_SetPropertyLate )+sem_Instruction (Instruction_SetSlot _slot )  =+    (sem_Instruction_SetSlot _slot )+sem_Instruction (Instruction_SetSuper _name )  =+    (sem_Instruction_SetSuper _name )+sem_Instruction (Instruction_SignExtend1 )  =+    (sem_Instruction_SignExtend1 )+sem_Instruction (Instruction_SignExtend16 )  =+    (sem_Instruction_SignExtend16 )+sem_Instruction (Instruction_SignExtend8 )  =+    (sem_Instruction_SignExtend8 )+sem_Instruction (Instruction_StoreFloat32 )  =+    (sem_Instruction_StoreFloat32 )+sem_Instruction (Instruction_StoreFloat64 )  =+    (sem_Instruction_StoreFloat64 )+sem_Instruction (Instruction_StoreIndirect16 )  =+    (sem_Instruction_StoreIndirect16 )+sem_Instruction (Instruction_StoreIndirect32 )  =+    (sem_Instruction_StoreIndirect32 )+sem_Instruction (Instruction_StoreIndirect8 )  =+    (sem_Instruction_StoreIndirect8 )+sem_Instruction (Instruction_StrictEquals )  =+    (sem_Instruction_StrictEquals )+sem_Instruction (Instruction_Substract )  =+    (sem_Instruction_Substract )+sem_Instruction (Instruction_Substract_i )  =+    (sem_Instruction_Substract_i )+sem_Instruction (Instruction_Swap )  =+    (sem_Instruction_Swap )+sem_Instruction (Instruction_Throw )  =+    (sem_Instruction_Throw )+sem_Instruction (Instruction_Timestamp )  =+    (sem_Instruction_Timestamp )+sem_Instruction (Instruction_TypeOf )  =+    (sem_Instruction_TypeOf )+sem_Instruction (Instruction_Urshift )  =+    (sem_Instruction_Urshift )+-- semantic domain+type T_Instruction  = Int ->+                      Int ->+                      ( Int,Int,T_Instruction_1 )+type T_Instruction_1  = Int ->+                        ( CFGs,Int)+sem_Instruction_Add :: T_Instruction +sem_Instruction_Add  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 798 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 803 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Add_1 :: T_Instruction_1 +                       sem_Instruction_Add_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 811 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 816 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Add_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Add_d :: T_Instruction +sem_Instruction_Add_d  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 829 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 834 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Add_d_1 :: T_Instruction_1 +                       sem_Instruction_Add_d_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 842 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 847 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Add_d_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Add_i :: T_Instruction +sem_Instruction_Add_i  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 860 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 865 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Add_i_1 :: T_Instruction_1 +                       sem_Instruction_Add_i_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 873 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 878 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Add_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_ApplyType :: Word32 ->+                             T_Instruction +sem_Instruction_ApplyType name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 892 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 897 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_ApplyType_1 :: T_Instruction_1 +                       sem_Instruction_ApplyType_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 905 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 910 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_ApplyType_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_AsType :: Word32 ->+                          T_Instruction +sem_Instruction_AsType name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 924 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 929 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_AsType_1 :: T_Instruction_1 +                       sem_Instruction_AsType_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 937 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 942 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_AsType_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_AsTypeLate :: T_Instruction +sem_Instruction_AsTypeLate  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 955 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 960 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_AsTypeLate_1 :: T_Instruction_1 +                       sem_Instruction_AsTypeLate_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 968 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 973 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_AsTypeLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_BitAnd :: T_Instruction +sem_Instruction_BitAnd  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 986 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 991 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_BitAnd_1 :: T_Instruction_1 +                       sem_Instruction_BitAnd_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 999 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1004 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_BitAnd_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_BitNot :: T_Instruction +sem_Instruction_BitNot  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1017 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1022 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_BitNot_1 :: T_Instruction_1 +                       sem_Instruction_BitNot_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1030 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1035 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_BitNot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_BitOr :: T_Instruction +sem_Instruction_BitOr  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1048 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1053 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_BitOr_1 :: T_Instruction_1 +                       sem_Instruction_BitOr_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1061 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1066 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_BitOr_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_BitXor :: T_Instruction +sem_Instruction_BitXor  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1079 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1084 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_BitXor_1 :: T_Instruction_1 +                       sem_Instruction_BitXor_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1092 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1097 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_BitXor_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_BreakLine :: Word32 ->+                             T_Instruction +sem_Instruction_BreakLine line_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1111 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1116 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_BreakLine_1 :: T_Instruction_1 +                       sem_Instruction_BreakLine_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1124 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1129 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_BreakLine_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Breakpoint :: T_Instruction +sem_Instruction_Breakpoint  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1142 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1147 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Breakpoint_1 :: T_Instruction_1 +                       sem_Instruction_Breakpoint_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1155 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1160 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Breakpoint_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Call :: Word32 ->+                        T_Instruction +sem_Instruction_Call argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1174 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1179 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Call_1 :: T_Instruction_1 +                       sem_Instruction_Call_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1187 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1192 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Call_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallInterface :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallInterface name_ argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1207 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1212 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallInterface_1 :: T_Instruction_1 +                       sem_Instruction_CallInterface_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1220 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1225 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_CallInterface_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallMethod :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallMethod index_ argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1240 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1245 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallMethod_1 :: T_Instruction_1 +                       sem_Instruction_CallMethod_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1253 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1258 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_CallMethod_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallProp :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_CallProp name_ argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1273 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1278 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallProp_1 :: T_Instruction_1 +                       sem_Instruction_CallProp_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1286 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1291 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_CallProp_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallPropLex :: Word32 ->+                               Word32 ->+                               T_Instruction +sem_Instruction_CallPropLex name_ argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1306 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1311 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallPropLex_1 :: T_Instruction_1 +                       sem_Instruction_CallPropLex_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1319 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1324 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_CallPropLex_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallPropVoid :: Word32 ->+                                Word32 ->+                                T_Instruction +sem_Instruction_CallPropVoid name_ argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1339 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1344 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallPropVoid_1 :: T_Instruction_1 +                       sem_Instruction_CallPropVoid_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1352 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1357 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_CallPropVoid_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallStatic :: Word32 ->+                              Word32 ->+                              T_Instruction +sem_Instruction_CallStatic method_ argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1372 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1377 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallStatic_1 :: T_Instruction_1 +                       sem_Instruction_CallStatic_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1385 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1390 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_CallStatic_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallSuper :: Word32 ->+                             Word32 ->+                             T_Instruction +sem_Instruction_CallSuper name_ argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1405 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1410 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallSuper_1 :: T_Instruction_1 +                       sem_Instruction_CallSuper_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1418 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1423 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_CallSuper_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallSuperId :: T_Instruction +sem_Instruction_CallSuperId  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1436 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1441 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallSuperId_1 :: T_Instruction_1 +                       sem_Instruction_CallSuperId_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1449 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1454 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_CallSuperId_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CallSuperVoid :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_CallSuperVoid name_ argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1469 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1474 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CallSuperVoid_1 :: T_Instruction_1 +                       sem_Instruction_CallSuperVoid_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1482 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1487 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_CallSuperVoid_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_CheckFilter :: T_Instruction +sem_Instruction_CheckFilter  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1500 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1505 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_CheckFilter_1 :: T_Instruction_1 +                       sem_Instruction_CheckFilter_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1513 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1518 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_CheckFilter_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce :: Word32 ->+                          T_Instruction +sem_Instruction_Coerce name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1532 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1537 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1545 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1550 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Coerce_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_a :: T_Instruction +sem_Instruction_Coerce_a  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1563 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1568 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_a_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_a_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1576 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1581 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Coerce_a_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_b :: T_Instruction +sem_Instruction_Coerce_b  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1594 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1599 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_b_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_b_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1607 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1612 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Coerce_b_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_d :: T_Instruction +sem_Instruction_Coerce_d  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1625 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1630 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_d_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_d_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1638 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1643 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Coerce_d_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_i :: T_Instruction +sem_Instruction_Coerce_i  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1656 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1661 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_i_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_i_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1669 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1674 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Coerce_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_o :: T_Instruction +sem_Instruction_Coerce_o  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1687 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1692 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_o_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_o_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1700 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1705 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Coerce_o_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_s :: T_Instruction +sem_Instruction_Coerce_s  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1718 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1723 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_s_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_s_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1731 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1736 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Coerce_s_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Coerce_u :: T_Instruction +sem_Instruction_Coerce_u  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1749 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1754 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Coerce_u_1 :: T_Instruction_1 +                       sem_Instruction_Coerce_u_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1762 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1767 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Coerce_u_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Concat :: T_Instruction +sem_Instruction_Concat  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1780 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1785 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Concat_1 :: T_Instruction_1 +                       sem_Instruction_Concat_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1793 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1798 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Concat_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Construct :: Word32 ->+                             T_Instruction +sem_Instruction_Construct argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1812 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1817 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Construct_1 :: T_Instruction_1 +                       sem_Instruction_Construct_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1825 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1830 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Construct_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_ConstructProp :: Word32 ->+                                 Word32 ->+                                 T_Instruction +sem_Instruction_ConstructProp name_ argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1845 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1850 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_ConstructProp_1 :: T_Instruction_1 +                       sem_Instruction_ConstructProp_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1858 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1863 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_ConstructProp_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_ConstructSuper :: Word32 ->+                                  T_Instruction +sem_Instruction_ConstructSuper argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1877 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1882 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_ConstructSuper_1 :: T_Instruction_1 +                       sem_Instruction_ConstructSuper_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1890 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1895 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_ConstructSuper_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_b :: T_Instruction +sem_Instruction_Convert_b  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1908 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1913 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Convert_b_1 :: T_Instruction_1 +                       sem_Instruction_Convert_b_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1921 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1926 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Convert_b_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_d :: T_Instruction +sem_Instruction_Convert_d  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1939 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1944 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Convert_d_1 :: T_Instruction_1 +                       sem_Instruction_Convert_d_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1952 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1957 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Convert_d_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_i :: T_Instruction +sem_Instruction_Convert_i  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 1970 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 1975 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Convert_i_1 :: T_Instruction_1 +                       sem_Instruction_Convert_i_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 1983 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 1988 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Convert_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_o :: T_Instruction +sem_Instruction_Convert_o  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2001 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2006 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Convert_o_1 :: T_Instruction_1 +                       sem_Instruction_Convert_o_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2014 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2019 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Convert_o_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_s :: T_Instruction +sem_Instruction_Convert_s  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2032 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2037 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Convert_s_1 :: T_Instruction_1 +                       sem_Instruction_Convert_s_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2045 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2050 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Convert_s_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Convert_u :: T_Instruction +sem_Instruction_Convert_u  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2063 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2068 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Convert_u_1 :: T_Instruction_1 +                       sem_Instruction_Convert_u_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2076 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2081 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Convert_u_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Debug :: T_DebugType  ->+                         Word32 ->+                         Word32 ->+                         Word32 ->+                         T_Instruction +sem_Instruction_Debug tp_ name_ reg_ extra_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2098 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2103 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Debug_1 :: T_Instruction_1 +                       sem_Instruction_Debug_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2111 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2116 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Debug_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DebugFile :: Word32 ->+                             T_Instruction +sem_Instruction_DebugFile name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2130 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2135 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DebugFile_1 :: T_Instruction_1 +                       sem_Instruction_DebugFile_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2143 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2148 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_DebugFile_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DebugLine :: Word32 ->+                             T_Instruction +sem_Instruction_DebugLine line_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2162 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2167 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DebugLine_1 :: T_Instruction_1 +                       sem_Instruction_DebugLine_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2175 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2180 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_DebugLine_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DecLocal :: Word32 ->+                            T_Instruction +sem_Instruction_DecLocal reg_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2194 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2199 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DecLocal_1 :: T_Instruction_1 +                       sem_Instruction_DecLocal_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2207 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2212 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_DecLocal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DecLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_DecLocal_i reg_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2226 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2231 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DecLocal_i_1 :: T_Instruction_1 +                       sem_Instruction_DecLocal_i_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2239 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2244 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_DecLocal_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Decrement :: T_Instruction +sem_Instruction_Decrement  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2257 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2262 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Decrement_1 :: T_Instruction_1 +                       sem_Instruction_Decrement_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2270 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2275 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Decrement_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Decrement_i :: T_Instruction +sem_Instruction_Decrement_i  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2288 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2293 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Decrement_i_1 :: T_Instruction_1 +                       sem_Instruction_Decrement_i_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2301 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2306 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Decrement_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DeleteProperty :: Word32 ->+                                  T_Instruction +sem_Instruction_DeleteProperty name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2320 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2325 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DeleteProperty_1 :: T_Instruction_1 +                       sem_Instruction_DeleteProperty_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2333 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2338 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_DeleteProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DeletePropertyLate :: T_Instruction +sem_Instruction_DeletePropertyLate  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2351 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2356 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DeletePropertyLate_1 :: T_Instruction_1 +                       sem_Instruction_DeletePropertyLate_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2364 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2369 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_DeletePropertyLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Divide :: T_Instruction +sem_Instruction_Divide  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2382 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2387 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Divide_1 :: T_Instruction_1 +                       sem_Instruction_Divide_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2395 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2400 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Divide_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Dup :: T_Instruction +sem_Instruction_Dup  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2413 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2418 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Dup_1 :: T_Instruction_1 +                       sem_Instruction_Dup_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2426 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2431 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Dup_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Dxns :: Word32 ->+                        T_Instruction +sem_Instruction_Dxns name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2445 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2450 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Dxns_1 :: T_Instruction_1 +                       sem_Instruction_Dxns_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2458 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2463 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Dxns_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_DxnsLate :: T_Instruction +sem_Instruction_DxnsLate  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2476 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2481 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_DxnsLate_1 :: T_Instruction_1 +                       sem_Instruction_DxnsLate_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2489 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2494 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_DxnsLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Equals :: T_Instruction +sem_Instruction_Equals  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2507 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2512 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Equals_1 :: T_Instruction_1 +                       sem_Instruction_Equals_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2520 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2525 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Equals_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_EscXAttr :: T_Instruction +sem_Instruction_EscXAttr  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2538 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2543 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_EscXAttr_1 :: T_Instruction_1 +                       sem_Instruction_EscXAttr_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2551 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2556 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_EscXAttr_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_EscXElem :: T_Instruction +sem_Instruction_EscXElem  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2569 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2574 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_EscXElem_1 :: T_Instruction_1 +                       sem_Instruction_EscXElem_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2582 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2587 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_EscXElem_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_FindDef :: Word32 ->+                           T_Instruction +sem_Instruction_FindDef name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2601 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2606 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_FindDef_1 :: T_Instruction_1 +                       sem_Instruction_FindDef_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2614 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2619 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_FindDef_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_FindPropStrict :: Word32 ->+                                  T_Instruction +sem_Instruction_FindPropStrict name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2633 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2638 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_FindPropStrict_1 :: T_Instruction_1 +                       sem_Instruction_FindPropStrict_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2646 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2651 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_FindPropStrict_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_FindProperty :: Word32 ->+                                T_Instruction +sem_Instruction_FindProperty name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2665 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2670 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_FindProperty_1 :: T_Instruction_1 +                       sem_Instruction_FindProperty_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2678 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2683 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_FindProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_FindPropertyGlobal :: Word32 ->+                                      T_Instruction +sem_Instruction_FindPropertyGlobal name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2697 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2702 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_FindPropertyGlobal_1 :: T_Instruction_1 +                       sem_Instruction_FindPropertyGlobal_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2710 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2715 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_FindPropertyGlobal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_FindPropertyGlobalStrict :: Word32 ->+                                            T_Instruction +sem_Instruction_FindPropertyGlobalStrict name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2729 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2734 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_FindPropertyGlobalStrict_1 :: T_Instruction_1 +                       sem_Instruction_FindPropertyGlobalStrict_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2742 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2747 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_FindPropertyGlobalStrict_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetDescendants :: Word32 ->+                                  T_Instruction +sem_Instruction_GetDescendants name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2761 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2766 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetDescendants_1 :: T_Instruction_1 +                       sem_Instruction_GetDescendants_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2774 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2779 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetDescendants_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetGlobalScope :: T_Instruction +sem_Instruction_GetGlobalScope  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2792 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2797 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetGlobalScope_1 :: T_Instruction_1 +                       sem_Instruction_GetGlobalScope_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2805 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2810 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetGlobalScope_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_GetGlobalSlot slot_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2824 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2829 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetGlobalSlot_1 :: T_Instruction_1 +                       sem_Instruction_GetGlobalSlot_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2837 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2842 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetGlobalSlot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetLex :: Word32 ->+                          T_Instruction +sem_Instruction_GetLex name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2856 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2861 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetLex_1 :: T_Instruction_1 +                       sem_Instruction_GetLex_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2869 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2874 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetLex_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_GetLocal reg_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2888 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2893 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetLocal_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2901 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2906 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetLocal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal0 :: T_Instruction +sem_Instruction_GetLocal0  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2919 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2924 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetLocal0_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal0_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2932 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2937 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetLocal0_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal1 :: T_Instruction +sem_Instruction_GetLocal1  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2950 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2955 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetLocal1_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal1_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2963 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2968 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetLocal1_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal2 :: T_Instruction +sem_Instruction_GetLocal2  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 2981 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 2986 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetLocal2_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal2_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 2994 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 2999 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetLocal2_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetLocal3 :: T_Instruction +sem_Instruction_GetLocal3  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3012 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3017 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetLocal3_1 :: T_Instruction_1 +                       sem_Instruction_GetLocal3_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3025 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3030 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetLocal3_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetOuterScope :: Word32 ->+                                 T_Instruction +sem_Instruction_GetOuterScope name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3044 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3049 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetOuterScope_1 :: T_Instruction_1 +                       sem_Instruction_GetOuterScope_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3057 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3062 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetOuterScope_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_GetProperty name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3076 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3081 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetProperty_1 :: T_Instruction_1 +                       sem_Instruction_GetProperty_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3089 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3094 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetScopeObject :: Word8 ->+                                  T_Instruction +sem_Instruction_GetScopeObject index_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3108 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3113 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetScopeObject_1 :: T_Instruction_1 +                       sem_Instruction_GetScopeObject_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3121 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3126 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetScopeObject_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_GetSlot slot_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3140 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3145 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetSlot_1 :: T_Instruction_1 +                       sem_Instruction_GetSlot_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3153 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3158 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetSlot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_GetSuper name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3172 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3177 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GetSuper_1 :: T_Instruction_1 +                       sem_Instruction_GetSuper_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3185 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3190 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GetSuper_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GreaterEquals :: T_Instruction +sem_Instruction_GreaterEquals  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3203 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3208 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GreaterEquals_1 :: T_Instruction_1 +                       sem_Instruction_GreaterEquals_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3216 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3221 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GreaterEquals_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_GreaterThan :: T_Instruction +sem_Instruction_GreaterThan  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3234 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3239 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_GreaterThan_1 :: T_Instruction_1 +                       sem_Instruction_GreaterThan_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3247 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3252 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_GreaterThan_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_HasNext :: T_Instruction +sem_Instruction_HasNext  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3265 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3270 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_HasNext_1 :: T_Instruction_1 +                       sem_Instruction_HasNext_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3278 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3283 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_HasNext_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_HasNext2 :: Word32 ->+                            Word32 ->+                            T_Instruction +sem_Instruction_HasNext2 objectReg_ indexReg_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3298 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3303 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_HasNext2_1 :: T_Instruction_1 +                       sem_Instruction_HasNext2_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3311 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3316 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_HasNext2_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfEq :: Word32 ->+                        T_Instruction +sem_Instruction_IfEq offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3330 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3335 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfEq_1 :: T_Instruction_1 +                       sem_Instruction_IfEq_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3343 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3348 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfEq_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfFalse :: Word32 ->+                           T_Instruction +sem_Instruction_IfFalse offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3362 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3367 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfFalse_1 :: T_Instruction_1 +                       sem_Instruction_IfFalse_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3375 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3380 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfFalse_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfGe :: Word32 ->+                        T_Instruction +sem_Instruction_IfGe offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3394 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3399 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfGe_1 :: T_Instruction_1 +                       sem_Instruction_IfGe_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3407 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3412 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfGe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfGt :: Word32 ->+                        T_Instruction +sem_Instruction_IfGt offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3426 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3431 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfGt_1 :: T_Instruction_1 +                       sem_Instruction_IfGt_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3439 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3444 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfGt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfLe :: Word32 ->+                        T_Instruction +sem_Instruction_IfLe offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3458 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3463 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfLe_1 :: T_Instruction_1 +                       sem_Instruction_IfLe_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3471 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3476 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfLe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfLt :: Word32 ->+                        T_Instruction +sem_Instruction_IfLt offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3490 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3495 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfLt_1 :: T_Instruction_1 +                       sem_Instruction_IfLt_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3503 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3508 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfLt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfNGe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGe offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3522 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3527 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfNGe_1 :: T_Instruction_1 +                       sem_Instruction_IfNGe_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3535 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3540 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfNGe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfNGt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNGt offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3554 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3559 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfNGt_1 :: T_Instruction_1 +                       sem_Instruction_IfNGt_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3567 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3572 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfNGt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfNLe :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLe offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3586 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3591 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfNLe_1 :: T_Instruction_1 +                       sem_Instruction_IfNLe_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3599 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3604 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfNLe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfNLt :: Word32 ->+                         T_Instruction +sem_Instruction_IfNLt offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3618 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3623 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfNLt_1 :: T_Instruction_1 +                       sem_Instruction_IfNLt_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3631 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3636 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfNLt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfNe :: Word32 ->+                        T_Instruction +sem_Instruction_IfNe offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3650 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3655 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfNe_1 :: T_Instruction_1 +                       sem_Instruction_IfNe_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3663 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3668 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfNe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfStrictEq :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictEq offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3682 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3687 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfStrictEq_1 :: T_Instruction_1 +                       sem_Instruction_IfStrictEq_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3695 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3700 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfStrictEq_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfStrictNe :: Word32 ->+                              T_Instruction +sem_Instruction_IfStrictNe offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3714 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3719 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfStrictNe_1 :: T_Instruction_1 +                       sem_Instruction_IfStrictNe_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3727 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3732 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfStrictNe_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IfTrue :: Word32 ->+                          T_Instruction +sem_Instruction_IfTrue offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3746 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3751 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IfTrue_1 :: T_Instruction_1 +                       sem_Instruction_IfTrue_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3759 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3764 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IfTrue_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_In :: T_Instruction +sem_Instruction_In  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3777 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3782 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_In_1 :: T_Instruction_1 +                       sem_Instruction_In_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3790 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3795 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_In_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IncLocal :: Word32 ->+                            T_Instruction +sem_Instruction_IncLocal reg_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3809 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3814 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IncLocal_1 :: T_Instruction_1 +                       sem_Instruction_IncLocal_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3822 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3827 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IncLocal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IncLocal_i :: Word32 ->+                              T_Instruction +sem_Instruction_IncLocal_i reg_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3841 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3846 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IncLocal_i_1 :: T_Instruction_1 +                       sem_Instruction_IncLocal_i_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3854 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3859 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IncLocal_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Increment :: T_Instruction +sem_Instruction_Increment  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3872 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3877 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Increment_1 :: T_Instruction_1 +                       sem_Instruction_Increment_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3885 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3890 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Increment_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Increment_i :: T_Instruction +sem_Instruction_Increment_i  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3903 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3908 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Increment_i_1 :: T_Instruction_1 +                       sem_Instruction_Increment_i_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3916 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3921 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Increment_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_InitProperty :: Word32 ->+                                T_Instruction +sem_Instruction_InitProperty name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3935 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3940 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_InitProperty_1 :: T_Instruction_1 +                       sem_Instruction_InitProperty_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3948 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3953 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_InitProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_InstanceOf :: T_Instruction +sem_Instruction_InstanceOf  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3966 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 3971 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_InstanceOf_1 :: T_Instruction_1 +                       sem_Instruction_InstanceOf_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 3979 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 3984 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_InstanceOf_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IsType :: Word32 ->+                          T_Instruction +sem_Instruction_IsType name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 3998 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4003 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IsType_1 :: T_Instruction_1 +                       sem_Instruction_IsType_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4011 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4016 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IsType_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_IsTypeLate :: T_Instruction +sem_Instruction_IsTypeLate  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4029 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4034 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_IsTypeLate_1 :: T_Instruction_1 +                       sem_Instruction_IsTypeLate_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4042 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4047 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_IsTypeLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Jump :: Word32 ->+                        T_Instruction +sem_Instruction_Jump offset_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4061 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4066 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Jump_1 :: T_Instruction_1 +                       sem_Instruction_Jump_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4074 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4079 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Jump_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Kill :: Word32 ->+                        T_Instruction +sem_Instruction_Kill reg_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4093 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4098 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Kill_1 :: T_Instruction_1 +                       sem_Instruction_Kill_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4106 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4111 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Kill_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Label :: T_Instruction +sem_Instruction_Label  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4124 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4129 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Label_1 :: T_Instruction_1 +                       sem_Instruction_Label_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4137 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4142 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Label_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LessEquals :: T_Instruction +sem_Instruction_LessEquals  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4155 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4160 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LessEquals_1 :: T_Instruction_1 +                       sem_Instruction_LessEquals_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4168 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4173 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_LessEquals_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LessThan :: T_Instruction +sem_Instruction_LessThan  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4186 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4191 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LessThan_1 :: T_Instruction_1 +                       sem_Instruction_LessThan_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4199 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4204 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_LessThan_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LoadFloat32 :: T_Instruction +sem_Instruction_LoadFloat32  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4217 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4222 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LoadFloat32_1 :: T_Instruction_1 +                       sem_Instruction_LoadFloat32_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4230 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4235 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_LoadFloat32_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LoadFloat64 :: T_Instruction +sem_Instruction_LoadFloat64  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4248 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4253 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LoadFloat64_1 :: T_Instruction_1 +                       sem_Instruction_LoadFloat64_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4261 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4266 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_LoadFloat64_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LoadIndirect16 :: T_Instruction +sem_Instruction_LoadIndirect16  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4279 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4284 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LoadIndirect16_1 :: T_Instruction_1 +                       sem_Instruction_LoadIndirect16_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4292 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4297 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_LoadIndirect16_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LoadIndirect32 :: T_Instruction +sem_Instruction_LoadIndirect32  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4310 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4315 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LoadIndirect32_1 :: T_Instruction_1 +                       sem_Instruction_LoadIndirect32_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4323 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4328 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_LoadIndirect32_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LoadIndirect8 :: T_Instruction +sem_Instruction_LoadIndirect8  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4341 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4346 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_LoadIndirect8_1 :: T_Instruction_1 +                       sem_Instruction_LoadIndirect8_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4354 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4359 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_LoadIndirect8_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Location :: Int ->+                            T_Instruction +sem_Instruction_Location index_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4373 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 7 "src/ByteCodeLocationInfo.ag" #-}+                  index_+                  {-# LINE 4378 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Location_1 :: T_Instruction_1 +                       sem_Instruction_Location_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4386 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 11 "src/ByteCodeLocationInfo.ag" #-}+                                         index_+                                         {-# LINE 4391 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Location_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_LookupSwitch :: Word32 ->+                                T_CaseOffsets  ->+                                T_Instruction +sem_Instruction_LookupSwitch defaultOffset_ caseOffsets_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4406 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4411 "src/TrfToCFG.hs" #-}+                  )) of+           { _caseOffsetsOlocation | _caseOffsetsOlocation `seq` (True) ->+           (case (caseOffsets_ _caseOffsetsOlocation ) of+            { ( _caseOffsetsIlocation,caseOffsets_1) | True ->+                (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                        _caseOffsetsIlocation+                        {-# LINE 4418 "src/TrfToCFG.hs" #-}+                        )) of+                 { _lhsOlocation | _lhsOlocation `seq` (True) ->+                 (case ((let sem_Instruction_LookupSwitch_1 :: T_Instruction_1 +                             sem_Instruction_LookupSwitch_1  =+                                 (\ _lhsIrevLocation ->+                                      (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                              []+                                              {-# LINE 4426 "src/TrfToCFG.hs" #-}+                                              )) of+                                       { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                       (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                               _lhsIrevLocation+                                               {-# LINE 4431 "src/TrfToCFG.hs" #-}+                                               )) of+                                        { _caseOffsetsOrevLocation | _caseOffsetsOrevLocation `seq` (True) ->+                                        (case (caseOffsets_1 _caseOffsetsOrevLocation ) of+                                         { ( _caseOffsetsIrevLocation) | True ->+                                             (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                                     _caseOffsetsIrevLocation+                                                     {-# LINE 4438 "src/TrfToCFG.hs" #-}+                                                     )) of+                                              { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                              ( _lhsOgraphs,_lhsOrevLocation) }) }) }) }))+                         in  sem_Instruction_LookupSwitch_1)) of+                  { ( sem_Instruction_1) | True ->+                  ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }) }) }))+sem_Instruction_Lshift :: T_Instruction +sem_Instruction_Lshift  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4451 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4456 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Lshift_1 :: T_Instruction_1 +                       sem_Instruction_Lshift_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4464 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4469 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Lshift_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Modulo :: T_Instruction +sem_Instruction_Modulo  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4482 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4487 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Modulo_1 :: T_Instruction_1 +                       sem_Instruction_Modulo_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4495 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4500 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Modulo_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Multiply :: T_Instruction +sem_Instruction_Multiply  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4513 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4518 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Multiply_1 :: T_Instruction_1 +                       sem_Instruction_Multiply_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4526 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4531 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Multiply_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Multiply_i :: T_Instruction +sem_Instruction_Multiply_i  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4544 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4549 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Multiply_i_1 :: T_Instruction_1 +                       sem_Instruction_Multiply_i_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4557 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4562 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Multiply_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Negate :: T_Instruction +sem_Instruction_Negate  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4575 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4580 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Negate_1 :: T_Instruction_1 +                       sem_Instruction_Negate_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4588 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4593 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Negate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Negate_i :: T_Instruction +sem_Instruction_Negate_i  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4606 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4611 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Negate_i_1 :: T_Instruction_1 +                       sem_Instruction_Negate_i_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4619 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4624 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Negate_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NewActivation :: T_Instruction +sem_Instruction_NewActivation  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4637 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4642 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NewActivation_1 :: T_Instruction_1 +                       sem_Instruction_NewActivation_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4650 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4655 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_NewActivation_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NewArray :: Word32 ->+                            T_Instruction +sem_Instruction_NewArray argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4669 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4674 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NewArray_1 :: T_Instruction_1 +                       sem_Instruction_NewArray_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4682 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4687 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_NewArray_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NewCatch :: Word32 ->+                            T_Instruction +sem_Instruction_NewCatch exception_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4701 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4706 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NewCatch_1 :: T_Instruction_1 +                       sem_Instruction_NewCatch_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4714 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4719 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_NewCatch_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NewClass :: Word32 ->+                            T_Instruction +sem_Instruction_NewClass class_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4733 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4738 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NewClass_1 :: T_Instruction_1 +                       sem_Instruction_NewClass_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4746 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4751 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_NewClass_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NewFunction :: Word32 ->+                               T_Instruction +sem_Instruction_NewFunction method_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4765 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4770 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NewFunction_1 :: T_Instruction_1 +                       sem_Instruction_NewFunction_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4778 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4783 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_NewFunction_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NewObject :: Word32 ->+                             T_Instruction +sem_Instruction_NewObject argCount_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4797 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4802 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NewObject_1 :: T_Instruction_1 +                       sem_Instruction_NewObject_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4810 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4815 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_NewObject_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NextName :: T_Instruction +sem_Instruction_NextName  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4828 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4833 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NextName_1 :: T_Instruction_1 +                       sem_Instruction_NextName_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4841 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4846 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_NextName_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_NextValue :: T_Instruction +sem_Instruction_NextValue  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4859 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4864 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_NextValue_1 :: T_Instruction_1 +                       sem_Instruction_NextValue_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4872 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4877 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_NextValue_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Nop :: T_Instruction +sem_Instruction_Nop  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4890 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4895 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Nop_1 :: T_Instruction_1 +                       sem_Instruction_Nop_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4903 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4908 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Nop_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Not :: T_Instruction +sem_Instruction_Not  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4921 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4926 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Not_1 :: T_Instruction_1 +                       sem_Instruction_Not_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4934 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4939 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Not_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Pop :: T_Instruction +sem_Instruction_Pop  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4952 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4957 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Pop_1 :: T_Instruction_1 +                       sem_Instruction_Pop_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4965 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 4970 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Pop_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PopScope :: T_Instruction +sem_Instruction_PopScope  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 4983 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 4988 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PopScope_1 :: T_Instruction_1 +                       sem_Instruction_PopScope_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 4996 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5001 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PopScope_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushByte :: Word8 ->+                            T_Instruction +sem_Instruction_PushByte val_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5015 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5020 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushByte_1 :: T_Instruction_1 +                       sem_Instruction_PushByte_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5028 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5033 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushByte_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushDouble :: Word32 ->+                              T_Instruction +sem_Instruction_PushDouble name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5047 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5052 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushDouble_1 :: T_Instruction_1 +                       sem_Instruction_PushDouble_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5060 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5065 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushDouble_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushFalse :: T_Instruction +sem_Instruction_PushFalse  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5078 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5083 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushFalse_1 :: T_Instruction_1 +                       sem_Instruction_PushFalse_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5091 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5096 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushFalse_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushInt :: Word32 ->+                           T_Instruction +sem_Instruction_PushInt name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5110 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5115 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushInt_1 :: T_Instruction_1 +                       sem_Instruction_PushInt_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5123 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5128 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushInt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushNaN :: T_Instruction +sem_Instruction_PushNaN  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5141 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5146 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushNaN_1 :: T_Instruction_1 +                       sem_Instruction_PushNaN_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5154 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5159 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushNaN_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushNamespace :: Word32 ->+                                 T_Instruction +sem_Instruction_PushNamespace name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5173 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5178 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushNamespace_1 :: T_Instruction_1 +                       sem_Instruction_PushNamespace_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5186 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5191 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushNamespace_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushNull :: T_Instruction +sem_Instruction_PushNull  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5204 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5209 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushNull_1 :: T_Instruction_1 +                       sem_Instruction_PushNull_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5217 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5222 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushNull_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushScope :: T_Instruction +sem_Instruction_PushScope  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5235 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5240 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushScope_1 :: T_Instruction_1 +                       sem_Instruction_PushScope_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5248 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5253 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushScope_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushShort :: Word32 ->+                             T_Instruction +sem_Instruction_PushShort val_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5267 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5272 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushShort_1 :: T_Instruction_1 +                       sem_Instruction_PushShort_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5280 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5285 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushShort_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushString :: Word32 ->+                              T_Instruction +sem_Instruction_PushString name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5299 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5304 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushString_1 :: T_Instruction_1 +                       sem_Instruction_PushString_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5312 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5317 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushString_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushTrue :: T_Instruction +sem_Instruction_PushTrue  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5330 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5335 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushTrue_1 :: T_Instruction_1 +                       sem_Instruction_PushTrue_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5343 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5348 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushTrue_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushUInt :: Word32 ->+                            T_Instruction +sem_Instruction_PushUInt name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5362 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5367 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushUInt_1 :: T_Instruction_1 +                       sem_Instruction_PushUInt_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5375 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5380 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushUInt_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushUndefined :: T_Instruction +sem_Instruction_PushUndefined  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5393 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5398 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushUndefined_1 :: T_Instruction_1 +                       sem_Instruction_PushUndefined_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5406 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5411 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushUndefined_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_PushWith :: T_Instruction +sem_Instruction_PushWith  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5424 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5429 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_PushWith_1 :: T_Instruction_1 +                       sem_Instruction_PushWith_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5437 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5442 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_PushWith_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_ReturnValue :: T_Instruction +sem_Instruction_ReturnValue  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5455 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5460 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_ReturnValue_1 :: T_Instruction_1 +                       sem_Instruction_ReturnValue_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5468 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5473 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_ReturnValue_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_ReturnVoid :: T_Instruction +sem_Instruction_ReturnVoid  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5486 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5491 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_ReturnVoid_1 :: T_Instruction_1 +                       sem_Instruction_ReturnVoid_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5499 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5504 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_ReturnVoid_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Rshift :: T_Instruction +sem_Instruction_Rshift  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5517 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5522 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Rshift_1 :: T_Instruction_1 +                       sem_Instruction_Rshift_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5530 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5535 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Rshift_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetGlobalSlot :: Word32 ->+                                 T_Instruction +sem_Instruction_SetGlobalSlot slot_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5549 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5554 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetGlobalSlot_1 :: T_Instruction_1 +                       sem_Instruction_SetGlobalSlot_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5562 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5567 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SetGlobalSlot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal :: Word32 ->+                            T_Instruction +sem_Instruction_SetLocal reg_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5581 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5586 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetLocal_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5594 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5599 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SetLocal_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal0 :: T_Instruction +sem_Instruction_SetLocal0  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5612 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5617 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetLocal0_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal0_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5625 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5630 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SetLocal0_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal1 :: T_Instruction +sem_Instruction_SetLocal1  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5643 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5648 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetLocal1_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal1_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5656 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5661 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SetLocal1_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal2 :: T_Instruction +sem_Instruction_SetLocal2  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5674 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5679 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetLocal2_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal2_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5687 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5692 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SetLocal2_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetLocal3 :: T_Instruction +sem_Instruction_SetLocal3  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5705 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5710 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetLocal3_1 :: T_Instruction_1 +                       sem_Instruction_SetLocal3_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5718 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5723 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SetLocal3_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetProperty :: Word32 ->+                               T_Instruction +sem_Instruction_SetProperty name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5737 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5742 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetProperty_1 :: T_Instruction_1 +                       sem_Instruction_SetProperty_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5750 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5755 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SetProperty_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetPropertyLate :: T_Instruction +sem_Instruction_SetPropertyLate  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5768 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5773 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetPropertyLate_1 :: T_Instruction_1 +                       sem_Instruction_SetPropertyLate_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5781 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5786 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SetPropertyLate_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetSlot :: Word32 ->+                           T_Instruction +sem_Instruction_SetSlot slot_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5800 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5805 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetSlot_1 :: T_Instruction_1 +                       sem_Instruction_SetSlot_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5813 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5818 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SetSlot_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SetSuper :: Word32 ->+                            T_Instruction +sem_Instruction_SetSuper name_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5832 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5837 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SetSuper_1 :: T_Instruction_1 +                       sem_Instruction_SetSuper_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5845 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5850 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SetSuper_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SignExtend1 :: T_Instruction +sem_Instruction_SignExtend1  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5863 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5868 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SignExtend1_1 :: T_Instruction_1 +                       sem_Instruction_SignExtend1_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5876 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5881 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SignExtend1_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SignExtend16 :: T_Instruction +sem_Instruction_SignExtend16  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5894 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5899 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SignExtend16_1 :: T_Instruction_1 +                       sem_Instruction_SignExtend16_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5907 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5912 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SignExtend16_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_SignExtend8 :: T_Instruction +sem_Instruction_SignExtend8  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5925 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5930 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_SignExtend8_1 :: T_Instruction_1 +                       sem_Instruction_SignExtend8_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5938 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5943 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_SignExtend8_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_StoreFloat32 :: T_Instruction +sem_Instruction_StoreFloat32  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5956 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5961 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_StoreFloat32_1 :: T_Instruction_1 +                       sem_Instruction_StoreFloat32_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 5969 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 5974 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_StoreFloat32_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_StoreFloat64 :: T_Instruction +sem_Instruction_StoreFloat64  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 5987 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 5992 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_StoreFloat64_1 :: T_Instruction_1 +                       sem_Instruction_StoreFloat64_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6000 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6005 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_StoreFloat64_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_StoreIndirect16 :: T_Instruction +sem_Instruction_StoreIndirect16  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6018 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6023 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_StoreIndirect16_1 :: T_Instruction_1 +                       sem_Instruction_StoreIndirect16_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6031 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6036 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_StoreIndirect16_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_StoreIndirect32 :: T_Instruction +sem_Instruction_StoreIndirect32  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6049 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6054 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_StoreIndirect32_1 :: T_Instruction_1 +                       sem_Instruction_StoreIndirect32_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6062 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6067 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_StoreIndirect32_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_StoreIndirect8 :: T_Instruction +sem_Instruction_StoreIndirect8  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6080 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6085 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_StoreIndirect8_1 :: T_Instruction_1 +                       sem_Instruction_StoreIndirect8_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6093 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6098 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_StoreIndirect8_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_StrictEquals :: T_Instruction +sem_Instruction_StrictEquals  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6111 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6116 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_StrictEquals_1 :: T_Instruction_1 +                       sem_Instruction_StrictEquals_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6124 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6129 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_StrictEquals_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Substract :: T_Instruction +sem_Instruction_Substract  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6142 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6147 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Substract_1 :: T_Instruction_1 +                       sem_Instruction_Substract_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6155 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6160 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Substract_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Substract_i :: T_Instruction +sem_Instruction_Substract_i  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6173 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6178 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Substract_i_1 :: T_Instruction_1 +                       sem_Instruction_Substract_i_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6186 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6191 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Substract_i_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Swap :: T_Instruction +sem_Instruction_Swap  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6204 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6209 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Swap_1 :: T_Instruction_1 +                       sem_Instruction_Swap_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6217 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6222 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Swap_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Throw :: T_Instruction +sem_Instruction_Throw  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6235 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6240 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Throw_1 :: T_Instruction_1 +                       sem_Instruction_Throw_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6248 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6253 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Throw_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Timestamp :: T_Instruction +sem_Instruction_Timestamp  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6266 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6271 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Timestamp_1 :: T_Instruction_1 +                       sem_Instruction_Timestamp_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6279 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6284 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Timestamp_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_TypeOf :: T_Instruction +sem_Instruction_TypeOf  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6297 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6302 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_TypeOf_1 :: T_Instruction_1 +                       sem_Instruction_TypeOf_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6310 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6315 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_TypeOf_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+sem_Instruction_Urshift :: T_Instruction +sem_Instruction_Urshift  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6328 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6333 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instruction_Urshift_1 :: T_Instruction_1 +                       sem_Instruction_Urshift_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6341 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6346 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instruction_Urshift_1)) of+            { ( sem_Instruction_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instruction_1) }) }) }))+-- Instructions ------------------------------------------------+-- cata+sem_Instructions :: Instructions  ->+                    T_Instructions +sem_Instructions list  =+    (Prelude.foldr sem_Instructions_Cons sem_Instructions_Nil (Prelude.map sem_Instruction list) )+-- semantic domain+type T_Instructions  = Int ->+                       Int ->+                       ( Int,Int,T_Instructions_1 )+type T_Instructions_1  = Int ->+                         ( CFGs,Int)+sem_Instructions_Cons :: T_Instruction  ->+                         T_Instructions  ->+                         T_Instructions +sem_Instructions_Cons hd_ tl_  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6373 "src/TrfToCFG.hs" #-}+                 )) of+          { _hdOguid | _hdOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6378 "src/TrfToCFG.hs" #-}+                  )) of+           { _hdOlocation | _hdOlocation `seq` (True) ->+           (case (hd_ _hdOguid _hdOlocation ) of+            { ( _hdIguid,_hdIlocation,hd_1) | True ->+                (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                        _hdIguid+                        {-# LINE 6385 "src/TrfToCFG.hs" #-}+                        )) of+                 { _tlOguid | _tlOguid `seq` (True) ->+                 (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                         _hdIlocation+                         {-# LINE 6390 "src/TrfToCFG.hs" #-}+                         )) of+                  { _tlOlocation | _tlOlocation `seq` (True) ->+                  (case (tl_ _tlOguid _tlOlocation ) of+                   { ( _tlIguid,_tlIlocation,tl_1) | True ->+                       (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                               _tlIguid+                               {-# LINE 6397 "src/TrfToCFG.hs" #-}+                               )) of+                        { _lhsOguid | _lhsOguid `seq` (True) ->+                        (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                                _tlIlocation+                                {-# LINE 6402 "src/TrfToCFG.hs" #-}+                                )) of+                         { _lhsOlocation | _lhsOlocation `seq` (True) ->+                         (case ((let sem_Instructions_Cons_1 :: T_Instructions_1 +                                     sem_Instructions_Cons_1  =+                                         (\ _lhsIrevLocation ->+                                              (case (({-# LINE 13 "src/ByteCodeLocationInfo.ag" #-}+                                                      _lhsIrevLocation+                                                      {-# LINE 6410 "src/TrfToCFG.hs" #-}+                                                      )) of+                                               { _tlOrevLocation | _tlOrevLocation `seq` (True) ->+                                               (case (tl_1 _tlOrevLocation ) of+                                                { ( _tlIgraphs,_tlIrevLocation) | True ->+                                                    (case (({-# LINE 14 "src/ByteCodeLocationInfo.ag" #-}+                                                            _tlIrevLocation+                                                            {-# LINE 6417 "src/TrfToCFG.hs" #-}+                                                            )) of+                                                     { _hdOrevLocation | _hdOrevLocation `seq` (True) ->+                                                     (case (hd_1 _hdOrevLocation ) of+                                                      { ( _hdIgraphs,_hdIrevLocation) | True ->+                                                          (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                                                  _hdIgraphs ++ _tlIgraphs+                                                                  {-# LINE 6424 "src/TrfToCFG.hs" #-}+                                                                  )) of+                                                           { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                                           (case (({-# LINE 15 "src/ByteCodeLocationInfo.ag" #-}+                                                                   _hdIrevLocation+                                                                   {-# LINE 6429 "src/TrfToCFG.hs" #-}+                                                                   )) of+                                                            { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                                            ( _lhsOgraphs,_lhsOrevLocation) }) }) }) }) }) }))+                                 in  sem_Instructions_Cons_1)) of+                          { ( sem_Instructions_1) | True ->+                          ( _lhsOguid,_lhsOlocation,sem_Instructions_1) }) }) }) }) }) }) }) }) }))+sem_Instructions_Nil :: T_Instructions +sem_Instructions_Nil  =+    (\ _lhsIguid+       _lhsIlocation ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 6442 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 6 "src/ByteCodeLocationInfo.ag" #-}+                  _lhsIlocation+                  {-# LINE 6447 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOlocation | _lhsOlocation `seq` (True) ->+           (case ((let sem_Instructions_Nil_1 :: T_Instructions_1 +                       sem_Instructions_Nil_1  =+                           (\ _lhsIrevLocation ->+                                (case (({-# LINE 45 "src/TrfToCFG.ag" #-}+                                        []+                                        {-# LINE 6455 "src/TrfToCFG.hs" #-}+                                        )) of+                                 { _lhsOgraphs | _lhsOgraphs `seq` (True) ->+                                 (case (({-# LINE 10 "src/ByteCodeLocationInfo.ag" #-}+                                         _lhsIrevLocation+                                         {-# LINE 6460 "src/TrfToCFG.hs" #-}+                                         )) of+                                  { _lhsOrevLocation | _lhsOrevLocation `seq` (True) ->+                                  ( _lhsOgraphs,_lhsOrevLocation) }) }))+                   in  sem_Instructions_Nil_1)) of+            { ( sem_Instructions_1) | True ->+            ( _lhsOguid,_lhsOlocation,sem_Instructions_1) }) }) }))+-- Interfaces --------------------------------------------------+-- cata+sem_Interfaces :: Interfaces  ->+                  T_Interfaces +sem_Interfaces list  =+    (Prelude.foldr sem_Interfaces_Cons sem_Interfaces_Nil list )+-- semantic domain+type T_Interfaces  = ( )+sem_Interfaces_Cons :: Word32 ->+                       T_Interfaces  ->+                       T_Interfaces +sem_Interfaces_Cons hd_ tl_  =+    ( )+sem_Interfaces_Nil :: T_Interfaces +sem_Interfaces_Nil  =+    ( )+-- MetaInfo ----------------------------------------------------+-- cata+sem_MetaInfo :: MetaInfo  ->+                T_MetaInfo +sem_MetaInfo (MetaInfo_Info _name _items )  =+    (sem_MetaInfo_Info _name (sem_MetaItems _items ) )+-- semantic domain+type T_MetaInfo  = ( )+sem_MetaInfo_Info :: Word32 ->+                     T_MetaItems  ->+                     T_MetaInfo +sem_MetaInfo_Info name_ items_  =+    ( )+-- MetaInfos ---------------------------------------------------+-- cata+sem_MetaInfos :: MetaInfos  ->+                 T_MetaInfos +sem_MetaInfos list  =+    (Prelude.foldr sem_MetaInfos_Cons sem_MetaInfos_Nil (Prelude.map sem_MetaInfo list) )+-- semantic domain+type T_MetaInfos  = ( )+sem_MetaInfos_Cons :: T_MetaInfo  ->+                      T_MetaInfos  ->+                      T_MetaInfos +sem_MetaInfos_Cons hd_ tl_  =+    ( )+sem_MetaInfos_Nil :: T_MetaInfos +sem_MetaInfos_Nil  =+    ( )+-- MetaItem ----------------------------------------------------+-- cata+sem_MetaItem :: MetaItem  ->+                T_MetaItem +sem_MetaItem (MetaItem_Item _key _value )  =+    (sem_MetaItem_Item _key _value )+-- semantic domain+type T_MetaItem  = ( )+sem_MetaItem_Item :: Word32 ->+                     Word32 ->+                     T_MetaItem +sem_MetaItem_Item key_ value_  =+    ( )+-- MetaItems ---------------------------------------------------+-- cata+sem_MetaItems :: MetaItems  ->+                 T_MetaItems +sem_MetaItems list  =+    (Prelude.foldr sem_MetaItems_Cons sem_MetaItems_Nil (Prelude.map sem_MetaItem list) )+-- semantic domain+type T_MetaItems  = ( )+sem_MetaItems_Cons :: T_MetaItem  ->+                      T_MetaItems  ->+                      T_MetaItems +sem_MetaItems_Cons hd_ tl_  =+    ( )+sem_MetaItems_Nil :: T_MetaItems +sem_MetaItems_Nil  =+    ( )+-- MethodFlag --------------------------------------------------+-- cata+sem_MethodFlag :: MethodFlag  ->+                  T_MethodFlag +sem_MethodFlag (MethodFlag_HasOptionals )  =+    (sem_MethodFlag_HasOptionals )+sem_MethodFlag (MethodFlag_HasParamNames )  =+    (sem_MethodFlag_HasParamNames )+sem_MethodFlag (MethodFlag_NeedAct )  =+    (sem_MethodFlag_NeedAct )+sem_MethodFlag (MethodFlag_NeedArgs )  =+    (sem_MethodFlag_NeedArgs )+sem_MethodFlag (MethodFlag_NeedRest )  =+    (sem_MethodFlag_NeedRest )+sem_MethodFlag (MethodFlag_SetDXNS )  =+    (sem_MethodFlag_SetDXNS )+-- semantic domain+type T_MethodFlag  = ( )+sem_MethodFlag_HasOptionals :: T_MethodFlag +sem_MethodFlag_HasOptionals  =+    ( )+sem_MethodFlag_HasParamNames :: T_MethodFlag +sem_MethodFlag_HasParamNames  =+    ( )+sem_MethodFlag_NeedAct :: T_MethodFlag +sem_MethodFlag_NeedAct  =+    ( )+sem_MethodFlag_NeedArgs :: T_MethodFlag +sem_MethodFlag_NeedArgs  =+    ( )+sem_MethodFlag_NeedRest :: T_MethodFlag +sem_MethodFlag_NeedRest  =+    ( )+sem_MethodFlag_SetDXNS :: T_MethodFlag +sem_MethodFlag_SetDXNS  =+    ( )+-- MethodFlags -------------------------------------------------+-- cata+sem_MethodFlags :: MethodFlags  ->+                   T_MethodFlags +sem_MethodFlags list  =+    (Prelude.foldr sem_MethodFlags_Cons sem_MethodFlags_Nil (Prelude.map sem_MethodFlag list) )+-- semantic domain+type T_MethodFlags  = ( )+sem_MethodFlags_Cons :: T_MethodFlag  ->+                        T_MethodFlags  ->+                        T_MethodFlags +sem_MethodFlags_Cons hd_ tl_  =+    ( )+sem_MethodFlags_Nil :: T_MethodFlags +sem_MethodFlags_Nil  =+    ( )+-- MethodInfo --------------------------------------------------+-- cata+sem_MethodInfo :: MethodInfo  ->+                  T_MethodInfo +sem_MethodInfo (MethodInfo_Info _return _params _name _flags _options _names )  =+    (sem_MethodInfo_Info _return (sem_ParamTypes _params ) _name (sem_MethodFlags _flags ) (sem_Optionals _options ) (sem_ParamNames _names ) )+-- semantic domain+type T_MethodInfo  = ( )+sem_MethodInfo_Info :: Word32 ->+                       T_ParamTypes  ->+                       Word32 ->+                       T_MethodFlags  ->+                       T_Optionals  ->+                       T_ParamNames  ->+                       T_MethodInfo +sem_MethodInfo_Info return_ params_ name_ flags_ options_ names_  =+    ( )+-- MethodInfos -------------------------------------------------+-- cata+sem_MethodInfos :: MethodInfos  ->+                   T_MethodInfos +sem_MethodInfos list  =+    (Prelude.foldr sem_MethodInfos_Cons sem_MethodInfos_Nil (Prelude.map sem_MethodInfo list) )+-- semantic domain+type T_MethodInfos  = ( )+sem_MethodInfos_Cons :: T_MethodInfo  ->+                        T_MethodInfos  ->+                        T_MethodInfos +sem_MethodInfos_Cons hd_ tl_  =+    ( )+sem_MethodInfos_Nil :: T_MethodInfos +sem_MethodInfos_Nil  =+    ( )+-- MultinameInfo -----------------------------------------------+-- cata+sem_MultinameInfo :: MultinameInfo  ->+                     T_MultinameInfo +sem_MultinameInfo (MultinameInfo_Generic _name _params )  =+    (sem_MultinameInfo_Generic _name (sem_ParamNames _params ) )+sem_MultinameInfo (MultinameInfo_Multiname _name _set )  =+    (sem_MultinameInfo_Multiname _name _set )+sem_MultinameInfo (MultinameInfo_MultinameA _name _set )  =+    (sem_MultinameInfo_MultinameA _name _set )+sem_MultinameInfo (MultinameInfo_MultinameL _set )  =+    (sem_MultinameInfo_MultinameL _set )+sem_MultinameInfo (MultinameInfo_MultinameLA _set )  =+    (sem_MultinameInfo_MultinameLA _set )+sem_MultinameInfo (MultinameInfo_QName _namespace _name )  =+    (sem_MultinameInfo_QName _namespace _name )+sem_MultinameInfo (MultinameInfo_QNameA _namespace _name )  =+    (sem_MultinameInfo_QNameA _namespace _name )+sem_MultinameInfo (MultinameInfo_RTQName _name )  =+    (sem_MultinameInfo_RTQName _name )+sem_MultinameInfo (MultinameInfo_RTQNameA _name )  =+    (sem_MultinameInfo_RTQNameA _name )+sem_MultinameInfo (MultinameInfo_RTQNameL )  =+    (sem_MultinameInfo_RTQNameL )+sem_MultinameInfo (MultinameInfo_RTQNameLA )  =+    (sem_MultinameInfo_RTQNameLA )+-- semantic domain+type T_MultinameInfo  = ( )+sem_MultinameInfo_Generic :: Word32 ->+                             T_ParamNames  ->+                             T_MultinameInfo +sem_MultinameInfo_Generic name_ params_  =+    ( )+sem_MultinameInfo_Multiname :: Word32 ->+                               Word32 ->+                               T_MultinameInfo +sem_MultinameInfo_Multiname name_ set_  =+    ( )+sem_MultinameInfo_MultinameA :: Word32 ->+                                Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameA name_ set_  =+    ( )+sem_MultinameInfo_MultinameL :: Word32 ->+                                T_MultinameInfo +sem_MultinameInfo_MultinameL set_  =+    ( )+sem_MultinameInfo_MultinameLA :: Word32 ->+                                 T_MultinameInfo +sem_MultinameInfo_MultinameLA set_  =+    ( )+sem_MultinameInfo_QName :: Word32 ->+                           Word32 ->+                           T_MultinameInfo +sem_MultinameInfo_QName namespace_ name_  =+    ( )+sem_MultinameInfo_QNameA :: Word32 ->+                            Word32 ->+                            T_MultinameInfo +sem_MultinameInfo_QNameA namespace_ name_  =+    ( )+sem_MultinameInfo_RTQName :: Word32 ->+                             T_MultinameInfo +sem_MultinameInfo_RTQName name_  =+    ( )+sem_MultinameInfo_RTQNameA :: Word32 ->+                              T_MultinameInfo +sem_MultinameInfo_RTQNameA name_  =+    ( )+sem_MultinameInfo_RTQNameL :: T_MultinameInfo +sem_MultinameInfo_RTQNameL  =+    ( )+sem_MultinameInfo_RTQNameLA :: T_MultinameInfo +sem_MultinameInfo_RTQNameLA  =+    ( )+-- MultinameInfos ----------------------------------------------+-- cata+sem_MultinameInfos :: MultinameInfos  ->+                      T_MultinameInfos +sem_MultinameInfos list  =+    (Prelude.foldr sem_MultinameInfos_Cons sem_MultinameInfos_Nil (Prelude.map sem_MultinameInfo list) )+-- semantic domain+type T_MultinameInfos  = ( )+sem_MultinameInfos_Cons :: T_MultinameInfo  ->+                           T_MultinameInfos  ->+                           T_MultinameInfos +sem_MultinameInfos_Cons hd_ tl_  =+    ( )+sem_MultinameInfos_Nil :: T_MultinameInfos +sem_MultinameInfos_Nil  =+    ( )+-- MultinameKind -----------------------------------------------+-- cata+sem_MultinameKind :: MultinameKind  ->+                     T_MultinameKind +sem_MultinameKind (MultinameKind_Generic )  =+    (sem_MultinameKind_Generic )+sem_MultinameKind (MultinameKind_Multiname )  =+    (sem_MultinameKind_Multiname )+sem_MultinameKind (MultinameKind_MultinameA )  =+    (sem_MultinameKind_MultinameA )+sem_MultinameKind (MultinameKind_MultinameL )  =+    (sem_MultinameKind_MultinameL )+sem_MultinameKind (MultinameKind_MultinameLA )  =+    (sem_MultinameKind_MultinameLA )+sem_MultinameKind (MultinameKind_QName )  =+    (sem_MultinameKind_QName )+sem_MultinameKind (MultinameKind_QNameA )  =+    (sem_MultinameKind_QNameA )+sem_MultinameKind (MultinameKind_RTQName )  =+    (sem_MultinameKind_RTQName )+sem_MultinameKind (MultinameKind_RTQNameA )  =+    (sem_MultinameKind_RTQNameA )+sem_MultinameKind (MultinameKind_RTQNameL )  =+    (sem_MultinameKind_RTQNameL )+sem_MultinameKind (MultinameKind_RTQNameLA )  =+    (sem_MultinameKind_RTQNameLA )+-- semantic domain+type T_MultinameKind  = ( )+sem_MultinameKind_Generic :: T_MultinameKind +sem_MultinameKind_Generic  =+    ( )+sem_MultinameKind_Multiname :: T_MultinameKind +sem_MultinameKind_Multiname  =+    ( )+sem_MultinameKind_MultinameA :: T_MultinameKind +sem_MultinameKind_MultinameA  =+    ( )+sem_MultinameKind_MultinameL :: T_MultinameKind +sem_MultinameKind_MultinameL  =+    ( )+sem_MultinameKind_MultinameLA :: T_MultinameKind +sem_MultinameKind_MultinameLA  =+    ( )+sem_MultinameKind_QName :: T_MultinameKind +sem_MultinameKind_QName  =+    ( )+sem_MultinameKind_QNameA :: T_MultinameKind +sem_MultinameKind_QNameA  =+    ( )+sem_MultinameKind_RTQName :: T_MultinameKind +sem_MultinameKind_RTQName  =+    ( )+sem_MultinameKind_RTQNameA :: T_MultinameKind +sem_MultinameKind_RTQNameA  =+    ( )+sem_MultinameKind_RTQNameL :: T_MultinameKind +sem_MultinameKind_RTQNameL  =+    ( )+sem_MultinameKind_RTQNameLA :: T_MultinameKind +sem_MultinameKind_RTQNameLA  =+    ( )+-- NamespaceInfo -----------------------------------------------+-- cata+sem_NamespaceInfo :: NamespaceInfo  ->+                     T_NamespaceInfo +sem_NamespaceInfo (NamespaceInfo_Info _kind _name )  =+    (sem_NamespaceInfo_Info (sem_NamespaceKind _kind ) _name )+-- semantic domain+type T_NamespaceInfo  = ( )+sem_NamespaceInfo_Info :: T_NamespaceKind  ->+                          Word32 ->+                          T_NamespaceInfo +sem_NamespaceInfo_Info kind_ name_  =+    ( )+-- NamespaceInfos ----------------------------------------------+-- cata+sem_NamespaceInfos :: NamespaceInfos  ->+                      T_NamespaceInfos +sem_NamespaceInfos list  =+    (Prelude.foldr sem_NamespaceInfos_Cons sem_NamespaceInfos_Nil (Prelude.map sem_NamespaceInfo list) )+-- semantic domain+type T_NamespaceInfos  = ( )+sem_NamespaceInfos_Cons :: T_NamespaceInfo  ->+                           T_NamespaceInfos  ->+                           T_NamespaceInfos +sem_NamespaceInfos_Cons hd_ tl_  =+    ( )+sem_NamespaceInfos_Nil :: T_NamespaceInfos +sem_NamespaceInfos_Nil  =+    ( )+-- NamespaceKind -----------------------------------------------+-- cata+sem_NamespaceKind :: NamespaceKind  ->+                     T_NamespaceKind +sem_NamespaceKind (NamespaceKind_Explicit )  =+    (sem_NamespaceKind_Explicit )+sem_NamespaceKind (NamespaceKind_General )  =+    (sem_NamespaceKind_General )+sem_NamespaceKind (NamespaceKind_Internal )  =+    (sem_NamespaceKind_Internal )+sem_NamespaceKind (NamespaceKind_Package )  =+    (sem_NamespaceKind_Package )+sem_NamespaceKind (NamespaceKind_Private )  =+    (sem_NamespaceKind_Private )+sem_NamespaceKind (NamespaceKind_Protected )  =+    (sem_NamespaceKind_Protected )+sem_NamespaceKind (NamespaceKind_Static )  =+    (sem_NamespaceKind_Static )+-- semantic domain+type T_NamespaceKind  = ( )+sem_NamespaceKind_Explicit :: T_NamespaceKind +sem_NamespaceKind_Explicit  =+    ( )+sem_NamespaceKind_General :: T_NamespaceKind +sem_NamespaceKind_General  =+    ( )+sem_NamespaceKind_Internal :: T_NamespaceKind +sem_NamespaceKind_Internal  =+    ( )+sem_NamespaceKind_Package :: T_NamespaceKind +sem_NamespaceKind_Package  =+    ( )+sem_NamespaceKind_Private :: T_NamespaceKind +sem_NamespaceKind_Private  =+    ( )+sem_NamespaceKind_Protected :: T_NamespaceKind +sem_NamespaceKind_Protected  =+    ( )+sem_NamespaceKind_Static :: T_NamespaceKind +sem_NamespaceKind_Static  =+    ( )+-- NamespaceNames ----------------------------------------------+-- cata+sem_NamespaceNames :: NamespaceNames  ->+                      T_NamespaceNames +sem_NamespaceNames list  =+    (Prelude.foldr sem_NamespaceNames_Cons sem_NamespaceNames_Nil list )+-- semantic domain+type T_NamespaceNames  = ( )+sem_NamespaceNames_Cons :: Word32 ->+                           T_NamespaceNames  ->+                           T_NamespaceNames +sem_NamespaceNames_Cons hd_ tl_  =+    ( )+sem_NamespaceNames_Nil :: T_NamespaceNames +sem_NamespaceNames_Nil  =+    ( )+-- Optional ----------------------------------------------------+-- cata+sem_Optional :: Optional  ->+                T_Optional +sem_Optional (Optional_Detail _val _kind )  =+    (sem_Optional_Detail _val (sem_ValueKind _kind ) )+-- semantic domain+type T_Optional  = ( )+sem_Optional_Detail :: Word32 ->+                       T_ValueKind  ->+                       T_Optional +sem_Optional_Detail val_ kind_  =+    ( )+-- Optionals ---------------------------------------------------+-- cata+sem_Optionals :: Optionals  ->+                 T_Optionals +sem_Optionals list  =+    (Prelude.foldr sem_Optionals_Cons sem_Optionals_Nil (Prelude.map sem_Optional list) )+-- semantic domain+type T_Optionals  = ( )+sem_Optionals_Cons :: T_Optional  ->+                      T_Optionals  ->+                      T_Optionals +sem_Optionals_Cons hd_ tl_  =+    ( )+sem_Optionals_Nil :: T_Optionals +sem_Optionals_Nil  =+    ( )+-- ParamNames --------------------------------------------------+-- cata+sem_ParamNames :: ParamNames  ->+                  T_ParamNames +sem_ParamNames list  =+    (Prelude.foldr sem_ParamNames_Cons sem_ParamNames_Nil list )+-- semantic domain+type T_ParamNames  = ( )+sem_ParamNames_Cons :: Word32 ->+                       T_ParamNames  ->+                       T_ParamNames +sem_ParamNames_Cons hd_ tl_  =+    ( )+sem_ParamNames_Nil :: T_ParamNames +sem_ParamNames_Nil  =+    ( )+-- ParamTypes --------------------------------------------------+-- cata+sem_ParamTypes :: ParamTypes  ->+                  T_ParamTypes +sem_ParamTypes list  =+    (Prelude.foldr sem_ParamTypes_Cons sem_ParamTypes_Nil list )+-- semantic domain+type T_ParamTypes  = ( )+sem_ParamTypes_Cons :: Word32 ->+                       T_ParamTypes  ->+                       T_ParamTypes +sem_ParamTypes_Cons hd_ tl_  =+    ( )+sem_ParamTypes_Nil :: T_ParamTypes +sem_ParamTypes_Nil  =+    ( )+-- PoolDoubles -------------------------------------------------+-- cata+sem_PoolDoubles :: PoolDoubles  ->+                   T_PoolDoubles +sem_PoolDoubles list  =+    (Prelude.foldr sem_PoolDoubles_Cons sem_PoolDoubles_Nil list )+-- semantic domain+type T_PoolDoubles  = ( )+sem_PoolDoubles_Cons :: Double ->+                        T_PoolDoubles  ->+                        T_PoolDoubles +sem_PoolDoubles_Cons hd_ tl_  =+    ( )+sem_PoolDoubles_Nil :: T_PoolDoubles +sem_PoolDoubles_Nil  =+    ( )+-- PoolInfo ----------------------------------------------------+-- cata+sem_PoolInfo :: PoolInfo  ->+                T_PoolInfo +sem_PoolInfo (PoolInfo_Info _integers _uintegers _doubles _strings _namespaces _namesets _multinames )  =+    (sem_PoolInfo_Info (sem_PoolInts _integers ) (sem_PoolUInts _uintegers ) (sem_PoolDoubles _doubles ) (sem_PoolStrings _strings ) (sem_NamespaceInfos _namespaces ) (sem_SetInfos _namesets ) (sem_MultinameInfos _multinames ) )+-- semantic domain+type T_PoolInfo  = ( )+sem_PoolInfo_Info :: T_PoolInts  ->+                     T_PoolUInts  ->+                     T_PoolDoubles  ->+                     T_PoolStrings  ->+                     T_NamespaceInfos  ->+                     T_SetInfos  ->+                     T_MultinameInfos  ->+                     T_PoolInfo +sem_PoolInfo_Info integers_ uintegers_ doubles_ strings_ namespaces_ namesets_ multinames_  =+    ( )+-- PoolInts ----------------------------------------------------+-- cata+sem_PoolInts :: PoolInts  ->+                T_PoolInts +sem_PoolInts list  =+    (Prelude.foldr sem_PoolInts_Cons sem_PoolInts_Nil list )+-- semantic domain+type T_PoolInts  = ( )+sem_PoolInts_Cons :: Word32 ->+                     T_PoolInts  ->+                     T_PoolInts +sem_PoolInts_Cons hd_ tl_  =+    ( )+sem_PoolInts_Nil :: T_PoolInts +sem_PoolInts_Nil  =+    ( )+-- PoolStrings -------------------------------------------------+-- cata+sem_PoolStrings :: PoolStrings  ->+                   T_PoolStrings +sem_PoolStrings list  =+    (Prelude.foldr sem_PoolStrings_Cons sem_PoolStrings_Nil list )+-- semantic domain+type T_PoolStrings  = ( )+sem_PoolStrings_Cons :: ByteString ->+                        T_PoolStrings  ->+                        T_PoolStrings +sem_PoolStrings_Cons hd_ tl_  =+    ( )+sem_PoolStrings_Nil :: T_PoolStrings +sem_PoolStrings_Nil  =+    ( )+-- PoolUInts ---------------------------------------------------+-- cata+sem_PoolUInts :: PoolUInts  ->+                 T_PoolUInts +sem_PoolUInts list  =+    (Prelude.foldr sem_PoolUInts_Cons sem_PoolUInts_Nil list )+-- semantic domain+type T_PoolUInts  = ( )+sem_PoolUInts_Cons :: Word32 ->+                      T_PoolUInts  ->+                      T_PoolUInts +sem_PoolUInts_Cons hd_ tl_  =+    ( )+sem_PoolUInts_Nil :: T_PoolUInts +sem_PoolUInts_Nil  =+    ( )+-- Rect --------------------------------------------------------+-- cata+sem_Rect :: Rect  ->+            T_Rect +sem_Rect (Rect_Rect _bits _xMin _xMax _yMin _yMax )  =+    (sem_Rect_Rect _bits _xMin _xMax _yMin _yMax )+-- semantic domain+type T_Rect  = ( )+sem_Rect_Rect :: Int ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 Word32 ->+                 T_Rect +sem_Rect_Rect bits_ xMin_ xMax_ yMin_ yMax_  =+    ( )+-- ScriptInfo --------------------------------------------------+-- cata+sem_ScriptInfo :: ScriptInfo  ->+                  T_ScriptInfo +sem_ScriptInfo (ScriptInfo_Info _method _traits )  =+    (sem_ScriptInfo_Info _method (sem_Traits _traits ) )+-- semantic domain+type T_ScriptInfo  = ( )+sem_ScriptInfo_Info :: Word32 ->+                       T_Traits  ->+                       T_ScriptInfo +sem_ScriptInfo_Info method_ traits_  =+    ( )+-- ScriptInfos -------------------------------------------------+-- cata+sem_ScriptInfos :: ScriptInfos  ->+                   T_ScriptInfos +sem_ScriptInfos list  =+    (Prelude.foldr sem_ScriptInfos_Cons sem_ScriptInfos_Nil (Prelude.map sem_ScriptInfo list) )+-- semantic domain+type T_ScriptInfos  = ( )+sem_ScriptInfos_Cons :: T_ScriptInfo  ->+                        T_ScriptInfos  ->+                        T_ScriptInfos +sem_ScriptInfos_Cons hd_ tl_  =+    ( )+sem_ScriptInfos_Nil :: T_ScriptInfos +sem_ScriptInfos_Nil  =+    ( )+-- SetInfo -----------------------------------------------------+-- cata+sem_SetInfo :: SetInfo  ->+               T_SetInfo +sem_SetInfo (SetInfo_Info _names )  =+    (sem_SetInfo_Info (sem_NamespaceNames _names ) )+-- semantic domain+type T_SetInfo  = ( )+sem_SetInfo_Info :: T_NamespaceNames  ->+                    T_SetInfo +sem_SetInfo_Info names_  =+    ( )+-- SetInfos ----------------------------------------------------+-- cata+sem_SetInfos :: SetInfos  ->+                T_SetInfos +sem_SetInfos list  =+    (Prelude.foldr sem_SetInfos_Cons sem_SetInfos_Nil (Prelude.map sem_SetInfo list) )+-- semantic domain+type T_SetInfos  = ( )+sem_SetInfos_Cons :: T_SetInfo  ->+                     T_SetInfos  ->+                     T_SetInfos +sem_SetInfos_Cons hd_ tl_  =+    ( )+sem_SetInfos_Nil :: T_SetInfos +sem_SetInfos_Nil  =+    ( )+-- SwfFile -----------------------------------------------------+-- cata+sem_SwfFile :: SwfFile  ->+               T_SwfFile +sem_SwfFile (SwfFile_File _compressed _version _length _size _rate _count _tags )  =+    (sem_SwfFile_File _compressed _version _length (sem_Rect _size ) _rate _count (sem_Tags _tags ) )+-- semantic domain+type T_SwfFile  = Int ->+                  ( Int,Programs)+data Inh_SwfFile  = Inh_SwfFile {guid_Inh_SwfFile :: !(Int)}+data Syn_SwfFile  = Syn_SwfFile {guid_Syn_SwfFile :: !(Int),programs_Syn_SwfFile :: !(Programs)}+wrap_SwfFile :: T_SwfFile  ->+                Inh_SwfFile  ->+                Syn_SwfFile +wrap_SwfFile sem (Inh_SwfFile _lhsIguid )  =+    (let ( _lhsOguid,_lhsOprograms) | True = sem _lhsIguid +     in  (Syn_SwfFile _lhsOguid _lhsOprograms ))+sem_SwfFile_File :: Bool ->+                    Word8 ->+                    Word32 ->+                    T_Rect  ->+                    Word16 ->+                    Word16 ->+                    T_Tags  ->+                    T_SwfFile +sem_SwfFile_File compressed_ version_ length_ size_ rate_ count_ tags_  =+    (\ _lhsIguid ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 7109 "src/TrfToCFG.hs" #-}+                 )) of+          { _tagsOguid | _tagsOguid `seq` (True) ->+          (case (tags_ _tagsOguid ) of+           { ( _tagsIguid,_tagsIprograms) | True ->+               (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                       _tagsIguid+                       {-# LINE 7116 "src/TrfToCFG.hs" #-}+                       )) of+                { _lhsOguid | _lhsOguid `seq` (True) ->+                (case (({-# LINE 44 "src/TrfToCFG.ag" #-}+                        _tagsIprograms+                        {-# LINE 7121 "src/TrfToCFG.hs" #-}+                        )) of+                 { _lhsOprograms | _lhsOprograms `seq` (True) ->+                 ( _lhsOguid,_lhsOprograms) }) }) }) }))+-- Tag ---------------------------------------------------------+-- cata+sem_Tag :: Tag  ->+           T_Tag +sem_Tag (Tag_Abc _flags _name _file )  =+    (sem_Tag_Abc (sem_AbcFlags _flags ) _name (sem_AbcFile _file ) )+sem_Tag (Tag_End )  =+    (sem_Tag_End )+sem_Tag (Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )  =+    (sem_Tag_FileAttributes _useDirectBlit _useGPU _hasMetaData _hasAS3 _useNetwork )+sem_Tag (Tag_Opaque _kind _length _body )  =+    (sem_Tag_Opaque (sem_TagKind _kind ) _length _body )+-- semantic domain+type T_Tag  = Int ->+              ( Int,Programs)+sem_Tag_Abc :: T_AbcFlags  ->+               ByteString ->+               T_AbcFile  ->+               T_Tag +sem_Tag_Abc flags_ name_ file_  =+    (\ _lhsIguid ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 7148 "src/TrfToCFG.hs" #-}+                 )) of+          { _fileOguid | _fileOguid `seq` (True) ->+          (case (file_ _fileOguid ) of+           { ( _fileIguid,_fileIprograms) | True ->+               (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                       _fileIguid+                       {-# LINE 7155 "src/TrfToCFG.hs" #-}+                       )) of+                { _lhsOguid | _lhsOguid `seq` (True) ->+                (case (({-# LINE 44 "src/TrfToCFG.ag" #-}+                        _fileIprograms+                        {-# LINE 7160 "src/TrfToCFG.hs" #-}+                        )) of+                 { _lhsOprograms | _lhsOprograms `seq` (True) ->+                 ( _lhsOguid,_lhsOprograms) }) }) }) }))+sem_Tag_End :: T_Tag +sem_Tag_End  =+    (\ _lhsIguid ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 7169 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 44 "src/TrfToCFG.ag" #-}+                  []+                  {-# LINE 7174 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOprograms | _lhsOprograms `seq` (True) ->+           ( _lhsOguid,_lhsOprograms) }) }))+sem_Tag_FileAttributes :: Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          Bool ->+                          T_Tag +sem_Tag_FileAttributes useDirectBlit_ useGPU_ hasMetaData_ hasAS3_ useNetwork_  =+    (\ _lhsIguid ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 7188 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 44 "src/TrfToCFG.ag" #-}+                  []+                  {-# LINE 7193 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOprograms | _lhsOprograms `seq` (True) ->+           ( _lhsOguid,_lhsOprograms) }) }))+sem_Tag_Opaque :: T_TagKind  ->+                  Word32 ->+                  ByteString ->+                  T_Tag +sem_Tag_Opaque kind_ length_ body_  =+    (\ _lhsIguid ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 7205 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 44 "src/TrfToCFG.ag" #-}+                  []+                  {-# LINE 7210 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOprograms | _lhsOprograms `seq` (True) ->+           ( _lhsOguid,_lhsOprograms) }) }))+-- TagKind -----------------------------------------------------+-- cata+sem_TagKind :: TagKind  ->+               T_TagKind +sem_TagKind (TagKind_CSMTextSettings )  =+    (sem_TagKind_CSMTextSettings )+sem_TagKind (TagKind_DefineBinaryData )  =+    (sem_TagKind_DefineBinaryData )+sem_TagKind (TagKind_DefineBits )  =+    (sem_TagKind_DefineBits )+sem_TagKind (TagKind_DefineBitsJPEG2 )  =+    (sem_TagKind_DefineBitsJPEG2 )+sem_TagKind (TagKind_DefineBitsJPEG3 )  =+    (sem_TagKind_DefineBitsJPEG3 )+sem_TagKind (TagKind_DefineBitsJPEG4 )  =+    (sem_TagKind_DefineBitsJPEG4 )+sem_TagKind (TagKind_DefineBitsLossless )  =+    (sem_TagKind_DefineBitsLossless )+sem_TagKind (TagKind_DefineBitsLossless2 )  =+    (sem_TagKind_DefineBitsLossless2 )+sem_TagKind (TagKind_DefineButton )  =+    (sem_TagKind_DefineButton )+sem_TagKind (TagKind_DefineButton2 )  =+    (sem_TagKind_DefineButton2 )+sem_TagKind (TagKind_DefineButtonCxform )  =+    (sem_TagKind_DefineButtonCxform )+sem_TagKind (TagKind_DefineButtonSound )  =+    (sem_TagKind_DefineButtonSound )+sem_TagKind (TagKind_DefineEditText )  =+    (sem_TagKind_DefineEditText )+sem_TagKind (TagKind_DefineFont )  =+    (sem_TagKind_DefineFont )+sem_TagKind (TagKind_DefineFont2 )  =+    (sem_TagKind_DefineFont2 )+sem_TagKind (TagKind_DefineFont3 )  =+    (sem_TagKind_DefineFont3 )+sem_TagKind (TagKind_DefineFont4 )  =+    (sem_TagKind_DefineFont4 )+sem_TagKind (TagKind_DefineFontAlignZones )  =+    (sem_TagKind_DefineFontAlignZones )+sem_TagKind (TagKind_DefineFontInfo )  =+    (sem_TagKind_DefineFontInfo )+sem_TagKind (TagKind_DefineFontInfo2 )  =+    (sem_TagKind_DefineFontInfo2 )+sem_TagKind (TagKind_DefineFontName )  =+    (sem_TagKind_DefineFontName )+sem_TagKind (TagKind_DefineMorphShape )  =+    (sem_TagKind_DefineMorphShape )+sem_TagKind (TagKind_DefineMorphShape2 )  =+    (sem_TagKind_DefineMorphShape2 )+sem_TagKind (TagKind_DefineScalingGrid )  =+    (sem_TagKind_DefineScalingGrid )+sem_TagKind (TagKind_DefineSceneAndFrameLabelData )  =+    (sem_TagKind_DefineSceneAndFrameLabelData )+sem_TagKind (TagKind_DefineShape )  =+    (sem_TagKind_DefineShape )+sem_TagKind (TagKind_DefineShape2 )  =+    (sem_TagKind_DefineShape2 )+sem_TagKind (TagKind_DefineShape3 )  =+    (sem_TagKind_DefineShape3 )+sem_TagKind (TagKind_DefineShape4 )  =+    (sem_TagKind_DefineShape4 )+sem_TagKind (TagKind_DefineSound )  =+    (sem_TagKind_DefineSound )+sem_TagKind (TagKind_DefineSprite )  =+    (sem_TagKind_DefineSprite )+sem_TagKind (TagKind_DefineText )  =+    (sem_TagKind_DefineText )+sem_TagKind (TagKind_DefineText2 )  =+    (sem_TagKind_DefineText2 )+sem_TagKind (TagKind_DefineVideoStream )  =+    (sem_TagKind_DefineVideoStream )+sem_TagKind (TagKind_DoABC )  =+    (sem_TagKind_DoABC )+sem_TagKind (TagKind_DoAction )  =+    (sem_TagKind_DoAction )+sem_TagKind (TagKind_DoInitAction )  =+    (sem_TagKind_DoInitAction )+sem_TagKind (TagKind_EnableDebugger )  =+    (sem_TagKind_EnableDebugger )+sem_TagKind (TagKind_EnableDebugger2 )  =+    (sem_TagKind_EnableDebugger2 )+sem_TagKind (TagKind_End )  =+    (sem_TagKind_End )+sem_TagKind (TagKind_ExportAssets )  =+    (sem_TagKind_ExportAssets )+sem_TagKind (TagKind_FileAttributes )  =+    (sem_TagKind_FileAttributes )+sem_TagKind (TagKind_FrameLabel )  =+    (sem_TagKind_FrameLabel )+sem_TagKind (TagKind_ImportAssets )  =+    (sem_TagKind_ImportAssets )+sem_TagKind (TagKind_ImportAssets2 )  =+    (sem_TagKind_ImportAssets2 )+sem_TagKind (TagKind_JPEGTables )  =+    (sem_TagKind_JPEGTables )+sem_TagKind (TagKind_Metadata )  =+    (sem_TagKind_Metadata )+sem_TagKind (TagKind_Other _code )  =+    (sem_TagKind_Other _code )+sem_TagKind (TagKind_PlaceObject )  =+    (sem_TagKind_PlaceObject )+sem_TagKind (TagKind_PlaceObject2 )  =+    (sem_TagKind_PlaceObject2 )+sem_TagKind (TagKind_PlaceObject3 )  =+    (sem_TagKind_PlaceObject3 )+sem_TagKind (TagKind_Protect )  =+    (sem_TagKind_Protect )+sem_TagKind (TagKind_RemoveObject )  =+    (sem_TagKind_RemoveObject )+sem_TagKind (TagKind_RemoveObject2 )  =+    (sem_TagKind_RemoveObject2 )+sem_TagKind (TagKind_ScriptLimits )  =+    (sem_TagKind_ScriptLimits )+sem_TagKind (TagKind_SetBackgroundColor )  =+    (sem_TagKind_SetBackgroundColor )+sem_TagKind (TagKind_SetTabIndex )  =+    (sem_TagKind_SetTabIndex )+sem_TagKind (TagKind_ShowFrame )  =+    (sem_TagKind_ShowFrame )+sem_TagKind (TagKind_SoundStreamBlock )  =+    (sem_TagKind_SoundStreamBlock )+sem_TagKind (TagKind_SoundStreamHead )  =+    (sem_TagKind_SoundStreamHead )+sem_TagKind (TagKind_SoundStreamHead2 )  =+    (sem_TagKind_SoundStreamHead2 )+sem_TagKind (TagKind_StartSound )  =+    (sem_TagKind_StartSound )+sem_TagKind (TagKind_StartSound2 )  =+    (sem_TagKind_StartSound2 )+sem_TagKind (TagKind_SymbolClass )  =+    (sem_TagKind_SymbolClass )+sem_TagKind (TagKind_VideoFrame )  =+    (sem_TagKind_VideoFrame )+-- semantic domain+type T_TagKind  = ( )+sem_TagKind_CSMTextSettings :: T_TagKind +sem_TagKind_CSMTextSettings  =+    ( )+sem_TagKind_DefineBinaryData :: T_TagKind +sem_TagKind_DefineBinaryData  =+    ( )+sem_TagKind_DefineBits :: T_TagKind +sem_TagKind_DefineBits  =+    ( )+sem_TagKind_DefineBitsJPEG2 :: T_TagKind +sem_TagKind_DefineBitsJPEG2  =+    ( )+sem_TagKind_DefineBitsJPEG3 :: T_TagKind +sem_TagKind_DefineBitsJPEG3  =+    ( )+sem_TagKind_DefineBitsJPEG4 :: T_TagKind +sem_TagKind_DefineBitsJPEG4  =+    ( )+sem_TagKind_DefineBitsLossless :: T_TagKind +sem_TagKind_DefineBitsLossless  =+    ( )+sem_TagKind_DefineBitsLossless2 :: T_TagKind +sem_TagKind_DefineBitsLossless2  =+    ( )+sem_TagKind_DefineButton :: T_TagKind +sem_TagKind_DefineButton  =+    ( )+sem_TagKind_DefineButton2 :: T_TagKind +sem_TagKind_DefineButton2  =+    ( )+sem_TagKind_DefineButtonCxform :: T_TagKind +sem_TagKind_DefineButtonCxform  =+    ( )+sem_TagKind_DefineButtonSound :: T_TagKind +sem_TagKind_DefineButtonSound  =+    ( )+sem_TagKind_DefineEditText :: T_TagKind +sem_TagKind_DefineEditText  =+    ( )+sem_TagKind_DefineFont :: T_TagKind +sem_TagKind_DefineFont  =+    ( )+sem_TagKind_DefineFont2 :: T_TagKind +sem_TagKind_DefineFont2  =+    ( )+sem_TagKind_DefineFont3 :: T_TagKind +sem_TagKind_DefineFont3  =+    ( )+sem_TagKind_DefineFont4 :: T_TagKind +sem_TagKind_DefineFont4  =+    ( )+sem_TagKind_DefineFontAlignZones :: T_TagKind +sem_TagKind_DefineFontAlignZones  =+    ( )+sem_TagKind_DefineFontInfo :: T_TagKind +sem_TagKind_DefineFontInfo  =+    ( )+sem_TagKind_DefineFontInfo2 :: T_TagKind +sem_TagKind_DefineFontInfo2  =+    ( )+sem_TagKind_DefineFontName :: T_TagKind +sem_TagKind_DefineFontName  =+    ( )+sem_TagKind_DefineMorphShape :: T_TagKind +sem_TagKind_DefineMorphShape  =+    ( )+sem_TagKind_DefineMorphShape2 :: T_TagKind +sem_TagKind_DefineMorphShape2  =+    ( )+sem_TagKind_DefineScalingGrid :: T_TagKind +sem_TagKind_DefineScalingGrid  =+    ( )+sem_TagKind_DefineSceneAndFrameLabelData :: T_TagKind +sem_TagKind_DefineSceneAndFrameLabelData  =+    ( )+sem_TagKind_DefineShape :: T_TagKind +sem_TagKind_DefineShape  =+    ( )+sem_TagKind_DefineShape2 :: T_TagKind +sem_TagKind_DefineShape2  =+    ( )+sem_TagKind_DefineShape3 :: T_TagKind +sem_TagKind_DefineShape3  =+    ( )+sem_TagKind_DefineShape4 :: T_TagKind +sem_TagKind_DefineShape4  =+    ( )+sem_TagKind_DefineSound :: T_TagKind +sem_TagKind_DefineSound  =+    ( )+sem_TagKind_DefineSprite :: T_TagKind +sem_TagKind_DefineSprite  =+    ( )+sem_TagKind_DefineText :: T_TagKind +sem_TagKind_DefineText  =+    ( )+sem_TagKind_DefineText2 :: T_TagKind +sem_TagKind_DefineText2  =+    ( )+sem_TagKind_DefineVideoStream :: T_TagKind +sem_TagKind_DefineVideoStream  =+    ( )+sem_TagKind_DoABC :: T_TagKind +sem_TagKind_DoABC  =+    ( )+sem_TagKind_DoAction :: T_TagKind +sem_TagKind_DoAction  =+    ( )+sem_TagKind_DoInitAction :: T_TagKind +sem_TagKind_DoInitAction  =+    ( )+sem_TagKind_EnableDebugger :: T_TagKind +sem_TagKind_EnableDebugger  =+    ( )+sem_TagKind_EnableDebugger2 :: T_TagKind +sem_TagKind_EnableDebugger2  =+    ( )+sem_TagKind_End :: T_TagKind +sem_TagKind_End  =+    ( )+sem_TagKind_ExportAssets :: T_TagKind +sem_TagKind_ExportAssets  =+    ( )+sem_TagKind_FileAttributes :: T_TagKind +sem_TagKind_FileAttributes  =+    ( )+sem_TagKind_FrameLabel :: T_TagKind +sem_TagKind_FrameLabel  =+    ( )+sem_TagKind_ImportAssets :: T_TagKind +sem_TagKind_ImportAssets  =+    ( )+sem_TagKind_ImportAssets2 :: T_TagKind +sem_TagKind_ImportAssets2  =+    ( )+sem_TagKind_JPEGTables :: T_TagKind +sem_TagKind_JPEGTables  =+    ( )+sem_TagKind_Metadata :: T_TagKind +sem_TagKind_Metadata  =+    ( )+sem_TagKind_Other :: Word16 ->+                     T_TagKind +sem_TagKind_Other code_  =+    ( )+sem_TagKind_PlaceObject :: T_TagKind +sem_TagKind_PlaceObject  =+    ( )+sem_TagKind_PlaceObject2 :: T_TagKind +sem_TagKind_PlaceObject2  =+    ( )+sem_TagKind_PlaceObject3 :: T_TagKind +sem_TagKind_PlaceObject3  =+    ( )+sem_TagKind_Protect :: T_TagKind +sem_TagKind_Protect  =+    ( )+sem_TagKind_RemoveObject :: T_TagKind +sem_TagKind_RemoveObject  =+    ( )+sem_TagKind_RemoveObject2 :: T_TagKind +sem_TagKind_RemoveObject2  =+    ( )+sem_TagKind_ScriptLimits :: T_TagKind +sem_TagKind_ScriptLimits  =+    ( )+sem_TagKind_SetBackgroundColor :: T_TagKind +sem_TagKind_SetBackgroundColor  =+    ( )+sem_TagKind_SetTabIndex :: T_TagKind +sem_TagKind_SetTabIndex  =+    ( )+sem_TagKind_ShowFrame :: T_TagKind +sem_TagKind_ShowFrame  =+    ( )+sem_TagKind_SoundStreamBlock :: T_TagKind +sem_TagKind_SoundStreamBlock  =+    ( )+sem_TagKind_SoundStreamHead :: T_TagKind +sem_TagKind_SoundStreamHead  =+    ( )+sem_TagKind_SoundStreamHead2 :: T_TagKind +sem_TagKind_SoundStreamHead2  =+    ( )+sem_TagKind_StartSound :: T_TagKind +sem_TagKind_StartSound  =+    ( )+sem_TagKind_StartSound2 :: T_TagKind +sem_TagKind_StartSound2  =+    ( )+sem_TagKind_SymbolClass :: T_TagKind +sem_TagKind_SymbolClass  =+    ( )+sem_TagKind_VideoFrame :: T_TagKind +sem_TagKind_VideoFrame  =+    ( )+-- Tags --------------------------------------------------------+-- cata+sem_Tags :: Tags  ->+            T_Tags +sem_Tags list  =+    (Prelude.foldr sem_Tags_Cons sem_Tags_Nil (Prelude.map sem_Tag list) )+-- semantic domain+type T_Tags  = Int ->+               ( Int,Programs)+sem_Tags_Cons :: T_Tag  ->+                 T_Tags  ->+                 T_Tags +sem_Tags_Cons hd_ tl_  =+    (\ _lhsIguid ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 7562 "src/TrfToCFG.hs" #-}+                 )) of+          { _hdOguid | _hdOguid `seq` (True) ->+          (case (hd_ _hdOguid ) of+           { ( _hdIguid,_hdIprograms) | True ->+               (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                       _hdIguid+                       {-# LINE 7569 "src/TrfToCFG.hs" #-}+                       )) of+                { _tlOguid | _tlOguid `seq` (True) ->+                (case (tl_ _tlOguid ) of+                 { ( _tlIguid,_tlIprograms) | True ->+                     (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                             _tlIguid+                             {-# LINE 7576 "src/TrfToCFG.hs" #-}+                             )) of+                      { _lhsOguid | _lhsOguid `seq` (True) ->+                      (case (({-# LINE 44 "src/TrfToCFG.ag" #-}+                              _hdIprograms ++ _tlIprograms+                              {-# LINE 7581 "src/TrfToCFG.hs" #-}+                              )) of+                       { _lhsOprograms | _lhsOprograms `seq` (True) ->+                       ( _lhsOguid,_lhsOprograms) }) }) }) }) }) }))+sem_Tags_Nil :: T_Tags +sem_Tags_Nil  =+    (\ _lhsIguid ->+         (case (({-# LINE 51 "src/TrfToCFG.ag" #-}+                 _lhsIguid+                 {-# LINE 7590 "src/TrfToCFG.hs" #-}+                 )) of+          { _lhsOguid | _lhsOguid `seq` (True) ->+          (case (({-# LINE 44 "src/TrfToCFG.ag" #-}+                  []+                  {-# LINE 7595 "src/TrfToCFG.hs" #-}+                  )) of+           { _lhsOprograms | _lhsOprograms `seq` (True) ->+           ( _lhsOguid,_lhsOprograms) }) }))+-- Trait -------------------------------------------------------+-- cata+sem_Trait :: Trait  ->+             T_Trait +sem_Trait (Trait_Trait _name _data _attrs _meta )  =+    (sem_Trait_Trait _name (sem_TraitData _data ) (sem_TraitAttrs _attrs ) (sem_TraitMeta _meta ) )+-- semantic domain+type T_Trait  = ( )+sem_Trait_Trait :: Word32 ->+                   T_TraitData  ->+                   T_TraitAttrs  ->+                   T_TraitMeta  ->+                   T_Trait +sem_Trait_Trait name_ data_ attrs_ meta_  =+    ( )+-- TraitAttr ---------------------------------------------------+-- cata+sem_TraitAttr :: TraitAttr  ->+                 T_TraitAttr +sem_TraitAttr (TraitAttr_Final )  =+    (sem_TraitAttr_Final )+sem_TraitAttr (TraitAttr_Metadata )  =+    (sem_TraitAttr_Metadata )+sem_TraitAttr (TraitAttr_Override )  =+    (sem_TraitAttr_Override )+-- semantic domain+type T_TraitAttr  = ( )+sem_TraitAttr_Final :: T_TraitAttr +sem_TraitAttr_Final  =+    ( )+sem_TraitAttr_Metadata :: T_TraitAttr +sem_TraitAttr_Metadata  =+    ( )+sem_TraitAttr_Override :: T_TraitAttr +sem_TraitAttr_Override  =+    ( )+-- TraitAttrs --------------------------------------------------+-- cata+sem_TraitAttrs :: TraitAttrs  ->+                  T_TraitAttrs +sem_TraitAttrs list  =+    (Prelude.foldr sem_TraitAttrs_Cons sem_TraitAttrs_Nil (Prelude.map sem_TraitAttr list) )+-- semantic domain+type T_TraitAttrs  = ( )+sem_TraitAttrs_Cons :: T_TraitAttr  ->+                       T_TraitAttrs  ->+                       T_TraitAttrs +sem_TraitAttrs_Cons hd_ tl_  =+    ( )+sem_TraitAttrs_Nil :: T_TraitAttrs +sem_TraitAttrs_Nil  =+    ( )+-- TraitData ---------------------------------------------------+-- cata+sem_TraitData :: TraitData  ->+                 T_TraitData +sem_TraitData (TraitData_Class _slotId _class )  =+    (sem_TraitData_Class _slotId _class )+sem_TraitData (TraitData_Const _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Const _slotId _tp _vindex (sem_ValueKind _vkind ) )+sem_TraitData (TraitData_Function _dispId _method )  =+    (sem_TraitData_Function _dispId _method )+sem_TraitData (TraitData_Getter _dispId _method )  =+    (sem_TraitData_Getter _dispId _method )+sem_TraitData (TraitData_Method _dispId _method )  =+    (sem_TraitData_Method _dispId _method )+sem_TraitData (TraitData_Setter _dispId _method )  =+    (sem_TraitData_Setter _dispId _method )+sem_TraitData (TraitData_Slot _slotId _tp _vindex _vkind )  =+    (sem_TraitData_Slot _slotId _tp _vindex (sem_ValueKind _vkind ) )+-- semantic domain+type T_TraitData  = ( )+sem_TraitData_Class :: Word32 ->+                       Word32 ->+                       T_TraitData +sem_TraitData_Class slotId_ class_  =+    ( )+sem_TraitData_Const :: Word32 ->+                       Word32 ->+                       Word32 ->+                       T_ValueKind  ->+                       T_TraitData +sem_TraitData_Const slotId_ tp_ vindex_ vkind_  =+    ( )+sem_TraitData_Function :: Word32 ->+                          Word32 ->+                          T_TraitData +sem_TraitData_Function dispId_ method_  =+    ( )+sem_TraitData_Getter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Getter dispId_ method_  =+    ( )+sem_TraitData_Method :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Method dispId_ method_  =+    ( )+sem_TraitData_Setter :: Word32 ->+                        Word32 ->+                        T_TraitData +sem_TraitData_Setter dispId_ method_  =+    ( )+sem_TraitData_Slot :: Word32 ->+                      Word32 ->+                      Word32 ->+                      T_ValueKind  ->+                      T_TraitData +sem_TraitData_Slot slotId_ tp_ vindex_ vkind_  =+    ( )+-- TraitKind ---------------------------------------------------+-- cata+sem_TraitKind :: TraitKind  ->+                 T_TraitKind +sem_TraitKind (TraitKind_Class )  =+    (sem_TraitKind_Class )+sem_TraitKind (TraitKind_Const )  =+    (sem_TraitKind_Const )+sem_TraitKind (TraitKind_Function )  =+    (sem_TraitKind_Function )+sem_TraitKind (TraitKind_Getter )  =+    (sem_TraitKind_Getter )+sem_TraitKind (TraitKind_Method )  =+    (sem_TraitKind_Method )+sem_TraitKind (TraitKind_Setter )  =+    (sem_TraitKind_Setter )+sem_TraitKind (TraitKind_Slot )  =+    (sem_TraitKind_Slot )+-- semantic domain+type T_TraitKind  = ( )+sem_TraitKind_Class :: T_TraitKind +sem_TraitKind_Class  =+    ( )+sem_TraitKind_Const :: T_TraitKind +sem_TraitKind_Const  =+    ( )+sem_TraitKind_Function :: T_TraitKind +sem_TraitKind_Function  =+    ( )+sem_TraitKind_Getter :: T_TraitKind +sem_TraitKind_Getter  =+    ( )+sem_TraitKind_Method :: T_TraitKind +sem_TraitKind_Method  =+    ( )+sem_TraitKind_Setter :: T_TraitKind +sem_TraitKind_Setter  =+    ( )+sem_TraitKind_Slot :: T_TraitKind +sem_TraitKind_Slot  =+    ( )+-- TraitMeta ---------------------------------------------------+-- cata+sem_TraitMeta :: TraitMeta  ->+                 T_TraitMeta +sem_TraitMeta list  =+    (Prelude.foldr sem_TraitMeta_Cons sem_TraitMeta_Nil list )+-- semantic domain+type T_TraitMeta  = ( )+sem_TraitMeta_Cons :: Word32 ->+                      T_TraitMeta  ->+                      T_TraitMeta +sem_TraitMeta_Cons hd_ tl_  =+    ( )+sem_TraitMeta_Nil :: T_TraitMeta +sem_TraitMeta_Nil  =+    ( )+-- Traits ------------------------------------------------------+-- cata+sem_Traits :: Traits  ->+              T_Traits +sem_Traits list  =+    (Prelude.foldr sem_Traits_Cons sem_Traits_Nil (Prelude.map sem_Trait list) )+-- semantic domain+type T_Traits  = ( )+sem_Traits_Cons :: T_Trait  ->+                   T_Traits  ->+                   T_Traits +sem_Traits_Cons hd_ tl_  =+    ( )+sem_Traits_Nil :: T_Traits +sem_Traits_Nil  =+    ( )+-- ValueKind ---------------------------------------------------+-- cata+sem_ValueKind :: ValueKind  ->+                 T_ValueKind +sem_ValueKind (ValueKind_Double )  =+    (sem_ValueKind_Double )+sem_ValueKind (ValueKind_Explicit )  =+    (sem_ValueKind_Explicit )+sem_ValueKind (ValueKind_False )  =+    (sem_ValueKind_False )+sem_ValueKind (ValueKind_Int )  =+    (sem_ValueKind_Int )+sem_ValueKind (ValueKind_Internal )  =+    (sem_ValueKind_Internal )+sem_ValueKind (ValueKind_Namespace )  =+    (sem_ValueKind_Namespace )+sem_ValueKind (ValueKind_Null )  =+    (sem_ValueKind_Null )+sem_ValueKind (ValueKind_Package )  =+    (sem_ValueKind_Package )+sem_ValueKind (ValueKind_Private )  =+    (sem_ValueKind_Private )+sem_ValueKind (ValueKind_Protected )  =+    (sem_ValueKind_Protected )+sem_ValueKind (ValueKind_Static )  =+    (sem_ValueKind_Static )+sem_ValueKind (ValueKind_True )  =+    (sem_ValueKind_True )+sem_ValueKind (ValueKind_UInt )  =+    (sem_ValueKind_UInt )+sem_ValueKind (ValueKind_Undefined )  =+    (sem_ValueKind_Undefined )+sem_ValueKind (ValueKind_Utf8 )  =+    (sem_ValueKind_Utf8 )+-- semantic domain+type T_ValueKind  = ( )+sem_ValueKind_Double :: T_ValueKind +sem_ValueKind_Double  =+    ( )+sem_ValueKind_Explicit :: T_ValueKind +sem_ValueKind_Explicit  =+    ( )+sem_ValueKind_False :: T_ValueKind +sem_ValueKind_False  =+    ( )+sem_ValueKind_Int :: T_ValueKind +sem_ValueKind_Int  =+    ( )+sem_ValueKind_Internal :: T_ValueKind +sem_ValueKind_Internal  =+    ( )+sem_ValueKind_Namespace :: T_ValueKind +sem_ValueKind_Namespace  =+    ( )+sem_ValueKind_Null :: T_ValueKind +sem_ValueKind_Null  =+    ( )+sem_ValueKind_Package :: T_ValueKind +sem_ValueKind_Package  =+    ( )+sem_ValueKind_Private :: T_ValueKind +sem_ValueKind_Private  =+    ( )+sem_ValueKind_Protected :: T_ValueKind +sem_ValueKind_Protected  =+    ( )+sem_ValueKind_Static :: T_ValueKind +sem_ValueKind_Static  =+    ( )+sem_ValueKind_True :: T_ValueKind +sem_ValueKind_True  =+    ( )+sem_ValueKind_UInt :: T_ValueKind +sem_ValueKind_UInt  =+    ( )+sem_ValueKind_Undefined :: T_ValueKind +sem_ValueKind_Undefined  =+    ( )+sem_ValueKind_Utf8 :: T_ValueKind +sem_ValueKind_Utf8  =+    ( )
+ src/ByteCode.ag view
@@ -0,0 +1,30 @@+MODULE {ByteCode} {} {}++INCLUDE "ByteCodeAst.ag"++imports+{+import Data.Word+import Data.ByteString.Lazy(ByteString)+import Data.Bits+}++DERIVING MethodFlag : Eq+DERIVING TraitAttr : Eq+DERIVING ValueKind : Eq+DERIVING InstanceFlag : Eq++DERIVING * : Show, Eq, Ord++{+fromS24 :: Word32 -> Int+fromS24 w | testBit w 31 = negate (fromIntegral w)+          | otherwise    = fromIntegral w+}+++-- Some types for lists+{+type AbcFiles = [AbcFile]+type SwfFiles = [SwfFile]+}
+ src/ByteCodeAst.ag view
@@ -0,0 +1,521 @@+-- ABC/SWF byte code++--+-- Assumption: each branching target is preceded by a Location+--++SET AllSwf = SwfFile Rect Tags Tag TagKind AbcFlags AbcFlag AllAbcFile+SET OnlySwfAbc = SwfFile Tags Tag AbcFile+SET AllAbcFile = AbcFile AllAbc+SET AllAbc = MethodInfos MetaInfos InstanceInfos ClassInfos ScriptInfos BodyInfos PoolInfo PoolInts PoolUInts PoolDoubles PoolStrings NamespaceInfos SetInfos MultinameInfos NamespaceInfo NamespaceKind SetInfo NamespaceNames MultinameInfo MultinameKind MethodInfo ParamTypes MethodFlags MethodFlag Optionals Optional ValueKind ParamNames MetaInfo MetaItems MetaItem InstanceInfo InstanceFlags InstanceFlag Interfaces AllTraits ClassInfo ScriptInfo BodyInfo Instructions Instruction DebugType CaseOffsets Exceptions Exception+SET AllTraits = Traits Trait TraitKind TraitData TraitAttrs TraitAttr TraitMeta ValueKind+++DATA SwfFile | File+  compressed : Bool+  version : Word8+  length : Word32+  size : Rect+  rate : Word16+  count : Word16+  tags : Tags++DATA Rect | Rect+  bits : Int+  xMin : Word32+  xMax : Word32+  yMin : Word32+  yMax : Word32++TYPE Tags = [Tag]++DATA Tag+  | Abc+      flags  : AbcFlags+      name   : ByteString+      file   : AbcFile+  | FileAttributes+      useDirectBlit : Bool+      useGPU        : Bool+      hasMetaData   : Bool+      hasAS3        : Bool+      useNetwork    : Bool+  | Opaque+      kind   : TagKind+      length : Word32+      body   : ByteString+  | End++TYPE AbcFlags = [AbcFlag]++DATA AbcFlag+  | LazyInit++DATA TagKind+  | End+  | ShowFrame+  | DefineShape+  | PlaceObject+  | RemoveObject+  | DefineBits+  | DefineButton+  | JPEGTables+  | SetBackgroundColor+  | DefineFont+  | DefineText+  | DoAction+  | DefineFontInfo+  | DefineSound+  | StartSound+  | DefineButtonSound+  | SoundStreamHead+  | SoundStreamBlock+  | DefineBitsLossless+  | DefineBitsJPEG2+  | DefineShape2+  | DefineButtonCxform+  | Protect+  | PlaceObject2+  | RemoveObject2+  | DefineShape3+  | DefineText2+  | DefineButton2+  | DefineBitsJPEG3+  | DefineBitsLossless2+  | DefineEditText+  | DefineSprite+  | FrameLabel+  | SoundStreamHead2+  | DefineMorphShape+  | DefineFont2+  | ExportAssets+  | ImportAssets+  | EnableDebugger+  | DoInitAction+  | DefineVideoStream+  | VideoFrame+  | DefineFontInfo2+  | EnableDebugger2+  | ScriptLimits+  | SetTabIndex+  | FileAttributes+  | PlaceObject3+  | ImportAssets2+  | DefineFontAlignZones+  | CSMTextSettings+  | DefineFont3+  | SymbolClass+  | Metadata+  | DefineScalingGrid+  | DoABC+  | DefineShape4+  | DefineMorphShape2+  | DefineSceneAndFrameLabelData+  | DefineBinaryData+  | DefineFontName+  | StartSound2+  | DefineBitsJPEG4+  | DefineFont4+  | Other code : Word16++DATA AbcFile | File+  minorVersion : Word16+  majorVersion : Word16+  constantPool : PoolInfo+  methods      : MethodInfos+  metadatas    : MetaInfos+  instances    : InstanceInfos+  classes      : ClassInfos+  scripts      : ScriptInfos+  bodies       : BodyInfos++TYPE MethodInfos   = [MethodInfo]+TYPE MetaInfos     = [MetaInfo]+TYPE InstanceInfos = [InstanceInfo]+TYPE ClassInfos    = [ClassInfo]+TYPE ScriptInfos   = [ScriptInfo]+TYPE BodyInfos     = [BodyInfo]++DATA PoolInfo | Info+  integers   : PoolInts+  uintegers  : PoolUInts+  doubles    : PoolDoubles+  strings    : PoolStrings+  namespaces : NamespaceInfos+  namesets   : SetInfos+  multinames : MultinameInfos++TYPE PoolInts       = [Word32]+TYPE PoolUInts      = [Word32]+TYPE PoolDoubles    = [Double]+TYPE PoolStrings    = [ByteString]+TYPE NamespaceInfos = [NamespaceInfo]+TYPE SetInfos       = [SetInfo]+TYPE MultinameInfos = [MultinameInfo]++DATA NamespaceInfo | Info+  kind : NamespaceKind+  name : Word32++DATA NamespaceKind+  | General+  | Package+  | Internal+  | Protected+  | Explicit+  | Static+  | Private++DATA SetInfo | Info+  names : NamespaceNames++TYPE NamespaceNames = [Word32]++DATA MultinameInfo+  | QName        namespace : Word32  name : Word32+  | QNameA       namespace : Word32  name : Word32+  | RTQName      name : Word32+  | RTQNameA     name : Word32+  | RTQNameL+  | RTQNameLA+  | Multiname    name : Word32       set : Word32+  | MultinameA   name : Word32       set : Word32+  | MultinameL   set : Word32+  | MultinameLA  set : Word32+  | Generic      name : Word32    params : ParamNames++DATA MultinameKind+  | QName+  | QNameA+  | RTQName+  | RTQNameA+  | RTQNameL+  | RTQNameLA+  | Multiname+  | MultinameA+  | MultinameL+  | MultinameLA+  | Generic++DATA MethodInfo | Info+  return  : Word32+  params  : ParamTypes+  name    : Word32+  flags   : MethodFlags+  options : Optionals+  names   : ParamNames++TYPE ParamTypes = [Word32]++TYPE MethodFlags = [MethodFlag]++DATA MethodFlag+  | NeedArgs+  | NeedAct+  | NeedRest+  | HasOptionals+  | SetDXNS+  | HasParamNames++TYPE Optionals = [Optional]++DATA Optional | Detail+  val  : Word32+  kind : ValueKind++DATA ValueKind+  | Int+  | UInt+  | Double+  | Utf8+  | True+  | False+  | Null+  | Undefined+  | Namespace+  | Package+  | Internal+  | Protected+  | Explicit+  | Static+  | Private++TYPE ParamNames = [Word32]++DATA MetaInfo | Info+  name  : Word32+  items : MetaItems++TYPE MetaItems = [MetaItem]++DATA MetaItem | Item+  key   : Word32+  value : Word32++DATA InstanceInfo | Info+  name        : Word32+  super       : Word32+  flags       : InstanceFlags+  protectedNs : Word32+  interfaces  : Interfaces+  constructor : Word32+  traits      : Traits++TYPE InstanceFlags = [InstanceFlag]++DATA InstanceFlag+  | ClassSealed+  | ClassFinal+  | ClassInterface+  | ClassProtected++TYPE Interfaces = [Word32]++TYPE Traits = [Trait]++DATA Trait | Trait+  name  : Word32+  data  : TraitData+  attrs : TraitAttrs+  meta  : TraitMeta++DATA TraitKind+  | Slot+  | Method+  | Getter+  | Setter+  | Class+  | Function+  | Const++DATA TraitData+  | Slot      slotId : Word32  tp : Word32  vindex : Word32  vkind : ValueKind+  | Const     slotId : Word32  tp : Word32  vindex : Word32  vkind : ValueKind+  | Method    dispId : Word32  method : Word32+  | Getter    dispId : Word32  method : Word32+  | Setter    dispId : Word32  method : Word32+  | Function  dispId : Word32  method : Word32+  | Class     slotId : Word32  class : Word32++TYPE TraitAttrs = [TraitAttr]++DATA TraitAttr+  | Final+  | Override+  | Metadata++TYPE TraitMeta = [Word32]++DATA ClassInfo | Info+  con    : Word32+  traits : Traits++DATA ScriptInfo | Info+  method : Word32+  traits : Traits++DATA BodyInfo | Info+  method : Word32+  maxStack : Word32+  localCount : Word32+  initScopeDepth : Word32+  maxScopeDepth : Word32+  instructions : Instructions+  exceptions : Exceptions+  traits : Traits++TYPE Instructions = [Instruction]++DATA Instruction+  | Add+  | Add_i+  | Add_d+  | ApplyType name : Word32+  | AsType  name : Word32+  | AsTypeLate+  | Breakpoint+  | BreakLine     line : Word32+  | BitAnd+  | BitNot+  | BitOr+  | BitXor+  | Call  argCount : Word32+  | CallInterface  name : Word32  argCount : Word32+  | CallMethod     index : Word32  argCount : Word32+  | CallProp       name : Word32   argCount : Word32+  | CallPropLex    name : Word32   argCount : Word32+  | CallPropVoid   name : Word32   argCount : Word32+  | CallStatic     method : Word32  argCount : Word32+  | CallSuper      name : Word32    argCount : Word32+  | CallSuperId+  | CallSuperVoid  name : Word32    argCount : Word32+  | CheckFilter+  | Coerce         name : Word32+  | Coerce_a+  | Coerce_b+  | Coerce_d+  | Coerce_i+  | Coerce_o+  | Coerce_s+  | Coerce_u+  | Concat+  | Construct      argCount : Word32+  | ConstructProp  name : Word32  argCount : Word32+  | ConstructSuper argCount : Word32+  | Convert_b+  | Convert_i+  | Convert_d+  | Convert_o+  | Convert_u+  | Convert_s+  | Debug          tp : DebugType  name : Word32  reg : Word32  extra : Word32+  | DebugFile      name : Word32+  | DebugLine      line : Word32+  | DecLocal       reg : Word32+  | DecLocal_i     reg : Word32+  | Decrement+  | Decrement_i+  | DeleteProperty  name : Word32+  | DeletePropertyLate+  | Divide+  | Dup+  | Dxns           name : Word32+  | DxnsLate+  | Equals+  | EscXAttr+  | EscXElem+  | FindDef name : Word32+  | FindPropertyGlobalStrict name : Word32+  | FindPropertyGlobal name : Word32+  | FindProperty   name : Word32+  | FindPropStrict name : Word32+  | GetDescendants name : Word32+  | GetGlobalScope+  | GetGlobalSlot  slot : Word32+  | GetLex         name : Word32+  | GetLocal       reg  : Word32+  | GetLocal0+  | GetLocal1+  | GetLocal2+  | GetLocal3+  | GetOuterScope  name  : Word32+  | GetProperty    name  : Word32+  | GetScopeObject index : Word8+  | GetSlot        slot  : Word32+  | GetSuper       name  : Word32+  | GreaterEquals+  | GreaterThan+  | HasNext+  | HasNext2       objectReg : Word32  indexReg : Word32+  | IfEq           offset : Word32  -- note: S24   is offset with respect to the next instruction!+  | IfFalse        offset : Word32+  | IfGe           offset : Word32+  | IfGt           offset : Word32+  | IfLe           offset : Word32+  | IfLt           offset : Word32+  | IfNGe          offset : Word32    +  | IfNGt          offset : Word32+  | IfNLe          offset : Word32+  | IfNLt          offset : Word32+  | IfNe           offset : Word32+  | IfStrictEq     offset : Word32+  | IfStrictNe     offset : Word32+  | IfTrue         offset : Word32+  | In+  | IncLocal       reg : Word32+  | IncLocal_i     reg : Word32+  | Increment+  | Increment_i+  | InitProperty   name : Word32+  | InstanceOf+  | IsType         name : Word32+  | IsTypeLate+  | Jump           offset : Word32+  | Kill           reg : Word32+  | Label+  | LessEquals+  | LessThan+  | LoadFloat32+  | LoadFloat64+  | LoadIndirect8+  | LoadIndirect16+  | LoadIndirect32+  | LookupSwitch   defaultOffset : Word32    caseOffsets : CaseOffsets  -- offset with respect of start of this instruction!+  | Lshift+  | Modulo+  | Multiply+  | Multiply_i+  | Negate+  | Negate_i+  | NewActivation+  | NewArray       argCount : Word32+  | NewCatch       exception : Word32+  | NewClass       class : Word32+  | NewFunction    method : Word32+  | NewObject      argCount : Word32+  | NextName+  | NextValue+  | Nop+  | Not+  | Pop+  | PopScope+  | PushByte      val : Word8+  | PushDouble    name : Word32+  | PushFalse+  | PushInt       name : Word32+  | PushNamespace  name : Word32+  | PushNaN+  | PushNull+  | PushScope+  | PushShort      val : Word32+  | PushString     name : Word32+  | PushTrue+  | PushUInt       name : Word32+  | PushUndefined+  | PushWith+  | ReturnValue+  | ReturnVoid+  | Rshift+  | SetLocal       reg : Word32+  | SetLocal0+  | SetLocal1+  | SetLocal2+  | SetLocal3+  | SetGlobalSlot  slot : Word32+  | SetProperty    name : Word32+  | SetPropertyLate+  | SetSlot        slot : Word32+  | SetSuper       name : Word32+  | SignExtend1+  | SignExtend8+  | SignExtend16+  | StoreFloat32+  | StoreFloat64+  | StoreIndirect32+  | StoreIndirect16+  | StoreIndirect8+  | StrictEquals+  | Substract+  | Substract_i+  | Swap+  | Throw+  | Timestamp+  | TypeOf+  | Urshift++DATA Instruction  -- special instruction that represents location information+  | Location  index : Int   -- offset since start of the byte codes++DATA DebugType+  | Local++TYPE CaseOffsets = [Word32]++TYPE Exceptions = [Exception]++DATA Exception | Info+  from   : Word32+  to     : Word32+  target : Word32+  tp     : Word32+  name   : Word32
+ src/ByteCodeLocationInfo.ag view
@@ -0,0 +1,31 @@+SEM BodyInfo | Info+  instructions.location    = 0+  instructions.revLocation = 0++-- Thread location information through the AST+ATTR Instructions Instruction CaseOffsets [ | location : Int | ]+SEM Instruction | Location  lhs.location = @index++-- Thread location information backward through the AST+ATTR Instructions Instruction CaseOffsets [ | revLocation : Int | ]+SEM Instruction | Location  lhs.revLocation = @index+SEM Instructions | Cons+  tl.revLocation  = @lhs.revLocation+  hd.revLocation  = @tl.revLocation+  lhs.revLocation = @hd.revLocation++SEM BodyInfo | Info+  instructions.location < instructions.revLocation++-- Branch targets+SEM Instruction+  | LookupSwitch+      loc.relative = fromS24 @defaultOffset+      loc.target = @lhs.location + @loc.relative+  | IfEq IfFalse IfGe IfGt IfLe IfLt IfNGe IfNGt IfNLe IfNLt IfNe IfStrictEq IfStrictNe IfTrue Jump+      loc.relative = fromS24 @offset+      loc.target = @lhs.revLocation + @loc.relative++SEM CaseOffsets | Cons+  loc.relative = fromS24 @hd+  loc.target = @lhs.location + @loc.relative
+ src/ByteCodeTrfBase.ag view
@@ -0,0 +1,14 @@+--+-- Generic byte code transformation code.+--+--+-- The idea is to provide an interface at each constructor of interest of+-- ByteCode to add and obtain new strings, namespaces, methods, classes, etc.+--++-- Design issue: is the information that we wish to add already accesible+-- by other nodes?++-- addString+-- addNamespace+--
+ src/CFG.ag view
@@ -0,0 +1,9 @@+MODULE {CFG} {} {}++INCLUDE "CFGAst.ag"++imports+{+import Data.Word+import ByteCode+}
+ src/CFGAst.ag view
@@ -0,0 +1,85 @@+-- Control flow graphs of a program+--+-- Each graph has its unique id for association of meta-info+--+-- To find back-edges: Bread-first numbering: if already numbered the+-- node, then it's a backedge when that node's number is smaller than+-- that of the current node.+--+-- Also, try to sequentialize the CFG when generating code, such that+-- all branching instructions are of the Jump 0 kind.+--++TYPE Programs = [Program]++DATA Program | Program+  graphs : CFGs++TYPE CFGs = [CFG]++DATA CFG | CFG      -- control-flow graph of a method+  id    : Int       -- unique identification+  segs  : Segments  -- linear sequence of instrumentions + outgoing edges++TYPE Segments = [Segment]++DATA Segment | Segment+  id       : Int    -- unique identification+  nodes    : Nodes  -- linear sequence of instructions+  branch   : Code   -- outgoing edges++TYPE Nodes = [Node]++DATA Node+  | Pseudo            -- pseudo nodes may contain additional code+      id    : Int     -- unique identification+      info  : Pseudo  -- match information+      body  : Codes   -- inserted instrumentations+  | Opaque            -- an opaque instruction; implementation hidden+      instr : Instruction++-- Information about pseudo-nodes in the control-flow-graph+DATA Pseudo+  | Nop             -- pseudo node without any specific meaning+  | EnterBlock+  | LeaveBlock+  | FailBlock+  | EnterFun+  | LeaveFun+  | FailFun+  | BeginCall+  | DoneCall+  | FailedCall+  | BeginCoerce+  | DoneCoerce+  | FailedCoerce++-- Abstract Machine Instructions+TYPE Codes = [Code]++DATA Code+  | Nop                        -- no code+  | Label   id : Int           -- jump destination+  | Jump    target : Int       -- various forms of jumps+            cond : JumpCond+  | Switch  default : Int      -- default target+            targets : {[Int]}  -- jump targets++-- Jump conditions+DATA JumpCond+  | None+  | IfEq+  | IfFalse+  | IfGe+  | IfGt+  | IfLe+  | IfLt+  | IfNGe+  | IfNGt+  | IfNLe+  | IfNLt+  | IfNe+  | IfStrictEq+  | IfStrictNe+  | IfTrue+  | Jump
+ src/Env.hs view
@@ -0,0 +1,87 @@+-- | Environments.+--   A 'dynamic' environment has a number of fixed bindings, and some new bindings.+--   The old bindings are preserved; the new ones added.+module Env(Env,StaticEnv,DynEnv,DynId,Subst,mappedTo,singleEnv,listEnv,lookupEnv,closeEnv,openEnv,mapEnv+          ,valuesEnv,assocsEnv,keysEnv) where++import Data.Map(Map)+import qualified Data.Map as Map+import Data.Monoid+import Data.Word++newtype Env key elem = Env (Map key elem)+type StaticEnv elem = Env Word32 elem+type DynEnv elem    = Env DynId elem+++--+-- Instances for 'Env'+--++instance (Show k, Show a) => Show (Env k a) where+  show (Env env) = show $ Map.assocs env++instance Ord k => Monoid (Env k a) where+  mempty = Env Map.empty+  mappend (Env p) (Env q) = Env (Map.union p q)+++-- | A dynamic key for some value in the environment.+--   Either the key is fixed, and relates to an already existing key,+--   or it is a fresh key, which means its added to the environment.+data DynId+  = FixedId !Word32+  | FreshId !Int+  deriving (Eq,Ord,Show)+++-- | Wrapper around a substitution+newtype Subst = Subst (Map Int Word32)++-- | Obtains a substitution+mappedTo :: Int -> Subst -> Word32+mappedTo key (Subst subst) = Map.findWithDefault (error ("mappedTo: no such substitution for: " ++ show key ++ " in: " ++ show subst)) key subst++-- | Wrap an item into an environment+singleEnv :: Ord k => k -> a -> Env k a+singleEnv k v = Env $ Map.singleton k v++-- | Convert a list of pairs into a static environment+listEnv :: [(Word32,a)] -> StaticEnv a+listEnv = Env . Map.fromList++-- | Obtain he pairs in the environment+assocsEnv :: Env k a -> [(k,a)]+assocsEnv (Env m) = Map.assocs m++-- | Obtain the values in the environment+valuesEnv :: Env k a -> [a]+valuesEnv (Env m) = Map.elems m++-- | Obtain the keys in the environment+keysEnv :: Env k a -> [k]+keysEnv (Env m) = Map.keys m++-- | Lookup an item in the environment (that is supposed to be there)+lookupEnv :: (Ord k, Show k, Show a) => k -> Env k a -> a+lookupEnv key e@(Env env) = Map.findWithDefault (error ("lookupEnv: no key " ++ show key ++ " in: " ++ show e)) key env++-- | Closes a dynamic environment, turning it into a static environment, and a substitution for the+--   fresh identifiers in the environment.+closeEnv :: DynEnv a -> (StaticEnv a, Subst)+closeEnv (Env env) = (Env env', Subst subst) where+  ks     = Map.keys env+  newId  = 1 + maximum (0 : [ n | (FixedId n) <- ks ])+  newKs  = [ i | (FreshId i) <- ks ]+  subst  = Map.fromList $ zip newKs [newId..]+  env'   = Map.mapKeys fKeys env+  fKeys (FreshId i) = Map.findWithDefault undefined i subst+  fkeys k = k++-- | Turns a static environment back into a dynamic environment+openEnv :: StaticEnv a -> DynEnv a+openEnv (Env env) = Env $ Map.mapKeys FixedId env++-- | Map on env+mapEnv :: (k -> a -> b) -> Env k a -> Env k b+mapEnv f (Env env) = Env $ Map.mapWithKey f env
+ src/ExtractAbc.ag view
@@ -0,0 +1,30 @@+MODULE {ExtractAbc} {extractAbcFiles} {}++INCLUDE "ByteCodeAst.ag"++import+{+import Data.ByteString.Lazy(ByteString)+import ByteCode+import Data.Word+}+++WRAPPER SwfFile++{++extractAbcFiles :: SwfFile -> AbcFiles+extractAbcFiles m = out where+  inh = Inh_SwfFile {}+  sem = sem_SwfFile m+  syn = wrap_SwfFile sem inh+  out = output_Syn_SwfFile syn+}+++ATTR SwfFile Tags Tag [ | | output USE {++} {[]} : AbcFiles ]+ATTR AllAbcFile [ | | self : SELF ]++SEM Tag | Abc+  +output = (@file.self:)
+ src/GenInstrLib.ag view
@@ -0,0 +1,272 @@+-- Generates symbol information for the instrumentation library+--+-- Note: we ignore the difference between static fields and instance fields.++MODULE {GenInstrLib} {genInstrLib} {}++INCLUDE "SymViewAst.ag"++imports+{+import Data.Word+import qualified Data.Set as Set+import Data.Set(Set)+import qualified Data.Map as Map+import Data.Map(Map)+import ProgInfo+import PrettyUtil+import SymInfo+import SymView+import Data.Monoid+import Data.Maybe+}+++WRAPPER FileV++{+genInstrLib :: String -> SymInfo -> [SymbolTables] -> Doc+genInstrLib nm gEnv tbls = res where+  res = output_Syn_FileV syn+  syn = wrap_FileV sem inh+  inh = Inh_FileV { gEnv_Inh_FileV = gEnv, modNm_Inh_FileV = nm }+  sem = sem_FileV fil+  fil = tablesView tbls+}++ATTR FileV [ modNm : String | | ]+ATTR FileV TablesV TableV ClassesV ClassV MbSuperV SuperV ItfsV ItfV TraitsV TraitV MethodsV MethodV SigV+  [ gEnv : SymInfo | | output USE {$+$} {empty} : Doc ]++SEM FileV | File+  lhs.output = vert [ text "{-# LANGUAGE EmptyDataDecls, MultiParamTypeClasses, FunctionalDependencies, TypeSynonymInstances, OverlappingInstances, FlexibleInstances #-}"+                    , text "module" <+> text @lhs.modNm <+> text "where"+                    , text "import Instr"+                    , text "import InstrBaseLib"+                    , (vert $ map (\m -> text "import" <+> text m) $ Set.toList $ allModules @lhs.gEnv)+                    , @loc.fieldsOutput+                    , @tables.output ]++-- Discover which types and fields are defined+ATTR TablesV TableV ClassesV ClassV [ | | gathTypes USE {`mappend`} {mempty} : {Set String} ]+ATTR TablesV TableV ClassesV ClassV TraitsV TraitV [ | | gathFields USE {`mappend`} {mempty} : {Set String} ]++SEM ClassV | Class  +gathTypes  = maybe id Set.insert @nm.mbStrUni+SEM TraitV+  | Field  +gathFields = maybe id Set.insert @nm.mbStrUni+  | Method +gathFields = maybe id Set.insert @nm.mbStrUni++ATTR TablesV TableV ClassesV ClassV MbSuperV SuperV TypeV ItfsV ItfV TraitsV TraitV MethodsV MethodV SigV ParamsV ParamV [ allTypes : {Set String} | | ]+ATTR TablesV TableV ClassesV ClassV TraitsV TraitV [ allFields : {Set String} | | ]++SEM FileV | File+  tables.allTypes  = @tables.gathTypes `mappend` (allTypes @lhs.gEnv)+  tables.allFields = @tables.gathFields `mappend` (allFields @lhs.gEnv)++ATTR TypeV [ | | tpKnown : Bool ]++SEM TypeV | Type+  loc.tpKnown = not @isNull && maybe False (`Set.member` @lhs.allTypes) @nm.mbStrUni++-- Unicode string of a name+ATTR NmV TypeV [ | | mbStrUni : {Maybe String} ]+SEM NmV+  | Qual   loc.noPrefix = null @ns.str+           loc.strUni   = if @loc.noPrefix then @nm.str else @ns.str ++ "˳" ++ @nm.str  -- special unicode separator+           lhs.mbStrUni = Just @loc.strUni+  | Quals  lhs.mbStrUni = Nothing+  | Other  lhs.mbStrUni = Nothing++ATTR NsV StrV [ | | str : String ]+SEM StrV | Str  lhs.str = @val++ATTR MbStrV [ | | mbStrUni : {Maybe String} ]+SEM MbStrV+  | Nothing  lhs.mbStrUni = Nothing+  | Just     lhs.mbStrUni = Just @just.str+++--+-- Generate classes for new fields+--++SEM FileV | File+  loc.newFields    = Set.toList $ Set.difference (Set.map unqualField @tables.gathFields) (Set.map unqualField $ allFields @lhs.gEnv)+  loc.fieldsOutput = vert $ map genFieldClass @loc.newFields++{+-- | Strips the qualifier from the qualified/encoded field name+unqualField :: String -> String+unqualField [] = error "unqualField: field name empty"+unqualField nm = case break (== '˳') nm of+  (rem, []) -> last $ words $ map repl rem  -- take the last of the normal dot chars+  (_, rem)  -> tail rem  -- has the special dot char+  where repl '.' = ' '+        repl c   = c++-- | Assumes that the name is already unqualified+genFieldClass :: String -> Doc+genFieldClass nm = vert+  [ text "class K'" <> text str <+> text "a b | a -> b where"+  , nest 2 $ text "k'" <> text str <+> text ":: Key a b"+  ]+  where str = encodeNmHaskell nm++encodeNmHaskell :: String -> String+encodeNmHaskell = map repl where+  repl '.' = '\''+  repl '˳' = '\''+  repl '-' = '_'+  repl ':' = '_'+  repl '/' = '_'+  repl c = c+}+++--+-- Generate data types types for newly introduced classes+--++SEM ClassV | Class+  +output = maybe id (\str -> (genClassData str $+$)) @nm.mbStrUni++{+genClassData :: String -> Doc+genClassData nm = vert+  [ text "data T'" <> text str+  , text "t'" <> text str <+> text ":: Type" <+> text "T'" <> text str+  , text "t'" <> text str <+> text "= TypeObject" <+> text (show nm)+  ] where str = encodeNmHaskell nm+}+++--+-- Generate instances for inheritance relation among classes+--++ATTR MbSuperV SuperV ItfsV ItfV TraitsV TraitV [ classNm : String | | ]+SEM ClassV | Class+  loc.classNm = maybe "{-# ClassV_Class: improper name #-}" id @nm.mbStrUni++SEM SuperV | Super+  loc.super = maybe "{-# SuperV_Super: improper name #-}" id @tp.mbStrUni+  +output = if @tp.tpKnown+            then (genSuper @loc.super @lhs.classNm $+$)+            else id++SEM ItfV | Itf+  loc.super = maybe "{-# ItfV_Itf: improper name #-}" id @tp.mbStrUni+  +output = if @tp.tpKnown+            then (genSuper @loc.super @lhs.classNm $+$)+            else id++{+genSuper :: String -> String -> Doc+genSuper super child = text "instance IsSuper" <+> text "T'" <> text superStr <+> text "T'" <> text childStr where+  superStr = encodeNmHaskell super+  childStr = encodeNmHaskell child+}+++--+-- Generate keys for fields (fully qualified)+--++ATTR TypeV [ | | strUni : String ]+SEM TypeV | Type+  lhs.strUni = if @loc.tpKnown+               then maybe "{-# TypeV_Type: expecting a type name #}" id @nm.mbStrUni+               else "any"++ATTR TypeV [ | | strAnnot : String ]+SEM TypeV | Type+  lhs.strAnnot = maybe "" id @nm.mbStrUni++SEM TraitV | Field+  lhs.output = maybe empty (\nm -> let strType = encodeNmHaskell @tp.strUni+                                       tp  = text "T'" <> text strType+                                       val = text "Key" <+> text (show nm)+                                   in vert [ text "-- object field" <+> text (show nm) <+> text "::" <+> text (show @tp.strAnnot)+                                           , if nm `Set.member` @lhs.newFields+                                             then text "-- DUPLICATED value field!"+                                             else genTrait @lhs.classNm nm val tp+                                           ]) @nm.mbStrUni+++--+-- Generate method signatures+--++SEM TraitV | Method+  lhs.output = maybe empty (\nm -> vert [ text "-- object method" <+> text (show nm)+                                        , if nm `Set.member` @lhs.newFields+                                          then text "-- DUPLICATED method field!"+                                          else genTrait @lhs.classNm nm (text "Key" <+> text (show nm)) @sig.tpSig+                                        ]) @nm.mbStrUni++{+genTrait :: String -> String -> Doc -> Doc -> Doc+genTrait classNm fieldNm val tp = vert+  [ text "k'" <> text strClass <> text "'" <> text strField <+> text ":: Key T'" <> text strClass <+> parens tp+  , text "k'" <> text strClass <> text "'" <> text strField <+> text "=" <+> val+  , text "instance K'" <> text strField' <+> parens (text "T'" <> text strClass) <+> parens tp <+> text "where"+  , nest 2 (text "k'" <> text strField' <+> text "=" <+> text "k'" <> text strClass <> text "'" <> text strField)+  ] where strClass  = encodeNmHaskell classNm+          strField  = encodeNmHaskell fieldNm+          fieldNm'  = unqualField fieldNm+          strField' = encodeNmHaskell fieldNm'+}++SEM MethodV | Method+  lhs.output = maybe empty (\nm -> vert [ text "-- method" <+> text (show nm)+                                        , if nm `Set.member` @lhs.newMethods+                                          then text "-- DUPLICATED method declaration"+                                          else genMethod nm @sig.output @sig.tpSig+                                        ]) @mbNm.mbStrUni++{+genMethod :: String -> Doc -> Doc -> Doc+genMethod methodNm val tp = vert+  [ text "m'" <> text strMethod <+> text "::" <+> tp+  , text "m'" <> text strMethod <+> text "="  <+> val+  ] where strMethod = encodeNmHaskell methodNm+}+++ATTR SigV [ | | tpSig : Doc ]  -- 'SigV' has both 'output' and 'tpSig' as pretty docs++SEM SigV | Sig+  lhs.output = text "FunSig"  <+> parens (genSigVal @params.strsUni)  <+> parens (genSigVal [@ret.strUni])+  lhs.tpSig  = text "FunSpec" <+> parens (genSigTp @params.strsUni)   <+> parens (genSigTp [@ret.strUni])++ATTR ParamsV ParamV [ | | strsUni USE {++} {[]} : {[String]} ]++SEM ParamV | Param+  lhs.strsUni = [@tp.strUni]++{+genSigVal :: [String] -> Doc+genSigVal = foldr (\l r -> parens (text "SpecsCons" <+> text "t'" <> text (encodeNmHaskell l) <+> r)) (text "SpecsEmpty")++genSigTp :: [String] -> Doc+genSigTp = foldr (\l r -> parens (text "T'" <> text (encodeNmHaskell l) <+> text "," <+> r)) (text "()")+}+++--+-- Compute duplicate fields and methods+-- More symbols for these should not be generated+--++ATTR TablesV TableV ClassesV ClassV TraitsV TraitV [ | newFields : {Set String} | ]+ATTR TablesV TableV ClassesV ClassV MethodsV MethodV [ | newMethods : {Set String} | ]++SEM FileV | File+  tables.newFields  = Set.empty+  tables.newMethods = Set.empty++SEM TraitV | Field Method+  +newFields = maybe id Set.insert @nm.mbStrUni++SEM MethodV | Method+  +newMethods = maybe id Set.insert @mbNm.mbStrUni
+ src/Instr.hs view
@@ -0,0 +1,1066 @@+-- | Typed Embedded Instrumentation Language for Object-Oriented programming languages.+-- Haskell provides abstraction facilities and meta-programming.+--+-- The language specifies conditional instrumentation to be performed at+-- program points. See 'LanguageAst.ag' for a description of the underlying+-- core language.+--+-- Note the following phase destinction: execution of the Haskell program produces+-- a description for how to perform the instrumentation. This is a preprocessing step.+-- Interpretation of this description is what we call "compile time". Execution of the+-- instrumented program is what we call "runtime".+--+-- The typed instrumentation language is a monad. The computation+-- itself consists of two essential concepts: matches against program+-- points and insertion of function calls. Program points include method calls and+-- entry/exists of a sequential block of instructions. Each instrumentation can succeed+-- or fail. When the instrumentation succeeded, the value asociated to the monad captures+-- the context information, e.g. binding names to parameters of a function call.+-- Instrumentations can be composed sequentially (m >>= f): the right-hand side |f| is+-- parametrized with the context of the left-hand side |m|, and executed, iff |m| succeeds.+-- The instrumentation can be partially evaluated: matches based on statically known+-- information can be resolved at instrumentation time. Most function calls are required to+-- be done at runtime due to side effect.+--+-- For example, suppose that we want to instrument each+-- entry of a block of instructions with a call to a provided+-- function |enterCycBlock(id)|, where |id| is a unique identification+-- of the block. Moreover, also suppose that we are only interested+-- in intrumenting blocks on a cyclic path in the control flow graph.+-- For that, we write the following monadic expression (explained below):+--+-- > do info <- matchEnterBlock+-- >    equals (isCycl info) (con True)+-- >    call fenterBlock (blockId info)+--+-- The context-information after matching against the block is bound to+-- the Haskell value |info|. This value contains embedded instrumentation+-- values |isCycl info| and |blockId info|. The first is a boolean value+-- that is |True| iff the block is on a cyclic CFG path. The second is an+-- integer identifying the block.+-- +-- Both are embedded values: values of the type |Var Bool| and |Var Int| respectively.+-- Also, the values are statically known: a corresponding Haskell value+-- can be deduced when the program is instrumented. Some values, e.g. those+-- bound to the inputs of a method for a match against a method call, are+-- dynamic values. These have a symbolic value at instrumentation time.+--+-- The |equals| invocation tests if its two input embedded values are equal.+-- When both values are statically known, the test is resolved at instrumentation time,+-- otherwise it leaves a residual test that succeeds or fails at runtime.+-- The Haskell function |con| encodes a Haskell value as embedded constant,+-- which is known at instrumentation time. Hence, both inputs are known at+-- instrumentation time, and the check can be resolved statically. As a+-- consequence, only residual code is generated for the call to "enterBlock", for+-- only the intended program points. For all other program points, the+-- instrumentation fails already at instrumentation time.+--+-- A failing instrumentation is not an error: it just means that the+-- instrumentation is only performed up to the point of failure for a+-- program point. Care must be taken when side-effect is involved.++{-# LANGUAGE EmptyDataDecls, GADTs, KindSignatures, ScopedTypeVariables,+    MultiParamTypeClasses, FunctionalDependencies, TypeFamilies,+    FlexibleInstances, FlexibleContexts, UndecidableInstances, TypeSynonymInstances #-}+module Instr where++import Control.Applicative+import Control.Monad+import Control.Monad.State.Strict+import Data.Word+import qualified Language as L+++--+-- Variables and Values+-- Certain Haskell values can (easily) be promoted as embedded constants. (Symbolic) values+-- are obtained via intrumentation instructions, and cannot be constructed directly.+-- Embedded constant values can be mapped back to their Haskell values.+--++-- | A variable is a symbolic value of a certain type.+--   It is associated with an integer value that can be used to identify the+--   symbolic value. There may be a statically known substitution for a+--   symbolic value.+data Var :: * -> * where+  Sym :: Int -> Var a++-- | A constant is a fixed value of a certain type.+data Con :: * -> * where+  ConInt     :: Int     -> Con Int+  ConUInt    :: Word32  -> Con Word32+  ConBool    :: Bool    -> Con Bool+  ConString  :: String  -> Con String+  ConArray   :: [Val a] -> Con [a]+  ConType    :: Type a  -> Con (Type a)+  ConNothing ::            Con (Maybe a)+  ConJust    :: Val a   -> Con (Maybe a)+  ConMethod  :: String  -> FunSpec a b -> Con (FunSpec a b)++-- | Values+data Val  :: * -> * where+  ValSym  :: Var a -> Val a+  ValCon  :: Con a -> Val a+  ValInd  :: Val [a] -> Val Word32 -> Val a+  ValProp :: IsSuper c a => Val a -> Key c b -> Val b+  ValDyn  :: IsSuper a Base => Val a -> Val String -> Val Any++-- | Returns the Haskell value associated to a constant embedded value.+--   Those parts of the value that are not constant, are mapped to bottom.+unCon :: Val a -> a+unCon (ValCon c)   = unCon' c+unCon (ValInd a i) = unCon a !! (fromIntegral $ unCon i)+unCon _ = error "unCon on a non-constant value"++-- | Returns the wrapped Haskell value.+unCon' :: Con a -> a+unCon' (ConInt i)      = i+unCon' (ConUInt i)     = i+unCon' (ConBool b)     = b+unCon' (ConString s)   = s+unCon' (ConArray xs)   = map unCon xs+unCon' (ConType t)     = t+unCon' (ConNothing)    = Nothing+unCon' (ConJust x)     = Just (error "unCon'::value")+unCon' (ConMethod x s) = s++-- | Statically known index in an object.+data Key :: * -> * -> * where+  Key :: String -> Key a b++-- | Embedding of constants.+-- Prefixing a Haskell value with |con|, turns the Haskell value+-- into an embedded constant.+class IsConstant a where+  con :: a -> Val a++instance IsConstant String where+  con = ValCon . ConString++instance IsConstant Bool where+  con = ValCon . ConBool++instance IsConstant Int where+  con = ValCon . ConInt++instance IsConstant Word32 where+  con = ValCon . ConUInt++instance IsConstant (Type a) where+  con = ValCon . ConType+++-- | Specification of embedded types.+--   The idea is to have for every type occurring in a program (embedded types),+--   a Haskell value that describes this type, and a constructor-less corresponding+--   Haskell type for object/interface types.+--   The Haskell value can be turned into an embedded constant describing+--   this type.+--   The embedded types/values are transcribed to Haskell names: the types are+--   prefixed with a capital 'T', the values with a small 't'.++-- | Description of a type+data Type :: * -> * where+  TypeAny     :: Type Any+  TypeBool    :: Type Bool+  TypeInt     :: Type Int+  TypeUInt    :: Type Word32+  TypeDouble  :: Type Double+  TypeString  :: Type String+  TypeArray   :: Type a -> Type [a]   -- Allows Type-parametrized arrays to be specified+  TypeBase    :: Type Base+  TypeObject  :: String -> Type a+  TypeMethod  :: Type (FunSpec a b)++instance Show (Type a) where+  show t = case t of+    TypeAny      -> "T˚Any"+    TypeBool     -> "T˚Bool"+    TypeInt      -> "T˚Int"+    TypeUInt     -> "T˚UInt"+    TypeDouble   -> "T˚Double"+    TypeString   -> "T˚String"+    TypeArray t  -> "T˚Array˚" ++ show t+    TypeBase     -> "T˚Base"+    TypeObject s -> "T˚" ++ s+    TypeMethod   -> "T˚Method"++-- | The untyped object.+data Any :: *+tAny :: Type Any+tAny = TypeAny++-- | The base type of all types.+data Base :: *+tBase :: Type Base+tBase = TypeBase+++-- | Specification of coercions.+--   With coercions, we explicitly encode the conversion of certain types ot other types.+--   In particular, we do not support automatic upcasting of types: this can be done+--   via |CoerceInstance|.+--   To cast (possibly fails) a value of some arbitrary type to another type, use a+--   coercion from and to |Any|.+data Coercion :: * -> * -> * where+  CoerceNone      :: Coercion a a     -- explicit absence of coercion+  CoerceAny       :: Coercion a Any   -- arbitrary coercion+  CoerceAny'      :: Coercion Any b+  CoerceString    :: Coercion a String+  CoerceDouble    :: Coercion a Double+  CoerceInt       :: Coercion a Int+  CoerceUInt      :: Coercion a Word32+  CoerceInstance  :: IsSuper a b => Coercion a b++-- | Matches an arbitrary coercion/represents an arbitrary coercion.+coeAny :: Coercion Any Any+coeAny = CoerceAny++-- | Describes the inheritance relation between classes/interfaces.+-- This is a non-symmetric, transitive and reflexive relation.+-- When a type extends or implements another type, we capture this+-- as an instance of |IsSuper|. Note that the instances may be+-- overlapping: that doesn't matter. As the class has no members,+-- we are only interested in the existence of membership of the+-- relation, and not in particular memberships.+class IsSuper a b                                     -- captures inheritance relation+instance IsSuper a a                                  -- reflexivity+instance (IsSuper a b, IsSuper b c) => IsSuper a c    -- transitivity++-- | Automatically constructs coercions related to upcasting.+--   Also, an untyped value (of type |Any|) can always be+--   automatically downcast to any other value.+class HasCoercion a b where+  mkCoercion :: Coercion a b++instance HasCoercion a a where+  mkCoercion = CoerceNone++instance IsSuper a b => HasCoercion a b where+  mkCoercion = CoerceInstance++instance HasCoercion Any b where+  mkCoercion = CoerceAny'+++--+-- Typed expressions+-- An |Expr a| is mappeable to a |Val a|.+-- Expressions may contain nested instrumentations+--++-- Expressions+data Expr :: * -> * where+  ExprVal    :: Val a -> Expr a+  ExprUn     :: UnOp a b -> Expr a -> Expr b+  ExprBin    :: BinOp a b c -> Expr a -> Expr b -> Expr c+  ExprInstr  :: Instr (Val a) -> Expr a     -- nested instrumentation (with a 'Val' as return value)++-- Binary operators+data BinOp :: * -> * -> * -> * where+  OpAnd :: BinOp Bool Bool Bool+  OpOr  :: BinOp Bool Bool Bool+  OpRel :: BinRel a -> BinOp a a Bool+  OpAdd :: IsNumeric a => BinOp a a a+  OpSub :: IsNumeric a => BinOp a a a+  OpMul :: IsNumeric a => BinOp a a a+  OpDiv :: IsNumeric a => BinOp a a a+  OpMod :: IsNumInt a  => BinOp a a a+  OpMax :: IsNumeric a => BinOp a a a+  OpMin :: IsNumeric a => BinOp a a a++-- Unary operators+data UnOp :: * -> * -> * where+  OpAbs       :: IsNumeric a => UnOp a a+  OpNeg       :: IsNumeric a => UnOp a a+  OpNot       :: UnOp Bool Bool+  OpIsJust    :: UnOp (Maybe a) Bool+  OpIsNothing :: UnOp (Maybe a) Bool+  OpExtract   :: UnOp (Maybe a) a+  OpLength    :: UnOp [a] Int++-- Binary relations+data BinRel :: * -> * where+  RelEqual        :: BinRel a+  RelSmaller      :: IsComparable a => BinRel a+  RelSmallerEqual :: IsComparable a => BinRel a+  RelGreater      :: IsComparable a => BinRel a+  RelGreaterEqual :: IsComparable a => BinRel a++class IsComparable a+instance IsComparable Bool+instance IsNumeric a => IsComparable a++class IsNumeric a+instance IsNumInt a => IsNumInt a+instance IsNumeric Double++class IsNumInt a+instance IsNumInt Int+instance IsNumInt Word32++-- | Data-types used to distinguish dictionaries of 'IsExpr'+data DictPrim  = DictPrim+data DictConst = DictConst+data DictCoe   = DictCoe++class ExprDict d where exprDict :: d+instance ExprDict DictPrim  where exprDict = DictPrim+instance ExprDict DictConst where exprDict = DictConst+instance ExprDict DictCoe   where exprDict = DictCoe++-- | Conversion of different forms of values to expressions.+class IsExpr a b | a -> b where+  toExpr :: a -> Expr b++class IsExpr' d a b | a -> d where+  toExpr' :: d -> a -> Expr b++instance (ExprDict d, IsExpr' d a b) => IsExpr a b where+  toExpr = toExpr' (exprDict :: d)++instance (d ~ DictPrim) => IsExpr' d (Val a) a where+  toExpr' DictPrim = ExprVal++instance (d ~ DictPrim) => IsExpr' d (Var a) a where+  toExpr' DictPrim = toExpr . ValSym++instance (d ~ DictPrim) => IsExpr' d (Expr a) a where+  toExpr' DictPrim = id++instance (d ~ DictConst, IsConstant a) => IsExpr' d a a where+  toExpr' DictConst = toExpr . con+++--+-- Declaration of a function call+--++-- | Specification of a function, which gives the+--   types of the parameters and the types of the+--   return values. Typically, functions have only+--   zero or one return values.+data FunSpec :: * -> * -> * where+  FunSig :: ParamSpecs a -> ParamSpecs b -> FunSpec a b++-- Arbitrary function.+anyFun :: FunSpec Any Any+anyFun = FunSig SpecsAny SpecsAny++-- | Function without a return value.+anyFun0 :: FunSpec Any ()+anyFun0 = FunSig SpecsAny SpecsEmpty++-- | Specifies the types of the parameters.+data ParamSpecs :: * -> * where+  SpecsAny   :: ParamSpecs Any                     -- any parameter specification+  SpecsEmpty :: ParamSpecs ()+  SpecsCons  :: Type a -> ParamSpecs b -> ParamSpecs (a, b)++-- A typed product of parameter values.+data Params :: * -> * where+  ParamsAny   :: Val [Any] -> Params Any           -- array of additional paramsters (of unknown type)+  ParamsEmpty :: Params ()+  ParamsCons  :: Val a -> Params b -> Params (a, b)++-- A Typed product of expression values.+data Exprs :: * -> * where+  ExprsAny   :: Expr [Any] -> Exprs Any            -- array of expressions of unknown type+  ExprsEmpty :: Exprs ()                           -- no expressions+  ExprsCons  :: Expr a -> Exprs b -> Exprs (a, b)  -- combination of expressions++class IsExprs a p | a -> p where   -- syntactic sugar to translate values into Exprs values.+  toExprs :: p -> Exprs a++-- Convenience function to build 'Exprs' values.+instance IsExprs Any (Expr [Any])        where  toExprs    = ExprsAny                         -- arbitrary parameters+instance IsExprs () ()                   where  toExprs () = ExprsEmpty                       -- zero parameters+instance IsExpr p a => IsExprs (a, ()) p where  toExprs e  = ExprsCons (toExpr e) ExprsEmpty  -- one parameter+instance (IsExpr p a, IsExpr q b) => IsExprs (a, (b, ())) (p, q)+  where  toExprs (e1,e2) = ExprsCons (toExpr e1) $ toExprs e2                                 -- two parameters+instance (IsExpr p a, IsExpr q b, IsExpr r c) => IsExprs (a, (b, (c, ()))) (p, q, r)+  where  toExprs (e1,e2,e3) = ExprsCons (toExpr e1) $ toExprs (e2,e3)                         -- three parameters+instance (IsExpr p a, IsExpr q b, IsExpr r c, IsExpr s d) => IsExprs (a, (b, (c, (d, ())))) (p, q, r, s)+  where  toExprs (e1,e2,e3,e4) = ExprsCons (toExpr e1) $ toExprs (e2,e3,e4)                   -- four parameters+instance (IsExpr p a, IsExpr q b, IsExpr r c, IsExpr s d, IsExpr t e) => IsExprs (a, (b, (c, (d, (e, ()))))) (p, q, r, s, t)+  where  toExprs (e1,e2,e3,e4,e5) = ExprsCons (toExpr e1) $ toExprs (e2,e3,e4,e5)             -- five parameters++-- | Overloaded to extract several forms of parameter specifications of functions.+class InputSpecs a b | a -> b where+  inputSpecs :: a -> ParamSpecs b++-- | Overloaded to extract server forms of return-type specifications of functions.+class OutputSpecs a b | a -> b where+  outputSpecs :: a -> ParamSpecs b++-- | Extracts the specifications.+instance InputSpecs (FunSpec a b) a   where  inputSpecs (FunSig p _) = p+instance InputSpecs (ParamSpecs a) a  where  inputSpecs = id+instance OutputSpecs(FunSpec a b) b   where  outputSpecs (FunSig _ p) = p+instance OutputSpecs (ParamSpecs a) a where  outputSpecs = id+++--+-- Specification of a match on a join point+--++-- | Generic joinpoint information+data MatchInfo :: * -> * where+  MatchInfo :: { matchId :: Val Int, matchInfo :: a } -> MatchInfo a++-- | The result of matching against a coercion.+data CoerceMatch :: * -> * -> * where+  CoerceMatch :: { coerceCoe :: Coercion a b, coerceInfo :: CoerceInfo a b } -> CoerceMatch a b++-- | Information about what sort of coercion match we are talking about+data CoerceInfo :: * -> * -> * where+  CoerceEntry :: { coerceInp :: Val a } -> CoerceInfo a b+  CoerceDone  :: { coerceOut :: Val a } -> CoerceInfo a b+  CoerceFail  :: { coerceInp :: Val a, coerceExcp :: Val Any } -> CoerceInfo a b++-- | The result of a match against a block.+-- It consists of a unique identifier for the block, and+-- a Boolean value that identifies if the block is cyclic or not,+-- and a Maybe value that indicates if the block exited with an exception, or is an exception handler.+data BlockMatch :: * where+  BlockMatch :: { blockCycl :: Val Bool, blockExcp :: Val (Maybe Any) } -> BlockMatch++-- | The result of a match against a function.+-- It consists of the name of the function, the kind of the+-- function (i.e. property or method), and either the input+-- or output values.+-- May match against a failing function.+data FunMatch :: * -> * where+  FunMatch :: { funName :: Val String, funKind :: Val FunKind, funInfo :: a } -> FunMatch a++-- | Match info for a function that is called or has succeeded+data FunParams :: * -> * where+  FunParams :: { funParams :: Params a  } -> FunParams a++-- | Match info for a failed function.+data FunFail :: * where+  FunFail :: { funExcp :: Val Any } -> FunFail++-- | The kind of a function. Either a method or property (that get the object+-- as first parameter), or an objectless function.+data FunKind :: * where+  KindFunction :: FunKind+  KindMethod   :: FunKind+  KindProperty :: FunKind++-- | Returns the number of values in the parameter product as Haskell value.+numParams :: Params a -> Int+numParams ParamsEmpty       = 0+numParams (ParamsCons _ ps) = 1 + numParams ps+++--+-- Instrumentation monad+-- Combination of a State monad, writer monad, and continuation monad.+--++newtype Instr a = Instr (Int -> (Int -> a -> L.Instr -> (L.Instr, Int)) -> (L.Instr, Int))++runInstr :: Instr a -> L.Instr+runInstr (Instr f) = fst $ f 1 (\n _ l -> (l, n))++-- | Functor instance is just handy to have+instance Functor Instr where+  fmap f (Instr g) = Instr (\n k -> g n (\m v -> k m (f v)))++-- | Monad instance provides meta-programming via sequences.+instance Monad Instr where+  return x = Instr $ \n k -> k n x L.Instr_Nop+  (Instr m1) >>= f = Instr $ \n1 k ->+    m1 n1 $ \n2 v1 i1 ->+      let (Instr m2) = f v1+      in m2 n2 $ \n3 v2 i2 -> k n3 v2 (optSeq i1 i2)+  fail s = Instr $ \n k -> k n (error s) (L.Instr_Fail (Just s))++-- | Applicative instance provides sequencing.+--   Can be defined in terms of the monad; the current implementation has slightly less+--   Haskell overhead.+instance Applicative Instr where+  pure x = return x+  (Instr m1) <*> (Instr m2) = Instr $ \n1 k ->+    m1 n1 $ \n2 f i1 ->+      m2 n2 $ \n3 v i2 ->+        k n3 (f v) (L.Instr_Seq i1 i2)++-- | Alternative instance provides parallel composition.+instance Alternative Instr where+  empty = Instr $ \n1 k -> k n1 (error "Alternative:empty") (L.Instr_Fail Nothing)+  (<|>) = alt False True  -- try both alternatives; share continuation++-- | Some variations on the parallel composition.+infixl 3 <<|>+(<<|>) :: Instr a -> Instr a -> Instr a+(<<|>) = alt False False  -- doesn't do right alternative if left one succeeds++infixl 2 <#>+infixl 2 <<#>++(<#>), (<<#>) :: Instr a -> Instr a -> Instr a+(<#>)  = alt True True    -- try both alternatives; duplicate continuation+(<<#>) = alt True False   -- doesn't do right alternative if left one succeeds++-- | Different strategies for combining instrumentations in parallel.+alt :: Bool -> Bool -> Instr a -> Instr a -> Instr a+alt dupCont mode (Instr m1) (Instr m2) = Instr $ \n1 k ->+  if dupCont+  then let (i1,n2) = m1 n1 k+           (i2,n3) = m2 n2 k+       in (optAlt mode i1 i2, n3)+  else m1 n1 $ \n2 v1 i1 ->+         m2 n2 $ \n3 v2 i2 -> k n3 v2 (optAlt mode i1 i2)++-- | Smart constructor for sequencing: optimizes 'Nop' and 'Fail' instrumentations away.+optSeq :: L.Instr -> L.Instr -> L.Instr+optSeq L.Instr_Nop q = q+optSeq p L.Instr_Nop = p+optSeq (L.Instr_Fail msg) q = L.Instr_Fail msg+-- optSeq p (L.Instr_Fail msg) = L.Instr_Fail msg  -- this optimization may only be done if |p| does not have side effect+optSeq p q = L.Instr_Seq p q++-- | Smart constructor for parallel composition: optimizes 'Nop' and 'Fail' instrumentation away.+optAlt :: Bool -> L.Instr -> L.Instr -> L.Instr+optAlt _ (L.Instr_Fail _) q = q+optAlt _ p (L.Instr_Fail _) = p+optAlt _ L.Instr_Nop q = q+optAlt _ p L.Instr_Nop = p+optAlt b p q = L.Instr_Alt p q b++-- | Instrumentation that keeps repeating itself, until it fails. The associated value+--   is the value of the last iteration. Loop never fails: it simply stops executing the body.+--   Loop forever, unless there is side-effect.+--   This is the only instruction that creates cycles in the control-flow of the generated+--   instrumentation. With this combinator, we can capture loops in the generated instrumentation.+loop :: Instr a -> Instr a+loop (Instr m) = Instr $ \n1 k ->+  m n1 $ \n2 v i -> k n2 v (optLoop i)++-- | Eliminates trivial endless loops, and trivial always failing loops+optLoop :: L.Instr -> L.Instr+optLoop (L.Instr_Fail s) = L.Instr_Fail s+optLoop L.Instr_Nop      = L.Instr_Nop+optLoop i                = L.Instr_Loop i+++--+-- Primitive combinators+--++-- Provides a fresh integer.+freshInt :: Instr Int+freshInt = Instr $ \n k ->+  let m = n + 1+  in k m n L.Instr_Nop++-- Outputs a core instruction+embed :: L.Instr -> Instr ()+embed l = Instr $ \n k -> k n () l++-- | Primitive operation to invoke a function with a number of parameters.+invokeFun :: FunSpec a b -> Val String -> Params a -> Instr (Params b)+invokeFun (FunSig _ rs) nm inps = do+  outs <- freshParams rs+  let name  = valToVal nm+      inps' = paramsToParams inps+      outs' = paramsToParams outs+  embed (L.Instr_CallFun name inps' outs')+  return outs++-- | Primitive operation to invoke a property with a number of parameters.+invokeProp :: ParamsDescr b => Val (FunSpec a b) -> Params a -> Instr (Params b)+invokeProp prop inps = do+  outs <- outputsFromPropVal prop+  let vProp  = valToVal prop+      inps' = paramsToParams inps+      outs' = paramsToParams outs+  embed (L.Instr_CallProp vProp inps' outs')+  return outs++-- | Derive outputs based on the known type info+outputsFromPropVal :: ParamsDescr b => Val (FunSpec a b) -> Instr (Params b)+outputsFromPropVal _ = paramsFromType++-- | Type level computation only+class ParamsDescr a where+  paramsFromType :: Instr (Params a)++instance ParamsDescr Any where+  paramsFromType = do+    v <- fresh+    return $ ParamsAny v++instance ParamsDescr () where+  paramsFromType = return ParamsEmpty++instance ParamsDescr b => ParamsDescr (a,b) where+  paramsFromType = do+    v  <- fresh+    ps <- paramsFromType+    return (ParamsCons v ps)+++-- | Convert values to core structure.+valToVal :: Val a -> L.Val+valToVal v = case v of+  ValSym (Sym n)    -> L.Val_Sym n+  ValCon con        -> case con of+    ConInt n      -> L.Val_Int n+    ConUInt n     -> L.Val_UInt n+    ConBool b     -> L.Val_Bool b+    ConString s   -> L.Val_String s+    ConArray vs   -> L.Val_Array (map valToVal vs)+    ConType t     -> L.Val_Type (typeToType t)+    ConMethod n _ -> L.Val_Method n+  ValInd v1 v2      -> L.Val_Ind (valToVal v1) (valToVal v2)+  ValProp v (Key s) -> L.Val_Prop (valToVal v) s+  ValDyn v1 v2      -> L.Val_Dyn (valToVal v1) (valToVal v2)++-- | Convert types to core structure.+typeToType :: Type a -> L.Type+typeToType t = case t of+  TypeAny      -> L.Type_Any+  TypeBool     -> L.Type_Bool+  TypeInt      -> L.Type_Int+  TypeUInt     -> L.Type_UInt+  TypeDouble   -> L.Type_Double+  TypeString   -> L.Type_String+  TypeArray t  -> L.Type_Array (typeToType t)+  TypeBase     -> L.Type_Base+  TypeObject s -> L.Type_Object s+  TypeMethod   -> L.Type_Method++-- | Convert parameters to core structure.+paramsToParams :: Params a -> L.Params+paramsToParams (ParamsAny v)     = L.Params_Any (valToVal v)+paramsToParams ParamsEmpty       = L.Params_Nil+paramsToParams (ParamsCons v ps) = L.Params_Cons (L.Param_Param (valToVal v)) (paramsToParams ps)++-- | Introduces a fresh value for each of the parameters in the specification.+freshParams :: ParamSpecs a -> Instr (Params a)+freshParams SpecsAny        = fresh >>= return . ParamsAny+freshParams SpecsEmpty      = return ParamsEmpty+freshParams (SpecsCons _ r) = do+  v  <- fresh+  ps <- freshParams r+  return (ParamsCons v ps)+++-- Matches++-- | Matches upon the entry of a block+matchBlockEntry :: Instr (MatchInfo BlockMatch)+matchBlockEntry = do+  vId   <- fresh+  vCyc  <- fresh+  vExpt <- fresh+  embed $ L.Instr_Match $ L.Match_EnterBlock (valToVal vId) (valToVal vCyc) (valToVal vExpt)+  return $ MatchInfo vId $ BlockMatch vCyc vExpt++-- | Matches against a block that succeeded+matchBlockDone :: Instr (MatchInfo BlockMatch)+matchBlockDone = do+  vId <- fresh+  vCyc <- fresh+  let vExpt = ValCon ConNothing+  embed $ L.Instr_Match $ L.Match_LeaveBlock (valToVal vId) (valToVal vCyc)+  return $ MatchInfo vId $ BlockMatch vCyc vExpt++-- | Matches against a block that fails+matchBlockFail :: Instr (MatchInfo BlockMatch)+matchBlockFail = do+  vId   <- fresh+  vExpt <- fresh+  let vCyc = con False+  let vMbExpt = ValCon $ ConJust vExpt+  embed $ L.Instr_Match $ L.Match_FailBlock (valToVal vId) (valToVal vMbExpt)+  return $ MatchInfo vId $ BlockMatch vCyc vMbExpt++-- | Matches against the entry of a coercion.+matchCoerceEnter :: Coercion a b -> Instr (MatchInfo (CoerceMatch a b))+matchCoerceEnter CoerceNone = fail "a none coercion never matches"+matchCoerceEnter coe = do+  vId  <- fresh+  vVal <- fresh+  embed $ L.Instr_Match $ L.Match_BeginCoerce (valToVal vId) (valToVal vVal) (coeToCoe coe)+  return $ MatchInfo vId $ CoerceMatch coe $ CoerceEntry vVal++-- | Matches when a coercion succeeded.+matchCoerceDone :: Coercion a b -> Instr (MatchInfo (CoerceMatch a b))+matchCoerceDone CoerceNone = fail "a none coercion never matches"+matchCoerceDone coe = do+  vId  <- fresh+  vVal <- fresh+  embed $ L.Instr_Match $ L.Match_DoneCoerce (valToVal vId) (valToVal vVal) (coeToCoe coe)+  return $ MatchInfo vId $ CoerceMatch coe $ CoerceDone vVal++-- | Matches when a coercion failed.+matchCoerceFail :: Coercion a b -> Instr (MatchInfo (CoerceMatch a b))+matchCoerceFail CoerceNone = fail "a none coercion never matches"+matchCoerceFail coe = do+  vId   <- fresh+  vInp  <- fresh+  vExpt <- fresh+  embed $ L.Instr_Match $ L.Match_FailedCoerce (valToVal vId) (valToVal vExpt) (valToVal vInp) (coeToCoe coe)+  return $ MatchInfo vId $ CoerceMatch coe $ CoerceFail vInp vExpt++-- | Converts a coercion to core representation.+coeToCoe :: Coercion a b -> L.Coercion+coeToCoe coe = case coe of+  CoerceNone      -> L.Coercion_None+  CoerceAny       -> L.Coercion_Any+  CoerceAny'      -> L.Coercion_Any'+  CoerceString    -> L.Coercion_String+  CoerceDouble    -> L.Coercion_Double+  CoerceInt       -> L.Coercion_Int+  CoerceUInt      -> L.Coercion_UInt+  CoerceInstance  -> L.Coercion_Instance+  ++-- | Match entry of a function.+matchFunEnter :: InputSpecs p a => p -> Instr (MatchInfo (FunMatch (FunParams a)))+matchFunEnter specs = mFunOk (inputSpecs specs) L.Match_EnterFun++-- | Match successfully leaving of a function.+matchFunDone :: OutputSpecs p b => p -> Instr (MatchInfo (FunMatch (FunParams b)))+matchFunDone specs = mFunOk (outputSpecs specs) L.Match_LeaveFun++-- | Match a function that exits with an exception.+matchFunFail :: Instr (MatchInfo (FunMatch FunFail))+matchFunFail = mFunFail L.Match_FailFun++-- | Match entry of a function.+matchCallEnter :: InputSpecs p a => p -> Instr (MatchInfo (FunMatch (FunParams a)))+matchCallEnter specs = mFunOk (inputSpecs specs) L.Match_BeginCall++-- | Match successfully leaving of a function.+matchCallDone :: OutputSpecs p b => p -> Instr (MatchInfo (FunMatch (FunParams b)))+matchCallDone specs = mFunOk (outputSpecs specs) L.Match_DoneCall++-- | Match a function that exits with an exception.+matchCallFail :: Instr (MatchInfo (FunMatch FunFail))+matchCallFail = mFunFail L.Match_FailedCall++-- | Matches against several forms of function invocation/return.+mFunOk :: ParamSpecs a -> (L.Val -> L.Val -> L.Val -> L.Params -> L.Match) -> Instr (MatchInfo (FunMatch (FunParams a)))+mFunOk specs f = do+  vId   <- fresh+  vName <- fresh+  vKind <- fresh+  ps    <- freshParams specs+  embed $ L.Instr_Match $ f (valToVal vId) (valToVal vName) (valToVal vKind) (paramsToParams ps)+  return $ MatchInfo vId $ FunMatch vName vKind $ FunParams ps++-- | Matches against several forms of failed functions.+mFunFail :: (L.Val -> L.Val -> L.Val -> L.Val -> L.Match) -> Instr (MatchInfo (FunMatch FunFail))+mFunFail f = do+  vId   <- fresh+  vName <- fresh+  vKind <- fresh+  excpt  <- fresh+  embed $ L.Instr_Match $ f (valToVal vId) (valToVal vName) (valToVal vKind) (valToVal excpt)+  return $ MatchInfo vId $ FunMatch vName vKind $ FunFail excpt++-- | Applies a transformation function on the compiled instrumentation.+transform :: (L.Instr -> L.Instr) -> Instr a -> Instr a+transform f (Instr m) = Instr $ \n1 k ->+  let (l, n2) = m n1 k+  in (f l, n2)++-- | Instrumentation is deferred to runtime.+dynamic :: Instr a -> Instr a+dynamic = transform L.Instr_Dyn++-- | Instrumentation must be resolved at instrumentation time.+static :: Instr a -> Instr a+static = transform L.Instr_Static++-- | Tests if the value has a |True| value: succeeds if this is the case, fails if not.+assertValTrue :: Val Bool -> Instr ()+assertValTrue v = embed $ L.Instr_Assert $ valToVal v++-- | Runs an instrumentation on predecessors; returns the result of the last one, or fails.+predecessors :: Instr a -> Instr a+predecessors = transform L.Instr_Last+++-- | Expression to instrumentation. The instrumentation succeeds if the+-- expression evaluates to a value, then returns that value. Since the+-- expression may contain nested instrumentations, the evaluation of+-- expressions may fail.+expr :: IsExpr p a => p -> Instr (Val a)+expr = expr' . toExpr++-- | Compiles the expression to instrumentations.+expr' :: Expr a -> Instr (Val a)+expr' e = case e of+  ExprVal v      -> return v+  ExprUn op e'   -> do+    vIn <- expr' e'+    vOut <- fresh+    embed $ L.Instr_UnOp (valToVal vIn) (valToVal vOut) (unopToUnop op)+    return vOut+  ExprBin op l r -> do+    vL   <- expr' l+    vR   <- expr' r+    vOut <- fresh+    embed $ L.Instr_BinOp (valToVal vL) (valToVal vR) (valToVal vOut) (binopToBinop op)+    return vOut+  ExprInstr m    -> m++-- | Converts a unary operator to its core representation.+unopToUnop :: UnOp a b -> L.UnOp+unopToUnop op = case op of+  OpAbs       -> L.UnOp_Abs+  OpNeg       -> L.UnOp_Neg+  OpNot       -> L.UnOp_Not+  OpIsJust    -> L.UnOp_IsJust+  OpIsNothing -> L.UnOp_IsNothing+  OpExtract   -> L.UnOp_ExtractJust+  OpLength    -> L.UnOp_Length++-- | Converts a binary operator to its core representation.+binopToBinop :: BinOp a b c -> L.BinOp+binopToBinop op = case op of+  OpAnd -> L.BinOp_And+  OpOr  -> L.BinOp_Or+  OpRel r -> L.BinOp_Rel (relToRel r)  -- relation operator+  OpAdd -> L.BinOp_Add+  OpSub -> L.BinOp_Sub+  OpMul -> L.BinOp_Mul+  OpDiv -> L.BinOp_Div+  OpMod -> L.BinOp_Mod+  OpMax -> L.BinOp_Max+  OpMin -> L.BinOp_Min++-- | Converts a BinRel to the underlying representation.+relToRel :: BinRel a -> L.Rel+relToRel rel = case rel of+  RelEqual         -> L.Rel_Equal+  RelSmaller       -> L.Rel_Smaller+  RelSmallerEqual  -> L.Rel_SmallerEqual+  RelGreater       -> L.Rel_Greater+  RelGreaterEqual  -> L.Rel_GreaterEqual++-- | Returns the type of a value.+typeofVal :: Val a -> Instr (Val (Type a))+typeofVal v = do+  v' <- fresh+  embed $ L.Instr_TypeOf (valToVal v) (valToVal v')+  return v'++-- | Coerces the value of some type to another type.+coerceVal :: Coercion a b -> Val a -> Instr (Val b)+coerceVal CoerceNone v = return v+coerceVal coe v = do+  v' <- fresh+  let coe' :: L.Coercion+      coe' = case coe of+               CoerceAny      -> L.Coercion_Any+               CoerceAny'     -> L.Coercion_Any'+               CoerceString   -> L.Coercion_String+               CoerceDouble   -> L.Coercion_Double+               CoerceInt      -> L.Coercion_Int+               CoerceUInt     -> L.Coercion_UInt+               CoerceInstance -> L.Coercion_Instance+  embed $ L.Instr_Coerce coe' (valToVal v) (valToVal v')+  return v'++-- | Assigns a value to a variable.+assignVal :: Var a -> Val a -> Instr ()+assignVal (Sym n) v = embed $ L.Instr_Assign n (valToVal v)++-- | Static type assumption+assumeType :: Val a -> Val (Type a) -> Instr ()+assumeType v t = embed (L.Instr_Type (valToVal v) (valToVal t))+++--+-- Derived instrumentations+--+++-- | Calls a property that may take a tuple of expressions as parameters.+-- type signature for v required for inference+callProp :: forall a b e p . (IsExprs a p, IsExpr e (FunSpec a b), ParamsDescr b) => e -> p -> Instr (Params b)+callProp e ps = do+  v <- (expr e :: Instr (Val (FunSpec a b)))+  ps' <- exprsToParams $ toExprs ps+  invokeProp v ps'++-- | Calls a function that may take a tuple of expressions as parameters.+callFun :: (IsExprs a p, IsExpr s String) => FunSpec a b -> s -> p -> Instr (Params b)+callFun f nm ps = do+    nm' <- expr $ toExpr nm+    ps' <- exprsToParams $ toExprs ps+    invokeFun f nm' ps'++-- | Tests if some condition is met; if the condition is 'False', evaluation aborts.+assert :: IsExpr a Bool => a -> Instr ()+assert g = do+  v <- expr $ toExpr g+  assertValTrue v++-- | Tests if two expressions return equal values.+equal :: (IsExpr p Bool, IsExpr q Bool) => p -> q -> Instr ()+equal p q = assert ((.==.) p q)++-- | Assignment of a value to a variable.+infix 2 .=+(.=) :: IsExpr p a => Var a -> p -> Instr ()+ref .= e = expr (toExpr e) >>= assignVal ref++-- | Introduces a fresh, initialized variable.+var :: IsExpr p a => p -> Instr (Var a)+var e = do ref <- freshVar+           ref .= e+           return ref++-- | If-then-else instrumentation.+ifte :: (IsExpr g Bool, IsExpr p a, IsExpr q a) => g -> p -> q -> Instr (Expr a)+ifte g t e = fmap toExpr (ifte' g t e)++ifte' :: (IsExpr g Bool, IsExpr p a, IsExpr q a) => g -> p -> q -> Instr (Val a)+ifte' g t e = (assert g >> expr t) <<|> expr e++-- | While-loop (reevaluates 'g' for each iteration)+while :: IsExpr g Bool => g -> Instr a -> Instr a+while g m = loop (assert g >> m)++-- | For-loop+for :: (IsNumeric a, IsExpr p a) => p -> (Expr a -> Expr Bool) -> (Expr a -> Expr a) -> (Expr a -> Instr b) -> Instr b+for i g u b = do+  x <- var i+  let e = toExpr x+  while (g e) $ do+    v <- b e+    x .= u e+    return v+++--+-- Derived expressions+--++-- | Produces a fresh value.+fresh :: Instr (Val a)+fresh = fmap ValSym freshVar++-- | Produces a fresh variable.+freshVar :: Instr (Var a)+freshVar = fmap Sym freshInt++-- | Nested instrumentation (no result).+nest0 :: Instr () -> Expr Bool+nest0 m = nest $ fmap (const (con True)) m++-- | Nested instrumentation (with value as result).+nest :: Instr (Val a) -> Expr a+nest = ExprInstr++-- | Function call without a result value.+call0 :: (IsExprs a p, IsExpr s String) => FunSpec a () -> s -> p -> Expr Bool+call0 f nm ps = nest0 $ fmap (const ()) $ callFun f nm ps++-- | Function call with a single result value.+call :: (IsExprs a p, IsExpr s String) => FunSpec a (b, ()) -> s -> p -> Expr b+call f nm ps = nest $ fmap extract $ callFun f nm ps where+  extract :: Params (b, ()) -> Val b+  extract (ParamsCons v ParamsEmpty) = v++-- | Turns a expression product into a val-product.+exprsToParams :: Exprs a -> Instr (Params a)+exprsToParams ExprsEmpty = return ParamsEmpty+exprsToParams (ExprsCons e es) = do+  v  <- expr e+  fmap (ParamsCons v) $ exprsToParams es++-- | Casts one value into another value (implicitly).+cast :: (IsExpr a b, HasCoercion b c) => a -> Expr c+cast = coerce mkCoercion++-- | Coerces a value into another value (explicitly).+coerce :: IsExpr a b => Coercion b c -> a -> Expr c+coerce c e = nest (expr (toExpr e) >>= coerceVal c)++-- | Obtains the type of an expression.+typeof :: IsExpr a b => a -> Expr (Type b)+typeof e = nest (expr (toExpr e) >>= typeofVal)++-- | If-then-else expression.+ite :: (IsExpr g Bool, IsExpr p a, IsExpr q a) => g -> p -> q -> Expr a+ite g t e = nest (ifte' g t e)++-- | Common case for binary operators.+bin :: (IsExpr p a, IsExpr q b) => BinOp a b c -> p -> q -> Expr c+bin o p q = ExprBin o (toExpr p) (toExpr q)++-- | Common case for unary operators.+una :: IsExpr p a => UnOp a b -> p -> Expr b+una o p = ExprUn o (toExpr p)+++--+-- Convenience operators+--++unNot :: IsExpr p Bool => p -> Expr Bool+unNot = una OpNot++unAbs :: (IsExpr p a, IsNumeric a) => p -> Expr a+unAbs = una OpAbs++unNeg :: (IsExpr p a, IsNumeric a) => p -> Expr a+unNeg = una OpNeg++-- Check if the value is a nothing-value.+unIsNothing :: (IsExpr p (Maybe a)) => p -> Expr Bool+unIsNothing = una OpIsNothing++-- | Check if the value is a just-value.+unIsJust :: (IsExpr p (Maybe a)) => p -> Expr Bool+unIsJust = una OpIsJust++-- | Get the value stored in a just-value.+unExtract :: (IsExpr p (Maybe a)) => p -> Expr a+unExtract = una OpExtract++-- | Get the length of an array.+unLength :: (IsExpr p [a]) => p -> Expr Int+unLength = una OpLength+++infix 4 .==., .<=., .<., .>=., .>., ./=.+(.==.), (./=.) :: (IsExpr p a, IsExpr q a) => p -> q -> Expr Bool+(.==.) = bin (OpRel RelEqual)+(./=.) p q = unNot (p .==. q)++(.<=.), (.<.), (.>=.), (.>.) :: (IsExpr p a, IsExpr q a, IsComparable a) => p -> q -> Expr Bool+(.<=.) = bin (OpRel RelSmallerEqual)+(.<.)  = bin (OpRel RelSmaller)+(.>=.) = bin (OpRel RelGreaterEqual)+(.>.)  = bin (OpRel RelGreater)++infixr 3 .&&.+infixr 2 .||.+(.||.), (.&&.) :: (IsExpr p Bool, IsExpr q Bool) => p -> q -> Expr Bool+(.||.) = bin OpOr+(.&&.) = bin OpAnd++infixl 6 .+., .-.+infixl 7 .*., ./., .%.+infixl 5 ./\., .\/.++(.+.), (.-.), (.*.), (./.), (./\.), (.\/.) :: (IsNumeric a, IsExpr p a, IsExpr q a) => p -> q -> Expr a+(.+.)  = bin OpAdd+(.-.)  = bin OpSub+(.*.)  = bin OpMul+(./.)  = bin OpDiv+(./\.) = bin OpMax+(.\/.) = bin OpMin++(.%.) :: (IsNumInt a, IsExpr p a, IsExpr q a) => p -> q -> Expr a+(.%.) = bin OpMod
+ src/InstrBaseLib.hs view
@@ -0,0 +1,75 @@+-- Add more information to this module depending on external library usage++{-# LANGUAGE EmptyDataDecls, MultiParamTypeClasses, FunctionalDependencies, TypeSynonymInstances #-}+module InstrBaseLib where++import Instr+import Data.Word+++--+-- Built-in types+--++type T'any = Any+t'any :: Type Any+t'any = TypeAny++type T'int = Int+t'int :: Type Int+t'int = TypeInt++t'int'obj :: Type Int+t'int'obj = TypeObject "int"++type T'uint = Word32+t'uint :: Type Word32+t'uint = TypeUInt++t'uint'obj :: Type Word32+t'uint'obj = TypeObject "uint"++type T'double = Double+t'double :: Type Double+t'double = TypeDouble++t'double'obj :: Type Double+t'double'obj = TypeObject "double"++type T'float = Double+t'float :: Type Double+t'float = TypeDouble++t'float'obj :: Type Double+t'float'obj = TypeObject "float"++type T'Boolean = Bool+t'Boolean :: Type Bool+t'Boolean = TypeBool++t'Boolean'obj :: Type Bool+t'Boolean'obj = TypeObject "Boolean"++type T'String = String+t'String :: Type String+t'String = TypeString++t'String'obj :: Type String+t'String'obj = TypeObject "String"+++--+-- Built-in classes+--++data T'flash'display'Sprite+t'flash'display'Sprite = TypeObject "flash.display.Sprite"++k'flash'display'Sprite'buttonMode :: Key T'flash'display'Sprite T'Boolean+k'flash'display'Sprite'buttonMode = Key "flash.display.Sprite˳buttonMode"++class K'buttonMode a b | a -> b where+  k'buttonMode :: Key a b++instance K'buttonMode T'flash'display'Sprite T'Boolean where+  k'buttonMode = k'flash'display'Sprite'buttonMode
+ src/InstrLocFilter.ag view
@@ -0,0 +1,94 @@+-- Filters superfluous location instructions from the byte code+--+-- We keep branch targets and the location before a jump instruction++MODULE {InstrLocFilter} {instrLocFilter} {}++INCLUDE "ByteCodeAst.ag"+INCLUDE "ByteCodeLocationInfo.ag"++import+{+import Data.ByteString.Lazy(ByteString,pack)+import ByteCode+import Data.Word+import Data.Bits+import qualified Data.IntSet as IntSet+import Data.IntSet(IntSet)+import Data.Monoid+}++WRAPPER BodyInfo++{+-- | Computes the minimum length of an instruction (in bytes)+instrLocFilter :: BodyInfo -> BodyInfo+instrLocFilter body = body' where+  inh   = Inh_BodyInfo {}+  sem   = sem_BodyInfo body+  syn   = wrap_BodyInfo sem inh+  body' = output_Syn_BodyInfo syn+}++ATTR BodyInfo Instructions Instruction CaseOffsets DebugType+     Exceptions Exception AllTraits+     [ | | output : SELF ]++SEM BodyInfo | Info+  instructions.isBranch    = True+  instructions.revIsBranch = False++SEM Instructions | Cons+  lhs.output = if @hd.skip then @tl.output else @hd.output : @tl.output+++ATTR Instructions Instruction [ retain : IntSet | | ]+SEM BodyInfo | Info+  instructions.retain = @instructions.locs `mappend` @exceptions.locs++ATTR Instruction [ | | skip : Bool ]++SEM Instruction | * - Location+  lhs.skip = False++SEM Instruction | Location+  lhs.skip = not (IntSet.member @index @lhs.retain)+++-- Is the predecessor a branching instruction (except LookupSwitch)+ATTR Instructions Instruction [ | isBranch : Bool revIsBranch : Bool | ]+SEM Instruction+  | * - IfEq IfFalse IfGe IfGt IfLe IfLt IfNGe IfNGt IfNLe IfNLt IfNe IfStrictEq IfStrictNe IfTrue Jump LookupSwitch+      lhs.isBranch    = False+      lhs.revIsBranch = False+  | IfEq IfFalse IfGe IfGt IfLe IfLt IfNGe IfNGt IfNLe IfNLt IfNe IfStrictEq IfStrictNe IfTrue Jump LookupSwitch+      lhs.isBranch    = True+      lhs.revIsBranch = True++SEM Instructions | Cons  -- reverse flow+  tl.revIsBranch  = @lhs.revIsBranch+  hd.revIsBranch  = @tl.revIsBranch+  lhs.revIsBranch = @hd.revIsBranch++-- Compute the set of location to retain+ATTR Exceptions Exception Instructions Instruction CaseOffsets [ | | locs USE {`mappend`} {mempty} : IntSet ]++SEM Exception | Info+  lhs.locs = IntSet.fromList $ map fromIntegral $ [@from,@to,@target]++-- Location following a branch target+SEM Instruction | Location+  +locs = if @lhs.isBranch || @lhs.revIsBranch then (IntSet.insert @index) else id+  +SEM Instruction+  | LookupSwitch IfEq IfFalse IfGe IfGt IfLe IfLt IfNGe IfNGt IfNLe IfNLt IfNe IfStrictEq IfStrictNe IfTrue Jump+      +locs = IntSet.insert @loc.target++SEM CaseOffsets | Cons+  +locs = IntSet.insert @loc.target+++-- Slight hacks to deal with AG pecularities+SEM BodyInfo | Info+  instructions.isBranch < instructions.revLocation+  instructions.isBranch < instructions.revIsBranch
+ src/InstrSize.ag view
@@ -0,0 +1,51 @@+-- Computes the minimum size (in bytes) of instructions++MODULE {InstrSize} {instrSize} {}++INCLUDE "ByteCodeAst.ag"+INCLUDE "PrettyInstr.ag"++import+{+import Data.ByteString.Lazy(ByteString,pack)+import ByteCode+import Data.Bits+import Data.Word+import Codec.Binary.UTF8.String+}++WRAPPER Instruction++{+-- | Computes the minimum length of an instruction (in bytes)+instrSize :: Instruction -> Int+instrSize instr = size where+  inh  = Inh_Instruction {}+  sem  = sem_Instruction instr+  syn  = wrap_Instruction sem inh+  size = output_Syn_Instruction syn+}++ATTR Instruction DebugType CaseOffsets [ | | output : Int ]+SEM CaseOffsets | Nil       lhs.output = 0+SEM Instruction | Location  lhs.output = 0++-- Give a different interpretation to the pretty-printing instructions+{+infixr 3 ##+(##) :: Int -> Int -> Int+(##) = (+)++u8 :: Word8 -> Int+u8 _ = 1++s24 :: Word32 -> Int+s24 _ = 3++u30 :: Word32 -> Int+u30 0 = 1+u30 n = u30 (n `shiftR` 7)++u30size :: Int -> Int+u30size = u30 . fromIntegral+}
+ src/Language.ag view
@@ -0,0 +1,10 @@+MODULE {Language} {} {}++INCLUDE "LanguageAst.ag"++imports+{+import Data.Word+}++DERIVING * : Eq, Show
+ src/LanguageAst.ag view
@@ -0,0 +1,243 @@+-- This file encodes the abstract syntax of the core instrumentation language.+-- With this language, we can specify the instrumentation of object-oriented+-- programming languages.+-- We provide a high-level Haskell embedding for this language, which provides+-- abstraction facilities and type checking (See @Instr.hs@).++++-- The root of the specification, encapsulating an |Instr|.+DATA Spec+  | Instr  expr : Instr+++-- An |Instr| is a specification of how to (conditionally) intrument an instrumentable+-- program point. A program point is instrumentable when it is member of the library to+-- be transformed. Program points in native code, or code from non-transformed libraries,+-- are thus not instrumentable.+--+-- There are two main instrumentations: to match against program points such as function+-- calls (binding names to runtime values), and to specify function calls (parametrized+-- by bound runtime values) to add to the program point (binding names to return values).+--+-- Both operations have a runtime notion of success: a match succeeds if the associated+-- pattern matches the program point. A method call succeeds, unless its implementation+-- calls an special abort routine. The success of a match can be determined statically:+-- matches are resolved statically, binding symbolic names to the runtime values that+-- play a role upon execution of the program point.+--+-- Function calls can only be resolved at runtime. For function calls that may be resolved+-- at compile time, we define special instrumentation primitives (such as |Equal| and+-- |TypeOf|). This mechanism allows us to impose constraints on symbolic names.+--+-- The instrumentations can be composed sequentially or in parallel. Sequential composition+-- |p `Seq` q|, performs |q| if |p| succeeds. Parallel composition |p `Alt` q|, performs+-- both |p| and |q| (in the order of appearance). +DATA Instr++-- Combinators for combining instrumentations+  | Nop                               -- always succeeding instrumentation (unit to |Seq|)+  | Fail    msg     : {Maybe String}  -- always failing instrumentaiton (unit to |Alt|)+  | Seq     left    : Instr           -- sequential composition. Alternatives may occur+            right   : Instr           -- as LHS.+  | Alt     left    : Instr           -- parallel composition. If |tryBoth| is |True|, then+            right   : Instr           -- the right alternative is always tried. Otherwise,+            tryBoth : Bool            -- only when the first alternative fails.+  | Loop    instr   : Instr           -- repeatedly apply instrumentation until it fails (requires side effect)++-- Primitive combinators+  | CallFun name    : Val             -- invoke runtime function+            inps    : Params          -- with given input assignments+            outs    : Params          -- and output assignments+  | CallProp+            prop    : Val             -- invoke runtime property+            inps    : Params          -- with given input assignments+            outs    : Params          -- and output assignments+  | Match   spec    : Match           -- match against program point+  | Type    val     : Val             -- statically declares type of a value+            tp      : Val             -- value of type 'Type'++-- Combinators to force/check static or dynamic behavior+  | Static  instr   : Instr           -- enforce static treatment; error if this cannot be realized+  | Dyn     instr   : Instr           -- ... unless explicitly marked as dynamic++-- Static functions that may either be static or dynamic+  | Assign  var     : Int             -- assigns a value to a variable+            val     : Val             -- side-effectful operation+  | Assert  guard   : Val             -- tests against a boolean condition+  | BinOp   left    : Val             -- binary operator+            right   : Val+            out     : Val+            op      : BinOp+  | UnOp    inp     : Val             -- unary operator+            out     : Val+            op      : UnOp+  | Scan    format  : Val             -- describes a regular expression+            str     : Val             -- matches a string against a regular expression+            outs    : Params          -- succesful match binds values to symbols in grammars.+  | Pretty  format  : Val             -- pretty prints |inps| according to some format+            inps    : Params          -- description in |format|, and stores it as string value+            out     : Val             -- in |out|+  | TypeOf  inp     : Val             -- obtain static or runtime type of a value, with a preference+            out     : Val             -- for static if possible (use static/dynamic combinators to enforce)+  | Coerce  coe     : Coercion        -- apply a coercion+            inp     : Val+            out     : Val++-- Control-flow graph operations+  | Last    instr   : Instr           -- execute instrs on matching preceding join points. Returns the outcome of the last one; fails otherwise.+++-- |Match| is a specification of a match against a join point.+-- When more static information about a join point is available,+-- we can make more interesting matches.+DATA Match+  | EnterBlock  id   : Val      -- entry-point of a block of statements+                cyc  : Val      -- ... on a cyclic control-flow path+                excp : Val      -- maybe-value (if defined, then points to caught exception)+  | LeaveBlock  id   : Val      -- exit-point of a block of statements+                cyc  : Val      -- ... on a cyclic control-flow path+  | FailBlock   id   : Val      -- failure to execute a block of statements+                excp : Val      -- exception that occurred in the block of statements++-- Matches +  | EnterFun    id   : Val      -- entry of a function+                name : Val      -- name of the function+                kind : Val      -- kind of function: method, property, function+                inps : Params   -- parameters of the function+  | LeaveFun    id   : Val      -- succesful exit of a function+                name : Val      -- name of the function+                kind : Val      -- kind of the function: method, property, function+                outs : Params   -- return value(s) of the function+  | FailFun     id   : Val      -- exit a function with failure+                name : Val      -- name of the function+                kind : Val      -- kind of the function: method, property, function+                excp : Val      -- exception that occurred in the function++-- Matches on function calls+  | BeginCall   id   : Val      -- begin of function call+                name : Val      +                kind : Val      -- essential difference with EnterFun: instruments the+                inps : Params   -- caller instead of the callee+  | DoneCall    id   : Val      -- end of method call.+                name : Val+                kind : Val+                outs : Params+  | FailedCall  id   : Val      -- a failed method call (that exited with an exception)+                name : Val+                kind : Val+                excp : Val      -- the exception thrown++-- Matches on Coercions+  | BeginCoerce   id   : Val      -- start of a coercion+                  inp  : Val      -- value before coercion+                  coe  : Coercion -- the coercion+  | DoneCoerce    id   : Val      -- succesful coercion+                  outp : Val      -- value after coercion+                  coe  : Coercion -- the coercion+  | FailedCoerce  id   : Val      -- failed coercion+                  excp : Val      -- exception+                  inp  : Val      -- value that could not be coerced+                  coe  : Coercion -- the coercion+++-- Parameters and values+DATA Params+  | Any   val : Val+  | Nil+  | Cons  hd  : Param+          tl  : Params++DATA Param+  | Param  val : Val++TYPE Vals = [Val]++TYPE MaybeVal = MAYBE Val+++-- | A value is either a constant, a field of a class, or a symbolic value.+--   Each symbolic value is associated with an integer value. Some symbolic values+--   may have a statically known value; others are available at runtime.+--   Constants are statically known values. This is never the case for objects and+--   and fields.+DATA Val+  | Int     val : Int+  | UInt    val : Word32+  | Bool    val : Bool+  | String  val : String+  | Array   elems : Vals+  | Sym     sym : Int+  | Ind     arr : Val+            ind : Val+  | Prop    obj : Val+            key : String+  | Dyn     obj : Val+            key : Val+  | Type    val : Type+  | Method  name : String++-- Types (act as first-class constant values)+DATA Type+  | Any+  | Bool+  | Int+  | UInt+  | Double+  | String+  | Array   elem : Type+  | Base    -- the base type of all object types+  | Object  name : String+  | Method  -- a method (lost type info)++-- Coercions+DATA Coercion+  | None+  | Any+  | Any'+  | String+  | Double+  | Int+  | UInt+  | Instance++-- Unary operators+DATA UnOp+  | Abs  -- absolute value+  | Not  -- logical negation+  | Neg  -- numerical negation++-- Manipulate 'Maybe' values+  | IsJust       -- tests if it is a 'just' value (returns |True| if yes)+  | IsNothing    -- tests if its a nothing value (returns |True| if yes)+  | ExtractJust  -- takes the value out of a 'just' value++-- Manipulate 'Array' values+  | Length       -- get the length of an array++-- Binary operators+DATA BinOp+  -- logical operators+  | And+  | Or++  -- relation to operator+  | Rel  rel : Rel++  -- arithmetic operators+  | Add+  | Sub+  | Mul+  | Div+  | Mod+  | Max+  | Min++-- Binary relations+DATA Rel+  | Equal+  | Smaller+  | Greater+  | SmallerEqual+  | GreaterEqual+  | Negate        rel : Rel
+ src/Options.hs view
@@ -0,0 +1,76 @@+-- | Commandline options+module Options where++import System.Console.GetOpt+import System.Environment+import System.FilePath+import System.IO+import System.Directory++data Options+  = Options { optSourceFile  :: !FilePath+            , optOutputFile  :: !(Maybe FilePath)+            , optVerbose     :: !Bool+            , optDumpAst     :: !Bool+            , optDumpSym     :: !Bool+            , optGenLib      :: !(Maybe String)+            , optInjectAbc   :: ![FilePath]+            , optInjectRefl  :: !Bool+            , optEnv         :: ![FilePath]+            }++opts :: [OptDescr (Options -> IO Options)]+opts = [ Option "o" ["output"]      (ReqArg oOutput "path") "output .swf file"+       , Option "v" ["verbose"]     (NoArg oVerbose) "verbose output"+       , Option ""  ["dump-ast"]    (NoArg oDumpAst) "dump AST"+       , Option ""  ["dump-sym"]    (NoArg oDumpSym) "dump symbol table"+       , Option "l" ["gen-lib"]     (ReqArg oGenLib "name") "generate instrumentation support"+       , Option "i" ["inject-abc"]  (ReqArg oInjectAbc "path") "inject .abc byte code"+       , Option "r" ["inject-refl"] (NoArg oInjectRefl) "inject reflection information"+       , Option "e" ["env"]         (ReqArg oEnv "env") "environment info"+       ]++oOutput :: FilePath -> Options -> IO Options+oOutput s o = return (o { optOutputFile = Just s })++oVerbose :: Options -> IO Options+oVerbose o = return (o { optVerbose = True })++oDumpAst :: Options -> IO Options+oDumpAst o = return (o { optDumpAst = True })++oDumpSym :: Options -> IO Options+oDumpSym o = return (o { optDumpSym = True })++oGenLib :: String -> Options -> IO Options+oGenLib n o = return (o { optGenLib = Just n })++oInjectAbc :: String -> Options -> IO Options+oInjectAbc s o = return (o { optInjectAbc = splitSearchPath s })++oInjectRefl :: Options -> IO Options+oInjectRefl o = return (o { optInjectRefl = True })++oEnv :: String -> Options -> IO Options+oEnv fs o = return (o { optEnv = splitSearchPath fs })++defaultOpts :: Options+defaultOpts = Options { optSourceFile = "", optOutputFile = Nothing, optVerbose = False+                      , optDumpAst = False, optDumpSym = False+                      , optInjectAbc = [], optGenLib = Nothing, optEnv = []+                      , optInjectRefl = False }++commandlineArgs :: IO Options+commandlineArgs+  = do args <- getArgs+       let usage = usageInfo "Usage: asic <OPTION ...> <abc-file> ..." opts+       case getOpt Permute opts args of+         (actions, args', []) | null args' -> do hPutStrLn stderr ("No ABC source file specified.\n" ++ usage)+                                                 foldl (>>=) (return defaultOpts) actions+                              | otherwise  -> foldl (>>=) (return $ patch $ defaultOpts { optSourceFile = head args' }) actions+         (_, _, errs)                      -> do hPutStrLn stderr (unlines errs ++ "\n" ++ usage)+                                                 return defaultOpts+  where+    patch o = if optSourceFile o /= ""+              then o { optOutputFile = Just $ replaceExtension (optSourceFile o) ".out" }+              else o
+ src/ParseUtil.hs view
@@ -0,0 +1,264 @@+-- | Framework code for the parser+--+-- Rewritten to use Data.Binary.+-- See revision 9 for the UULIB version.+module ParseUtil+  ( module Control.Monad+  , module Data.Bits+  , module Data.Word+  , module Data.Binary.Get+  , module Control.Applicative+  , pNullString, pString+  , pCount1U30, pCountU30, pCount+  , runParser+  , pDecompress+  , pPos, pEnd+  , pD64, pW32, pS32, pU32, pU30, pS24, pU16, pU8, pByte+  , pTable+  , pInfo, (<?>), pInfo'+  , Parser, parseIt, parseAny+  , Bit, takeBits, takeBit, padded+  ) where++import Control.Applicative+import Control.Monad+import Control.Monad.State.Strict+import Data.Array.IArray+import Data.Bits+import Data.Binary.Get+import Data.Binary.IEEE754+import Data.ByteString.Lazy(ByteString)+import qualified Data.ByteString.Lazy as L+import qualified Data.ByteString as B+import qualified Codec.Compression.Zlib as Z+import Data.Word+import System.IO+import Debug.Trace+++-- | Parser type.+type Parser a = Get a++parseIt :: Parser a -> FilePath -> IO a+parseIt p = parseBase $ (\str -> (str, p))++parseBase :: (L.ByteString -> (L.ByteString, Parser a)) -> FilePath -> IO a+parseBase f = fmap (uncurry (flip runParser) . f . L.fromChunks . return) . B.readFile++parseAny :: [L.ByteString -> Maybe (L.ByteString, Parser a)] -> FilePath -> IO a+parseAny alts = parseBase findAlts where+  findAlts path = foldr (\f r -> maybe r id $ f path)+                        (error ("no parser applicable to input")) alts++{-# INLINE parseIt #-}+{-# INLINE parseBase #-}+{-# INLINE parseAny #-}+++-- | Expects a given byte to be present in the input.+pByte :: Word8 -> Parser Word8+pByte b = do+  b' <- getWord8+  if b == b'+   then return b'+   else do pos <- bytesRead+           fail ("expecting byte " ++ show b ++ " at " ++ show pos ++ ", but found: " ++ show b')++-- | Parses an 8-bits value+pU8 :: Parser Word8+pU8 = getWord8++-- | Parses a 16-bits value in little endian+pU16 :: Parser Word16+pU16 = getWord16le++-- | Parses a 24-bits value in little endian+pS24 :: Parser Word32+pS24 = do+  w1 <- fmap fromIntegral pU8+  w2 <- fmap fromIntegral pU8+  w3 <- fmap fromIntegral pU8+  let w4 = if w3 `testBit` 7  -- most significant bit (sign bit) set+           then 0xFF000000    -- sign extend ones+           else 0x00000000    -- sign extend zeros+  return (w4 .|. shiftL w3 16 .|. shiftL w2 8 .|. w1)++pU30 :: Parser Word32+pU30 = pVarLength False++pU32 :: Parser Word32+pU32 = pVarLength False++pS32 :: Parser Word32+pS32 = pVarLength True++{-# INLINE pU8 #-}+{-# INLINE pU30 #-}+++-- | Parses a variable length 32 bits value.+--   The MSB of each byte indicates if the next byte is also part of the value (max 5).+--   The representation is in little endian.+pVarLength :: Bool -> Parser Word32+pVarLength isSigned = accept' 1 where+  accept' n = do+    b1 <- pU8+    if n == 5 || not (b1 `testBit` 7)+     then -- this is the last byte read. Here we need to consider sign extension.+          let b | isSigned && n < 5 && b1 `testBit` 6  = 0xFFFFFF80  -- last bit is stored sign extended+                | otherwise                            = 0x00000000+          in return (b .|. fromIntegral b1)+     else do v2 <- accept' (n+1)+             let v1 = clearBit (fromIntegral b1) 7+             return (shiftL v2 7 .|. v1)++{-# INLINE pVarLength #-}++-- | 32 bits fixed size value (little endian).+pW32 :: Parser Word32+pW32 = getWord32le++-- | IEEE754 floating point value.+pD64 :: Parser Double+pD64 = getFloat64le++-- | Returns the current position in the input.+pPos :: Parser Int+pPos = fmap fromIntegral $ bytesRead++-- | Decompress a gzipped stream.+pDecompress :: Word32 -> Parser a -> Parser a+pDecompress length p = do+  s <- getRemainingLazyByteString+  let s' = Z.decompressWith Z.defaultDecompressParams { Z.decompressBufferSize = fromIntegral length } s+      x = runParser p s'+  return x++{-# INLINE pDecompress #-}++pEnd :: Parser ()+pEnd = do+  rem <- remaining+  if rem > 0+   then fail (show rem ++ " bytes remain unparsed")+   else return ()++-- | Runs the parser.+runParser :: Parser a -> ByteString -> a+runParser = runGet+++-- Useful derived combinators++-- | Parses a given number of items.+pCount :: Parser a -> Int -> Parser [a]+pCount p n+  | n < 0  = fail ("pCount: " ++ show n ++ " < 0.")+  | otherwise = pCount' p n++pCount' :: Parser a -> Int -> Parser [a]+pCount' p n = replicateM n p++-- | First parses a counter, then an equal number of items.+pCountU30 :: Parser a -> Parser [a]+pCountU30 p = fmap fromIntegral pU30 >>= pCount p++-- | First parses a counter, then parses one item less.+pCount1U30 :: Parser a -> Parser [a]+pCount1U30 p = fmap fromIntegral pU30 >>= (\n -> pCount p (0 `max` (n - 1)))++{-# INLINE pCount #-}+{-# INLINE pCount' #-}+{-# INLINE pCountU30 #-}+{-# INLINE pCount1U30 #-}++-- | Parses a string (fixed-length)+pString :: Parser ByteString+pString = fmap L.pack $ pCountU30 pU8 <?> "string"++-- | Parses a string (null-terminated)+pNullString :: Parser ByteString+pNullString = fmap L.pack run+  where run = pU8 >>= \c -> if c == 0 then return [] else fmap (c:) run++-- Dispatch based on the next symbol.+-- Note: relies on let/lambda-floating for efficiency.+pTable :: [(Word8, Parser a)] -> Parser a+pTable entries =+  let keys = map fst entries+      failures = [ (x, fail ("No alternative for byte: " ++ show x)) | x <- [0 .. 255], not (x `elem` keys) ]+      a = mkByteArray (failures ++ entries)+  in do x <- pU8+        a ! x+{-# INLINE pTable #-}++mkByteArray :: [(Word8,a)] -> Array Word8 a+mkByteArray = array (0,0xFF)++pInfo :: String -> Parser ()+pInfo = const (return ())+-- pInfo = pInfo'++pInfo' ::   String -> Parser ()+pInfo' s = do+  pos <- pPos+  trace ("@" ++ show pos ++ ": " ++ s) (return ())++infix 2 <?>++(<?>) :: Parser a -> String -> Parser a+p <?> s = do+  pInfo ("started: " ++ s)+  x <- p+  pInfo ("finished: " ++ s)+  return x++{-# INLINE (<?>) #-}+{-# INLINE pInfo #-}+++-- | Monad for parsing bitwise datastructures+-- on top of the binary Get interface.+-- Reads in a stream of bits, by taking bits+-- from individual bytes. The bits per byte+-- are provided in big-endian.+-- When you request a variable-sized word,+-- bits are taken from the stream. The last+-- bit read will be the least significant+-- bit in the delivered word.+type Bit a = StateT BitState Get a++data BitState = BitState { lastByte :: !Word8, lastIndex :: !Int }++padded :: Bit a -> Get a+padded m = evalStateT m (BitState 0 8)++takeBits :: Int -> Bit Word32+takeBits n+  | n < 0     = error "takeBits: n < 0"+  | otherwise = takeBits' 0 n++takeBits' :: Word32 -> Int -> Bit Word32+takeBits' acc 0 = return acc+takeBits' acc n = do+  b <- fmap toBit takeBit+  takeBits' (shiftL acc 1 .|. b) (n-1)+  where toBit False = 0+        toBit True  = 1++takeBit :: Bit Bool+takeBit = do+  i <- validIndex+  w <- gets lastByte+  increment+  return $! testBit w $ 7-i+  where+    validIndex = do+      i <- gets lastIndex+      if i > 7+       then do w <- lift pU8+               put (BitState w 0)+               return 0+       else return i+    increment = do+      modify (\s -> s { lastIndex = 1 + lastIndex s})
+ src/Parser.hs view
@@ -0,0 +1,709 @@+-- | Parser for ActionScript byte code.+--+-- Some parts of the grammar are not documented in the AVM2 specification.+-- In particular:+-- * generics: http://www.n-heptane.com/nhlab/repos/haskell-swf/++module Parser(parseAbcFile,parseSwfFile,parseAbcAsSwf,parseAnyAsSwf) where++import Data.Bits+import Data.ByteString.Lazy(ByteString)+import qualified Data.ByteString.Lazy as B+import Data.ByteString.Lazy.UTF8(fromString)+import Data.Word+import System.IO+import ParseUtil+import ByteCode+import InstrLocFilter+import Codec.Archive.Zip+import System.FilePath+++--+-- SWF parsing+--++pSwfFile :: Parser SwfFile+pSwfFile = do+  compressed <- pSwfHead+  version    <- pU8+  length     <- pW32+  let checkFinished p = p <* pEnd+      pTail | compressed = pDecompress length . checkFinished+            | otherwise  = checkFinished+  pTail $ do+    size  <- padded pRect+    rate  <- pU16+    count <- pU16+    tags  <- pTags+    return (SwfFile_File compressed version length size rate count tags)++pSwfHead :: Parser Bool+pSwfHead =+  pTable [ 0x46 .> return False+         , 0x43 .> return True ]+  <* pByte 0x57+  <* pByte 0x53+  <?> "SWF head"++pRect :: Bit Rect+pRect = do+  size <- fromIntegral <$> takeBits 5+  x1 <- takeBits size+  y1 <- takeBits size+  x2 <- takeBits size+  y2 <- takeBits size+  return (Rect_Rect size x1 x2 y1 y2)++pTags :: Parser Tags+pTags = do+  t <- pTag+  case t of+    Tag_End -> return [t]+    _       -> do ts <- pTags+                  return (t : ts)++pTag :: Parser Tag+pTag = do+    key <- pU16+    let code = shiftR key 6+        len' = key .&. 0x3F+    len <- if len' == 0x3F+           then pW32+           else return (fromIntegral len')+    let kind = toTagKind code+    pInfo ("Tag: " ++ show kind ++ ", len: " ++ show len)+    case kind of+      TagKind_DoABC -> Tag_Abc <$> pAbcFlags <*> pNullString <*> pAbcFile+      TagKind_End   -> return Tag_End+      TagKind_FileAttributes+                    -> padded $ do+                         takeBit+                         direct <- takeBit+                         gpu    <- takeBit+                         meta   <- takeBit+                         as3    <- takeBit+                         takeBits 2+                         net    <- takeBit+                         takeBits 24+                         return $ Tag_FileAttributes direct gpu meta as3 net+      _             -> Tag_Opaque kind len . B.fromChunks . return <$> getBytes (fromIntegral len)+  <?> "tag"++pAbcFlags :: Parser AbcFlags+pAbcFlags = do+  n <- pW32+  case n of+    0 -> return []+    1 -> return [AbcFlag_LazyInit]+    _ -> fail ("Unknown ABC flags: " ++ show n)++toTagKind :: Word16 -> TagKind+toTagKind c = case c of+  0  -> TagKind_End+  1  -> TagKind_ShowFrame+  2  -> TagKind_DefineShape+  4  -> TagKind_PlaceObject+  5  -> TagKind_RemoveObject+  6  -> TagKind_DefineBits+  7  -> TagKind_DefineButton+  8  -> TagKind_JPEGTables+  9  -> TagKind_SetBackgroundColor+  10 -> TagKind_DefineFont+  11 -> TagKind_DefineText+  12 -> TagKind_DoAction+  13 -> TagKind_DefineFontInfo+  14 -> TagKind_DefineSound+  15 -> TagKind_StartSound+  17 -> TagKind_DefineButtonSound+  18 -> TagKind_SoundStreamHead+  19 -> TagKind_SoundStreamBlock+  20 -> TagKind_DefineBitsLossless+  21 -> TagKind_DefineBitsJPEG2+  22 -> TagKind_DefineShape2+  23 -> TagKind_DefineButtonCxform+  24 -> TagKind_Protect+  26 -> TagKind_PlaceObject2+  28 -> TagKind_RemoveObject2+  32 -> TagKind_DefineShape3+  33 -> TagKind_DefineText2+  34 -> TagKind_DefineButton2+  35 -> TagKind_DefineBitsJPEG3+  36 -> TagKind_DefineBitsLossless2+  37 -> TagKind_DefineEditText+  39 -> TagKind_DefineSprite+  43 -> TagKind_FrameLabel+  45 -> TagKind_SoundStreamHead2+  46 -> TagKind_DefineMorphShape+  48 -> TagKind_DefineFont2+  56 -> TagKind_ExportAssets+  57 -> TagKind_ImportAssets+  58 -> TagKind_EnableDebugger+  59 -> TagKind_DoInitAction+  60 -> TagKind_DefineVideoStream+  61 -> TagKind_VideoFrame+  62 -> TagKind_DefineFontInfo2+  64 -> TagKind_EnableDebugger2+  65 -> TagKind_ScriptLimits+  66 -> TagKind_SetTabIndex+  69 -> TagKind_FileAttributes+  70 -> TagKind_PlaceObject3+  71 -> TagKind_ImportAssets2+  73 -> TagKind_DefineFontAlignZones+  74 -> TagKind_CSMTextSettings+  75 -> TagKind_DefineFont3+  76 -> TagKind_SymbolClass+  77 -> TagKind_Metadata+  78 -> TagKind_DefineScalingGrid+  82 -> TagKind_DoABC+  83 -> TagKind_DefineShape4+  84 -> TagKind_DefineMorphShape2+  86 -> TagKind_DefineSceneAndFrameLabelData+  87 -> TagKind_DefineBinaryData+  88 -> TagKind_DefineFontName+  89 -> TagKind_StartSound2+  90 -> TagKind_DefineBitsJPEG4+  91 -> TagKind_DefineFont4+  _  -> TagKind_Other c  -- fallback case+++--+-- ABC parsing+--++pAbcFile :: Parser AbcFile+pAbcFile = do+    major   <- pU16 <?> "major version"+    minor   <- pU16 <?> "minor version"+    pool    <- pPoolInfo+    methods <- pCountU30 pMethodInfo+    metas   <- pCountU30 pMetaInfo+    classCount <- fromIntegral <$> pU30+    instances  <- pCount pInstanceInfo classCount+    classes    <- pCount pClassInfo classCount+    scripts <- pCountU30 pScriptInfo+    bodies  <- pCountU30 pBodyInfo+    return (AbcFile_File major minor pool methods metas instances classes scripts bodies)+  <?> "abc file"++pPoolInfo :: Parser PoolInfo+pPoolInfo = PoolInfo_Info+  <$> pCount1U30 pS32+  <*> pCount1U30 pU32+  <*> pCount1U30 pD64+  <*> pCount1U30 pString+  <*> pCount1U30 pNamespaceInfo+  <*> pCount1U30 pSetInfo+  <*> pCount1U30 pMultinameInfo+  <?> "pool info"++pNamespaceInfo :: Parser NamespaceInfo+pNamespaceInfo = NamespaceInfo_Info+  <$> pNamespaceKind+  <*> pNamespaceIndex+  <?> "namespace info"++pNamespaceKind :: Parser NamespaceKind+pNamespaceKind = pTable+  [ 0x08 .> return NamespaceKind_General+  , 0x16 .> return NamespaceKind_Package+  , 0x17 .> return NamespaceKind_Internal+  , 0x18 .> return NamespaceKind_Protected+  , 0x19 .> return NamespaceKind_Explicit+  , 0x1A .> return NamespaceKind_Static+  , 0x05 .> return NamespaceKind_Private+  ] <?> "namespace kind"++pNamespaceIndex :: Parser Word32+pNamespaceIndex = pU30 <?> "namespace name index"++pSetInfo :: Parser SetInfo+pSetInfo = SetInfo_Info <$> pCountU30 pU30 <?> "namespace set info"++pMultinameInfo :: Parser MultinameInfo+pMultinameInfo = pTable+  [ 0x07 .> MultinameInfo_QName       <$> pNamespaceIndex <*> pNameIndex+  , 0x0D .> MultinameInfo_QNameA      <$> pNamespaceIndex <*> pNameIndex+  , 0x0F .> MultinameInfo_RTQName     <$> pNameIndex+  , 0x10 .> MultinameInfo_RTQNameA    <$> pNameIndex+  , 0x11 .> return MultinameInfo_RTQNameL+  , 0x12 .> return MultinameInfo_RTQNameLA+  , 0x09 .> MultinameInfo_Multiname   <$> pNameIndex <*> pSetIndex+  , 0x0E .> MultinameInfo_MultinameA  <$> pNameIndex <*> pSetIndex+  , 0x1B .> MultinameInfo_MultinameL  <$> pSetIndex+  , 0x1C .> MultinameInfo_MultinameLA <$> pSetIndex+  , 0x1D .> MultinameInfo_Generic     <$> pNameIndex <*> pCountU30 pNameIndex+  ] <?> "multiname info"++pNameIndex :: Parser Word32+pNameIndex = pU30 <?> "name index"++pSetIndex :: Parser Word32+pSetIndex = pU30 <?> "set index"++pMethodInfo :: Parser MethodInfo+pMethodInfo = do+  nParams    <- pLength+  rt         <- pMultinameIndex+  paramTps   <- pCount pMultinameIndex nParams+  nm         <- pNameIndex+  flags      <- pMethodFlags+  options    <- if MethodFlag_HasOptionals `elem` flags+                then pCountU30 pOptional+                else return []+  paramNames <- if MethodFlag_HasParamNames `elem` flags+                then pCount pNameIndex nParams+                else return []+  return (MethodInfo_Info rt paramTps nm flags options paramNames)+ <?> "method info"++pLength :: Parser Int+pLength = fromIntegral <$> pU30 <?> "length"++pMultinameIndex :: Parser Word32+pMultinameIndex = pU30 <?> "multiname index"++pMethodFlags :: Parser MethodFlags+pMethodFlags = pFlags [ (0x01, MethodFlag_NeedArgs)+                      , (0x02, MethodFlag_NeedAct)+                      , (0x04, MethodFlag_NeedRest)+                      , (0x08, MethodFlag_HasOptionals)+                      , (0x40, MethodFlag_SetDXNS)+                      , (0x80, MethodFlag_HasParamNames)+                      ]++pFlags :: [(Word8,a)] -> Parser [a]+pFlags flags = matchFlags flags <$> pU8 <?> "flags"++-- | takes those flags that have corresponding bits in the word+matchFlags :: [(Word8,a)] -> Word8 -> [a]+matchFlags flags b = map snd $ filter (\(x,_) -> x .&. b > 0) flags++pOptional :: Parser Optional+pOptional = Optional_Detail+  <$> pU32+  <*> pValueKind+  <?> "optional"++pValueKind :: Parser ValueKind+pValueKind = pTable+  [ 0x03 .> return ValueKind_Int+  , 0x04 .> return ValueKind_UInt+  , 0x06 .> return ValueKind_Double+  , 0x01 .> return ValueKind_Utf8+  , 0x0B .> return ValueKind_True+  , 0x0A .> return ValueKind_False+  , 0x0C .> return ValueKind_Null+  , 0x00 .> return ValueKind_Undefined+  , 0x08 .> return ValueKind_Namespace+  , 0x16 .> return ValueKind_Package+  , 0x17 .> return ValueKind_Internal+  , 0x18 .> return ValueKind_Protected+  , 0x19 .> return ValueKind_Explicit+  , 0x1A .> return ValueKind_Static+  , 0x05 .> return ValueKind_Private+  ] <?> "constant kind"++pMetaInfo :: Parser MetaInfo+pMetaInfo = MetaInfo_Info <$> pNameIndex <*> pCountU30 pMetaItem <?> "meta info"++pMetaItem :: Parser MetaItem+pMetaItem = MetaItem_Item <$> pNameIndex <*> pNameIndex <?> "meta item"++pInstanceInfo :: Parser InstanceInfo+pInstanceInfo = do+    name  <- pMultinameIndex+    super <- pMultinameIndex+    flags <- pFlags [ (0x01, InstanceFlag_ClassSealed)+                    , (0x02, InstanceFlag_ClassFinal)+                    , (0x04, InstanceFlag_ClassInterface)+                    , (0x08, InstanceFlag_ClassProtected)+                    ]+    protected <- if InstanceFlag_ClassProtected `elem` flags+                 then (pNamespaceIndex <?> "protected")+                 else return 0+    itfs   <- pCountU30 pMultinameIndex+    con    <- pMethodIndex+    traits <- pCountU30 pTrait+    return (InstanceInfo_Info name super flags protected itfs con traits)+  <?> "instance info"++pMethodIndex :: Parser Word32+pMethodIndex = pU30 <?> "method index"++pTrait :: Parser Trait+pTrait = do+    name <- pMultinameIndex+    info <- pU8+    pInfo ("trait info: " ++ show info)+    let tp = info .&. 0x0F+    body <- case tp of+              0 -> pTraitSlot TraitData_Slot+              1 -> pTraitMethod TraitData_Method+              2 -> pTraitMethod TraitData_Getter+              3 -> pTraitMethod TraitData_Setter+              4 -> pTraitClass+              5 -> pTraitFun+              6 -> pTraitSlot TraitData_Const+              _ -> fail ("unknown trait type: " ++ show info)+    let flags = shiftR info 4+        attrs = matchFlags [ (0x1, TraitAttr_Final)+                           , (0x2, TraitAttr_Override)+                           , (0x4, TraitAttr_Metadata)+                           ] flags+    meta <- if TraitAttr_Metadata `elem` attrs+            then pCountU30 pMetadataIndex+            else return []+    return (Trait_Trait name body attrs meta)+  <?> "trait"++pTraitSlot :: (Word32 -> Word32 -> Word32 -> ValueKind -> TraitData) -> Parser TraitData+pTraitSlot f = do+    slotId   <- pSlotId+    typeName <- pMultinameIndex+    vindex   <- (pU30 <?> "vindex")+    vkind    <- if vindex > 0+                then pValueKind+                else return ValueKind_Undefined+    return (f slotId typeName vindex vkind)+  <?> "trait slot"++pTraitMethod :: (Word32 -> Word32 -> TraitData) -> Parser TraitData+pTraitMethod f = f <$> pDispId <*> pMethodIndex <?> "trait method"++pTraitClass :: Parser TraitData+pTraitClass = TraitData_Class <$> pSlotId <*> pClassIndex <?> "trait class"++pTraitFun :: Parser TraitData+pTraitFun = TraitData_Function <$> pSlotId <*> pMethodIndex <?> "trait fun"++pDispId :: Parser Word32+pDispId = pU30 <?> "dispatch id"++pSlotId :: Parser Word32+pSlotId = pU30 <?> "slot id"++pClassIndex :: Parser Word32+pClassIndex = pU30 <?> "class index"++pMetadataIndex :: Parser Word32+pMetadataIndex = pU30 <?> "metadata index"++pClassInfo :: Parser ClassInfo+pClassInfo = ClassInfo_Info <$> pMethodIndex <*> pCountU30 pTrait <?> "class info"++pScriptInfo :: Parser ScriptInfo+pScriptInfo = ScriptInfo_Info <$> pMethodIndex <*> pCountU30 pTrait <?> "script info"++-- | Parses a method body and filters out the location information such that only+--   those remain that are targets of branch instructions, and those that+--   give location info to branching instructions.+pBodyInfo :: Parser BodyInfo+pBodyInfo = instrLocFilter <$> pBodyInfo'++-- | Parses a method body with an abundance of location information+pBodyInfo' :: Parser BodyInfo+pBodyInfo' = BodyInfo_Info+  <$> pMethodIndex+  <*> (pU30 <?> "max stack")+  <*> (pU30 <?> "local count")+  <*> (pU30 <?> "init scope depth")+  <*> (pU30 <?> "max scope depth")+  <*> pInstrs+  <*> pCountU30 pException+  <*> pCountU30 pTrait+  <?> "method body"++pInstrs :: Parser [Instruction]+pInstrs = do+  n <- pU30+  p <- pPos+  pInstrArray p (p + fromIntegral n)++-- | Parses the next instruction, only if its+pInstrArray :: Int -> Int -> Parser [Instruction]+pInstrArray beginPos endPos = rec+  where rec = do+          p <- pPos+          if p < endPos+           then (\i is -> Instruction_Location (p - beginPos) : i : is) <$> pInstr <*> rec+           else return []++pInstr :: Parser Instruction+pInstr = pTable table <?> "instruction"++table :: [(Word8, Parser Instruction)]+table =+  [ 0xA0 .> return Instruction_Add+  , 0xC5 .> return Instruction_Add_i+  , 0x9B .> return Instruction_Add_d+  , 0x53 .> Instruction_ApplyType <$> pIndex+  , 0x86 .> Instruction_AsType <$> pMultinameIndex+  , 0x87 .> return Instruction_AsTypeLate+  , 0xA8 .> return Instruction_BitAnd+  , 0x97 .> return Instruction_BitNot+  , 0xA9 .> return Instruction_BitOr+  , 0xAA .> return Instruction_BitXor+  , 0x01 .> return Instruction_Breakpoint+  , 0xF2 .> Instruction_BreakLine <$> pLine+  , 0x41 .> Instruction_Call <$> pArgCount+  , 0x4D .> Instruction_CallInterface  <$> pNameIndex   <*> pArgCount+  , 0x43 .> Instruction_CallMethod     <$> pIndex       <*> pArgCount+  , 0x46 .> Instruction_CallProp       <$> pNameIndex   <*> pArgCount+  , 0x4C .> Instruction_CallPropLex    <$> pNameIndex   <*> pArgCount+  , 0x4F .> Instruction_CallPropVoid   <$> pNameIndex   <*> pArgCount+  , 0x44 .> Instruction_CallStatic     <$> pMethodIndex <*> pArgCount+  , 0x45 .> Instruction_CallSuper      <$> pNameIndex   <*> pArgCount+  , 0x4B .> return Instruction_CallSuperId+  , 0x4E .> Instruction_CallSuperVoid  <$> pNameIndex   <*> pArgCount+  , 0x78 .> return Instruction_CheckFilter+  , 0x80 .> Instruction_Coerce         <$> pNameIndex+  , 0x81 .> return Instruction_Coerce_b+  , 0x82 .> return Instruction_Coerce_a+  , 0x83 .> return Instruction_Coerce_i+  , 0x84 .> return Instruction_Coerce_d+  , 0x85 .> return Instruction_Coerce_s+  , 0x88 .> return Instruction_Coerce_u+  , 0x89 .> return Instruction_Coerce_o+  , 0x9A .> return Instruction_Concat+  , 0x42 .> Instruction_Construct      <$> pArgCount+  , 0x4A .> Instruction_ConstructProp  <$> pNameIndex <*> pArgCount+  , 0x49 .> Instruction_ConstructSuper <$> pArgCount+  , 0x76 .> return Instruction_Convert_b+  , 0x73 .> return Instruction_Convert_i+  , 0x75 .> return Instruction_Convert_d+  , 0x77 .> return Instruction_Convert_o+  , 0x74 .> return Instruction_Convert_u+  , 0x70 .> return Instruction_Convert_s+  , 0xEF .> Instruction_Debug          <$> pDebugType <*> pNameIndex <*> pRegIndex <*> pU30+  , 0xF1 .> Instruction_DebugFile      <$> pNameIndex+  , 0xF0 .> Instruction_DebugLine      <$> pLine+  , 0x94 .> Instruction_DecLocal       <$> pRegIndex+  , 0xC3 .> Instruction_DecLocal_i     <$> pRegIndex+  , 0x93 .> return Instruction_Decrement+  , 0xC1 .> return Instruction_Decrement_i+  , 0x6A .> Instruction_DeleteProperty <$> pNameIndex+  , 0x6B .> return Instruction_DeletePropertyLate+  , 0xA3 .> return Instruction_Divide+  , 0x2A .> return Instruction_Dup+  , 0x06 .> Instruction_Dxns           <$> pNameIndex+  , 0x07 .> return Instruction_DxnsLate+  , 0xAB .> return Instruction_Equals+  , 0x72 .> return Instruction_EscXAttr+  , 0x71 .> return Instruction_EscXElem+  , 0x5F .> Instruction_FindDef <$> pNameIndex+  , 0x5B .> Instruction_FindPropertyGlobalStrict <$> pNameIndex+  , 0x5C .> Instruction_FindPropertyGlobal <$> pNameIndex+  , 0x5E .> Instruction_FindProperty   <$> pNameIndex+  , 0x5D .> Instruction_FindPropStrict <$> pNameIndex+  , 0x59 .> Instruction_GetDescendants <$> pNameIndex+  , 0x64 .> return Instruction_GetGlobalScope+  , 0x6E .> Instruction_GetGlobalSlot  <$> pSlotIndex+  , 0x60 .> Instruction_GetLex         <$> pNameIndex+  , 0x62 .> Instruction_GetLocal       <$> pRegIndex+  , 0xD0 .> return Instruction_GetLocal0+  , 0xD1 .> return Instruction_GetLocal1+  , 0xD2 .> return Instruction_GetLocal2+  , 0xD3 .> return Instruction_GetLocal3+  , 0x67 .> Instruction_GetOuterScope  <$> pNameIndex+  , 0x66 .> Instruction_GetProperty    <$> pNameIndex+  , 0x65 .> Instruction_GetScopeObject <$> (pU8 <?> "scope index")+  , 0x6C .> Instruction_GetSlot        <$> pSlotIndex+  , 0x04 .> Instruction_GetSuper       <$> pNameIndex+  , 0xB0 .> return Instruction_GreaterEquals+  , 0xAF .> return Instruction_GreaterThan+  , 0x1F .> return Instruction_HasNext+  , 0x32 .> Instruction_HasNext2       <$> pRegIndex <*> pRegIndex+  , 0x13 .> Instruction_IfEq           <$> pOffset+  , 0x12 .> Instruction_IfFalse        <$> pOffset+  , 0x18 .> Instruction_IfGe           <$> pOffset+  , 0x17 .> Instruction_IfGt           <$> pOffset+  , 0x16 .> Instruction_IfLe           <$> pOffset+  , 0x15 .> Instruction_IfLt           <$> pOffset+  , 0x0F .> Instruction_IfNGe          <$> pOffset+  , 0x0E .> Instruction_IfNGt          <$> pOffset+  , 0x0D .> Instruction_IfNLe          <$> pOffset+  , 0x0C .> Instruction_IfNLt          <$> pOffset+  , 0x14 .> Instruction_IfNe           <$> pOffset+  , 0x19 .> Instruction_IfStrictEq     <$> pOffset+  , 0x1A .> Instruction_IfStrictNe     <$> pOffset+  , 0x11 .> Instruction_IfTrue         <$> pOffset+  , 0xB4 .> return Instruction_In+  , 0x92 .> Instruction_IncLocal       <$> pRegIndex+  , 0xC2 .> Instruction_IncLocal_i     <$> pRegIndex+  , 0x91 .> return Instruction_Increment+  , 0xC0 .> return Instruction_Increment_i+  , 0x68 .> Instruction_InitProperty   <$> pNameIndex+  , 0xB1 .> return Instruction_InstanceOf+  , 0xB2 .> Instruction_IsType         <$> pNameIndex+  , 0xB3 .> return Instruction_IsTypeLate+  , 0x10 .> Instruction_Jump           <$> pOffset+  , 0x08 .> Instruction_Kill           <$> pRegIndex+  , 0x09 .> return Instruction_Label+  , 0xAE .> return Instruction_LessEquals+  , 0xAD .> return Instruction_LessThan+  , 0x38 .> return Instruction_LoadFloat32+  , 0x39 .> return Instruction_LoadFloat64+  , 0x35 .> return Instruction_LoadIndirect8+  , 0x36 .> return Instruction_LoadIndirect16+  , 0x37 .> return Instruction_LoadIndirect32+  , 0x1B .> Instruction_LookupSwitch   <$> pOffset <*> (pU30 >>= pCount pOffset . (+1) . fromIntegral)+  , 0xA5 .> return Instruction_Lshift+  , 0xA4 .> return Instruction_Modulo+  , 0xA2 .> return Instruction_Multiply+  , 0xC7 .> return Instruction_Multiply_i+  , 0x90 .> return Instruction_Negate+  , 0xC4 .> return Instruction_Negate_i+  , 0x57 .> return Instruction_NewActivation+  , 0x56 .> Instruction_NewArray <$> pArgCount+  , 0x5A .> Instruction_NewCatch <$> pExceptionIndex+  , 0x58 .> Instruction_NewClass <$> pClassIndex+  , 0x40 .> Instruction_NewFunction <$> pMethodIndex+  , 0x55 .> Instruction_NewObject <$>pArgCount+  , 0x1E .> return Instruction_NextName+  , 0x23 .> return Instruction_NextValue+  , 0x02 .> return Instruction_Nop+  , 0x96 .> return Instruction_Not+  , 0x29 .> return Instruction_Pop+  , 0x1D .> return Instruction_PopScope+  , 0x24 .> Instruction_PushByte       <$> pU8+  , 0x2F .> Instruction_PushDouble     <$> pDoubleIndex+  , 0x27 .> return Instruction_PushFalse+  , 0x2D .> Instruction_PushInt        <$> pU30+  , 0x31 .> Instruction_PushNamespace  <$> pNamespaceIndex+  , 0x28 .> return Instruction_PushNaN+  , 0x20 .> return Instruction_PushNull+  , 0x30 .> return Instruction_PushScope+  , 0x25 .> Instruction_PushShort      <$> pU30+  , 0x2C .> Instruction_PushString     <$> pStringIndex+  , 0x26 .> return Instruction_PushTrue+  , 0x2E .> Instruction_PushUInt       <$> pIntIndex+  , 0x21 .> return Instruction_PushUndefined+  , 0x1C .> return Instruction_PushWith+  , 0x48 .> return Instruction_ReturnValue+  , 0x47 .> return Instruction_ReturnVoid+  , 0xA6 .> return Instruction_Rshift+  , 0x63 .> Instruction_SetLocal       <$> pRegIndex+  , 0xD4 .> return Instruction_SetLocal0+  , 0xD5 .> return Instruction_SetLocal1+  , 0xD6 .> return Instruction_SetLocal2+  , 0xD7 .> return Instruction_SetLocal3+  , 0x6F .> Instruction_SetGlobalSlot  <$> pSlotIndex+  , 0x61 .> Instruction_SetProperty    <$> pNameIndex+  , 0x69 .> return Instruction_SetPropertyLate+  , 0x6D .> Instruction_SetSlot        <$> pSlotIndex+  , 0x05 .> Instruction_SetSuper       <$> pNameIndex+  , 0x50 .> return Instruction_SignExtend1+  , 0x51 .> return Instruction_SignExtend8+  , 0x52 .> return Instruction_SignExtend16+  , 0x3D .> return Instruction_StoreFloat32+  , 0x3E .> return Instruction_StoreFloat64+  , 0x3A .> return Instruction_StoreIndirect8+  , 0x3B .> return Instruction_StoreIndirect16+  , 0x3C .> return Instruction_StoreIndirect32+  , 0xAC .> return Instruction_StrictEquals+  , 0xA1 .> return Instruction_Substract+  , 0xC6 .> return Instruction_Substract_i+  , 0x2B .> return Instruction_Swap+  , 0x03 .> return Instruction_Throw+  , 0xF3 .> return Instruction_Timestamp+  , 0x95 .> return Instruction_TypeOf+  , 0xA7 .> return Instruction_Urshift+  ]++infix 2 .>+(.>) :: Word8 -> Parser a -> (Word8, Parser a)+k .> v = (k, v)++pArgCount :: Parser Word32+pArgCount = pU30 <?> "argument count"++pIndex :: Parser Word32+pIndex = pU30 <?> "index"++pSlotIndex :: Parser Word32+pSlotIndex = pU30 <?> "slot"++pRegIndex :: Parser Word32+pRegIndex = pU30 <?> "register"++pOffset :: Parser Word32+pOffset = pS24 <?> "offset"++pLine :: Parser Word32+pLine = pU30 <?> "line nr"++pExceptionIndex :: Parser Word32+pExceptionIndex = pU30 <?> "exception index"++pIntIndex :: Parser Word32+pIntIndex = pU30 <?> "int index"++pDoubleIndex :: Parser Word32+pDoubleIndex = pU30 <?> "double index"++pStringIndex :: Parser Word32+pStringIndex = pU30 <?> "string index"++pDebugType :: Parser DebugType+pDebugType =+      DebugType_Local <$ pByte 0x01+  <?> "debug type"++pException :: Parser Exception+pException = Exception_Info+  <$> (pU30 <?> "from index")+  <*> (pU30 <?> "to index")+  <*> (pU30 <?> "target index")+  <*> pNameIndex+  <*> pNameIndex+  <?> "exception"++parseAbcFile :: FilePath -> IO AbcFile+parseAbcFile = parseIt (pAbcFile <* pEnd)++parseSwfFile :: FilePath -> IO SwfFile+parseSwfFile = parseIt pSwfFile++parseAbcAsSwf :: FilePath -> IO SwfFile+parseAbcAsSwf = parseIt (abcToSwf <$> pAbcFile <* pEnd)++abcToSwf :: AbcFile -> SwfFile+abcToSwf abc = swf where+  swf   = SwfFile_File False 9 0 rect 15 0 tags+  rect  = Rect_Rect 15 0 0 10000 7500+  tags  = [begin, code, end]+  begin = Tag_FileAttributes True True False True False+  end   = Tag_End+  code  = Tag_Abc [] (fromString "abc") abc++parseAnyAsSwf :: FilePath -> IO SwfFile+parseAnyAsSwf = parseAny+  [ \str -> if B.take 2 str == hPkZip+            then let str' = decompress str+                 in str' `seq` Just (str', pSwfFile)+            else Nothing+  , \str -> let hd = B.take 3 str+            in if hd == hUSwf || hd == hCSwf+               then Just (str, pSwfFile)+               else Nothing+  , \str -> if B.take 4 str == hAbc+            then Just (str, abcToSwf <$> pAbcFile <* pEnd)+            else Nothing+  ] where+      hPkZip = B.pack [0x50,0x4B]+      hUSwf  = B.pack [0x46,0x57,0x53]+      hCSwf  = B.pack [0x43,0x57,0x53]+      hAbc   = B.pack [0x10,0x00,0x2E,0x00]++      decompress str =+        let archive  = toArchive str+            swfFiles = filter (\file -> takeExtension file == ".swf") (filesInArchive archive)+            nFiles   = length swfFiles+            file     = head swfFiles+        in case nFiles of+             0 -> error "no .swf file in archive."+             1 -> case findEntryByPath file archive of+                    Nothing -> error ".swf entry not found"+                    Just e  -> fromEntry e+             _ -> error "too many .swf files in archive"
+ src/PrettyCode.ag view
@@ -0,0 +1,532 @@+MODULE {PrettyCode} {ppSwf,ppAbc} {}++optpragmas+{+{-# LANGUAGE TypeSynonymInstances #-}+}++INCLUDE "ByteCodeAst.ag"+INCLUDE "PrettyInstr.ag"++imports+{+import Codec.Compression.Zlib+import Data.Binary.Builder+import Data.Binary.IEEE754+import qualified Data.Binary.Put as P+import Data.Bits+import Data.ByteString.Lazy(ByteString)+import qualified Data.ByteString.Lazy as B+import Data.Word+import Data.Monoid+import ByteCode+}++WRAPPER SwfFile+WRAPPER AbcFile++{+ppSwf :: SwfFile -> ByteString+ppSwf m = str where+  inh = Inh_SwfFile {}+  sem = sem_SwfFile m+  syn = wrap_SwfFile sem inh+  out = output_Syn_SwfFile syn+  str = toLazyByteString out++ppAbc :: AbcFile -> ByteString+ppAbc m = str where+  inh = Inh_AbcFile {}+  sem = sem_AbcFile m+  syn = wrap_AbcFile sem inh+  out = output_Syn_AbcFile syn+  str = toLazyByteString out+}++{+class ToBuilder a where+  toBuilder :: a -> Builder++instance ToBuilder ByteString where+  toBuilder = fromLazyByteString++instance ToBuilder Builder where+  toBuilder = id++instance ToBuilder Word8 where+  toBuilder = singleton++infixr 3 ##++(##) :: (ToBuilder a, ToBuilder b) => a -> b -> Builder+a ## b = toBuilder a `append` toBuilder b++u8 :: Word8 -> Builder+u8 = singleton . fromIntegral++w32 :: Word32 -> Builder+w32 = putWord32le++d64 :: Double -> Builder+d64 = toBuilder . P.runPut . putFloat64le++u16 :: Word16 -> Builder+u16 = putWord16le++s24 :: Word32 -> Builder+s24 w = u8 w1 ## u8 w2 ## u8 w3+  where w1 = fromIntegral (w .&. 0xFF)+        w2 = fromIntegral (shiftR w 8 .&. 0xFF)+        w3 = fromIntegral (shiftR w 16 .&. 0xFF)++-- Note: ignoring here the exact size.+u30 :: Word32 -> Builder+u30 = v32 False++s32 :: Word32 -> Builder+s32 = v32 True++u32 :: Word32 -> Builder+u32 = v32 False++-- Rather complicated due to compression of negative numbers.+v32 :: Bool -> Word32 -> Builder+v32 isSigned w+  | isSigned && w `testBit` 31 = negative+  | otherwise                  = positive+  where+    part w' = let r  = shiftR w' 7  -- drop seven bits, the residual bits form the remainder+                  v  = w' .&. 0x7F  -- take the first seven bits+                  ps | r > 0     = part r+                     | otherwise = []+              in fromIntegral v : ps+    ws = part w  -- non-empty sequence of 7 bits+    +    mark [x]    = [x]                         -- last byte unchanged+    mark (x:xs) = setBit x 7 : mark xs        -- mark 7th bit of all but the last byte++    positive = build (mark ws)  -- render to a sequence of bytes++    negative = let -- given a reversed byte sequence, strips off those bytes with the 7 bits set+                   strip [x] = [x]   -- least significant byte unchanged+                   strip (x:y:xs)+                     | x == 0x7F && y `testBit` 6 = strip (y:xs)  -- only if the next byte has the sign-bit set+                     | otherwise                  = x : y : xs++                   wr = reverse ws+                   wr' = (extend $ head wr) : tail wr  -- sign extend the first byte+                   +                   extend = let extend' n x | not (x `testBit` n) = bit n .|. extend' (n-1) x+                                            | otherwise           = x+                            in extend' 6  -- a n == 0 situation cannot happen: number is negative, there must be a sign bit+    +                   ws' = mark . reverse . strip $ wr'+               in build ws'+    +    build = foldr (\x r -> u8 x ## r) empty++u30size :: Int -> Builder+u30size = u30 . fromIntegral++nullString :: ByteString -> Builder+nullString s = s ## u8 0+}++{+newtype BitBuilder = BitBuilder ([Bool] -> [Bool])++instance Monoid BitBuilder where+  mempty = BitBuilder id+  mappend (BitBuilder f) (BitBuilder g) = BitBuilder (f . g)++infixr 3 ###++(###) :: BitBuilder -> BitBuilder -> BitBuilder+(###) = mappend++-- | To put a number in, put the most significant bits first.+putBits :: [Bool] -> BitBuilder+putBits xs = BitBuilder (xs ++)++putBit :: Bool -> BitBuilder+putBit = putBits . return++putWord :: Word32 -> Int -> BitBuilder+putWord w n+  | n <= 0    = error "putWord: n <= 0"+  | otherwise = putBits [ testBit w (n-i) | i <- [1 .. n] ]++padded :: BitBuilder -> Builder+padded (BitBuilder f) = builder where+  bits    = f []+  len     = length bits+  pad     = (8 - (len `rem` 8)) `mod` 8+  bits'   = bits ++ replicate pad False+  bytes   = map b2w8 $ split bits'+  builder = foldr (\b r -> u8 b ## r) mempty bytes+  +  split [] = []+  split xs = let (ys,zs) = splitAt 8 xs in ys : split zs+  +  b2w8 = foldl (\r b -> shiftL r 1 .|. (if b then 1 else 0)) 0+}++++-- Common attributes++SET NoOutput = Rect TagKind AbcFlags AbcFlag++ATTR (AllSwf - NoOutput)+  [ | | output USE {##} {mempty} : Builder ]++ATTR Rect [ | | output : BitBuilder ]+ATTR TagKind NamespaceKind MultinameKind ValueKind [ | | kind : SELF ]+ATTR AbcFlags AbcFlag [ | | flags USE {.|.} {0} : Word32 ]+++-- Pretty printers++SEM SwfFile | File+  lhs.output  = @loc.head ## u8 @version ## w32 @loc.length ## @loc.content+  loc.head    = u8 (if @compressed then 0x43 else 0x46) ## u8 0x57 ## u8 0x53+  loc.length  = fromIntegral (8 + B.length @loc.bodyStr)+  loc.content = if @compressed+                then compressWith defaultCompressParams { compressLevel = bestCompression } @loc.bodyStr+                else @loc.bodyStr+  loc.bodyStr = toLazyByteString @loc.body+  loc.body    = padded @size.output+                  ## u16 @rate+                  ## u16 @count+                  ## @tags.output++SEM Rect | Rect+  lhs.output = putWord (fromIntegral @bits) 5+                 ### putWord @xMin @bits ### putWord @yMin @bits+                 ### putWord @xMax @bits ### putWord @yMax @bits++SEM Tag+  | Abc     inst.body : Tag  -- desugar to an Opaque+            inst.body   = Tag_Opaque TagKind_DoABC @loc.length @loc.content+            loc.file    = w32 @flags.flags ## nullString @name ## @file.output+            loc.content = toLazyByteString @loc.file+            loc.length  = fromIntegral $ B.length @loc.content+            lhs.output  = @body.output+  | FileAttributes+            inst.body : Tag  -- desugar to an Opaque+            inst.body   = Tag_Opaque TagKind_FileAttributes @loc.length @loc.content+            loc.data    = padded (   putWord 0 1 ### putBit @useDirectBlit ### putBit @useGPU ### putBit @hasMetaData+                                 ### putBit @hasAS3 ### putWord 0 2 ### putBit @useNetwork ### putWord 0 24)+            loc.content = toLazyByteString @loc.data+            loc.length  = fromIntegral $ B.length @loc.content+  | Opaque  loc.len'    = min @length 0x3f+            loc.code    = fromTagKind @kind.kind+            loc.key     = shiftL @loc.code 6 .|. (fromIntegral @loc.len')+            loc.header  = u16 @loc.key ##+                           if @length >= 0x3F+                           then w32 @length+                           else empty+            lhs.output  = @loc.header ## @body+  | End     lhs.output  = u16 0++SEM AbcFlag | LazyInit+  lhs.flags = 1++{+fromTagKind :: TagKind -> Word16+fromTagKind k = case k of+  TagKind_End                              -> 0+  TagKind_ShowFrame                        -> 1+  TagKind_DefineShape                      -> 2+  TagKind_PlaceObject                      -> 4+  TagKind_RemoveObject                     -> 5+  TagKind_DefineBits                       -> 6+  TagKind_DefineButton                     -> 7+  TagKind_JPEGTables                       -> 8+  TagKind_SetBackgroundColor               -> 9+  TagKind_DefineFont                       -> 10+  TagKind_DefineText                       -> 11+  TagKind_DoAction                         -> 12+  TagKind_DefineFontInfo                   -> 13+  TagKind_DefineSound                      -> 14+  TagKind_StartSound                       -> 15+  TagKind_DefineButtonSound                -> 17+  TagKind_SoundStreamHead                  -> 18+  TagKind_SoundStreamBlock                 -> 19+  TagKind_DefineBitsLossless               -> 20+  TagKind_DefineBitsJPEG2                  -> 21+  TagKind_DefineShape2                     -> 22+  TagKind_DefineButtonCxform               -> 23+  TagKind_Protect                          -> 24+  TagKind_PlaceObject2                     -> 26+  TagKind_RemoveObject2                    -> 28+  TagKind_DefineShape3                     -> 32+  TagKind_DefineText2                      -> 33+  TagKind_DefineButton2                    -> 34+  TagKind_DefineBitsJPEG3                  -> 35+  TagKind_DefineBitsLossless2              -> 36+  TagKind_DefineEditText                   -> 37+  TagKind_DefineSprite                     -> 39+  TagKind_FrameLabel                       -> 43+  TagKind_SoundStreamHead2                 -> 45+  TagKind_DefineMorphShape                 -> 46+  TagKind_DefineFont2                      -> 48+  TagKind_ExportAssets                     -> 56+  TagKind_ImportAssets                     -> 57+  TagKind_EnableDebugger                   -> 58+  TagKind_DoInitAction                     -> 59+  TagKind_DefineVideoStream                -> 60+  TagKind_VideoFrame                       -> 61+  TagKind_DefineFontInfo2                  -> 62+  TagKind_EnableDebugger2                  -> 64+  TagKind_ScriptLimits                     -> 65+  TagKind_SetTabIndex                      -> 66+  TagKind_FileAttributes                   -> 69+  TagKind_PlaceObject3                     -> 70+  TagKind_ImportAssets2                    -> 71+  TagKind_DefineFontAlignZones             -> 73+  TagKind_CSMTextSettings                  -> 74+  TagKind_DefineFont3                      -> 75+  TagKind_SymbolClass                      -> 76+  TagKind_Metadata                         -> 77+  TagKind_DefineScalingGrid                -> 78+  TagKind_DoABC                            -> 82+  TagKind_DefineShape4                     -> 83+  TagKind_DefineMorphShape2                -> 84+  TagKind_DefineSceneAndFrameLabelData     -> 86+  TagKind_DefineBinaryData                 -> 87+  TagKind_DefineFontName                   -> 88+  TagKind_StartSound2                      -> 89+  TagKind_DefineBitsJPEG4                  -> 90+  TagKind_DefineFont4                      -> 91+  TagKind_Other c                          -> c+}+++ATTR MethodInfos MetaInfos InstanceInfos ClassInfos ScriptInfos BodyInfos+     PoolInts PoolUInts PoolDoubles PoolStrings NamespaceInfos SetInfos NamespaceNames+     MultinameInfos Optionals ParamNames ParamTypes MetaItems Traits Interfaces+     TraitMeta Exceptions+  [ | | count USE {+} {0} : Int ]++SEM MethodInfos    | Cons  +count = (+1)+SEM MetaInfos      | Cons  +count = (+1)+SEM InstanceInfos  | Cons  +count = (+1)+SEM ClassInfos     | Cons  +count = (+1)+SEM ScriptInfos    | Cons  +count = (+1)+SEM BodyInfos      | Cons  +count = (+1)+SEM PoolInts       | Cons  +count = (+1)+SEM PoolUInts      | Cons  +count = (+1)+SEM PoolDoubles    | Cons  +count = (+1)+SEM PoolStrings    | Cons  +count = (+1)+SEM NamespaceInfos | Cons  +count = (+1)+SEM SetInfos       | Cons  +count = (+1)+SEM NamespaceNames | Cons  +count = (+1)+SEM MultinameInfos | Cons  +count = (+1)+SEM Optionals      | Cons  +count = (+1)+SEM ParamNames     | Cons  +count = (+1)+SEM ParamTypes     | Cons  +count = (+1)+SEM MetaItems      | Cons  +count = (+1)+SEM Traits         | Cons  +count = (+1)+SEM Interfaces     | Cons  +count = (+1)+SEM TraitMeta      | Cons  +count = (+1)+SEM Exceptions     | Cons  +count = (+1)++SEM AbcFile | File+  lhs.output = u16 @minorVersion ## u16 @majorVersion ## @constantPool.output ##+               u30size @methods.count   ## @methods.output   ##+               u30size @metadatas.count ## @metadatas.output ## +               u30size @instances.count ## @instances.output ## @classes.output ## +               u30size @scripts.count   ## @scripts.output   ## +               u30size @bodies.count    ## @bodies.output++SEM PoolInfo | Info+  lhs.output = u30size1 @integers.count   ## @integers.output   ##+               u30size1 @uintegers.count  ## @uintegers.output  ##+               u30size1 @doubles.count    ## @doubles.output    ##+               u30size1 @strings.count    ## @strings.output    ##+               u30size1 @namespaces.count ## @namespaces.output ##+               u30size1 @namesets.count   ## @namesets.output   ##+               u30size1 @multinames.count ## @multinames.output++{+u30size1 n = u30size (if n == 0 then 0 else n+1)+}++SEM PoolInts    | Cons  lhs.output = s32 @hd ## @tl.output+SEM PoolUInts   | Cons  lhs.output = u32 @hd ## @tl.output+SEM PoolDoubles | Cons  lhs.output = d64 @hd ## @tl.output+SEM PoolStrings | Cons  loc.blen   = fromIntegral $ B.length @hd+                        lhs.output = u30size @loc.blen ## @hd ## @tl.output++SEM NamespaceInfo | Info+  lhs.output = u8 (fromNamespaceKind @kind.kind) ## u30 @name++{+fromNamespaceKind k = case k of+  NamespaceKind_General   -> 0x08+  NamespaceKind_Package   -> 0x16+  NamespaceKind_Internal  -> 0x17+  NamespaceKind_Protected -> 0x18+  NamespaceKind_Explicit  -> 0x19+  NamespaceKind_Static    -> 0x1A+  NamespaceKind_Private   -> 0x05+}++SEM SetInfo | Info+  lhs.output = u30size @names.count ## @names.output++SEM NamespaceNames | Cons  lhs.output = u30 @hd ## @tl.output++SEM MultinameInfo+  | QName        lhs.output = u8 0x07 ## u30 @namespace ## u30 @name+  | QNameA       lhs.output = u8 0x0D ## u30 @namespace ## u30 @name+  | RTQName      lhs.output = u8 0x0F ## u30 @name+  | RTQNameA     lhs.output = u8 0x10 ## u30 @name+  | RTQNameL     lhs.output = u8 0x11+  | RTQNameLA    lhs.output = u8 0x12+  | Multiname    lhs.output = u8 0x09 ## u30 @name ## u30 @set+  | MultinameA   lhs.output = u8 0x0E ## u30 @name ## u30 @set+  | MultinameL   lhs.output = u8 0x1B ## u30 @set+  | MultinameLA  lhs.output = u8 0x1C ## u30 @set+  | Generic      lhs.output = u8 0x1D ## u30 @name ## u30size @params.count ## @params.output++SEM ParamNames | Cons  lhs.output = u30 @hd ## @tl.output++ATTR MethodFlags MethodFlag [ | | flags : SELF ]++SEM MethodInfo | Info+  lhs.output = u30size @params.count ## u30 @return ## @params.output ## u30 @name ##+               u8 (mergeMethodFlags @flags.flags) ## @loc.options ## @loc.names+  loc.options = if MethodFlag_HasOptionals  `elem` @flags.flags then u30size @options.count ## @options.output else empty+  loc.names   = if MethodFlag_HasParamNames `elem` @flags.flags then @names.output else empty++{+mergeMethodFlags :: MethodFlags -> Word8+mergeMethodFlags = foldr (.|.) 0 . map fromFlag+  where fromFlag fl = case fl of+          MethodFlag_NeedArgs      -> 0x01+          MethodFlag_NeedAct       -> 0x02+          MethodFlag_NeedRest      -> 0x04+          MethodFlag_HasOptionals  -> 0x08+          MethodFlag_SetDXNS       -> 0x40+          MethodFlag_HasParamNames -> 0x80+}++SEM ParamTypes | Cons  lhs.output = u30 @hd ## @tl.output+SEM Optional | Detail+  lhs.output = u32 @val ## u8 (fromValueKind @kind.kind)++{+fromValueKind :: ValueKind -> Word8+fromValueKind k = case k of+  ValueKind_Int       -> 0x03+  ValueKind_UInt      -> 0x04+  ValueKind_Double    -> 0x06+  ValueKind_Utf8      -> 0x01+  ValueKind_True      -> 0x0B+  ValueKind_False     -> 0x0A+  ValueKind_Null      -> 0x0C+  ValueKind_Undefined -> 0x00+  ValueKind_Namespace -> 0x08+  ValueKind_Package   -> 0x16+  ValueKind_Internal  -> 0x17+  ValueKind_Protected -> 0x18+  ValueKind_Explicit  -> 0x19+  ValueKind_Static    -> 0x1A+  ValueKind_Private   -> 0x05+}++SEM MetaInfo | Info+  lhs.output = u30 @name ## u30size @items.count ## @items.output++SEM MetaItem | Item+  lhs.output = u30 @key ## u30 @value++ATTR InstanceFlags InstanceFlag [ | | flags : SELF ]++SEM InstanceInfo | Info+  lhs.output = u30 @name ## u30 @super ## u8 (mergeInstanceFlags @flags.flags) ## @loc.prot ##+               u30size @interfaces.count ## @interfaces.output ## u30 @constructor ##+               u30size @traits.count ## @traits.output+  loc.prot   = if InstanceFlag_ClassProtected `elem` @flags.flags+               then u30 @protectedNs+               else empty++{+mergeInstanceFlags :: InstanceFlags -> Word8+mergeInstanceFlags = foldr (.|.) 0 . map fromFlag+  where fromFlag fl = case fl of+          InstanceFlag_ClassSealed     -> 0x01+          InstanceFlag_ClassFinal      -> 0x02+          InstanceFlag_ClassInterface  -> 0x04+          InstanceFlag_ClassProtected  -> 0x08+}++SEM Interfaces | Cons+  lhs.output = u30 @hd ## @tl.output++SEM TraitMeta | Cons+  lhs.output = u30 @hd ## @tl.output++SEM Trait | Trait+  lhs.output = u30 @name ## @data.output ## @loc.optMet+  loc.optMet = if TraitAttr_Metadata `elem` @attrs.flags+               then u30size @meta.count ## @meta.output+               else empty+  data.flags = mergeTraitFlags @attrs.flags++ATTR TraitAttrs TraitAttr [ | | flags : SELF ]++{+mergeTraitFlags :: TraitAttrs -> Word8+mergeTraitFlags = foldr (.|.) 0 . map fromFlag+  where fromFlag fl = case fl of+          TraitAttr_Final     -> 0x01+          TraitAttr_Override  -> 0x02+          TraitAttr_Metadata  -> 0x04+}++ATTR TraitData [ flags : Word8 | | ]++SEM TraitData+  | Slot       loc.tp = 0+  | Method     loc.tp = 1+  | Getter     loc.tp = 2+  | Setter     loc.tp = 3+  | Class      loc.tp = 4+  | Function   loc.tp = 5+  | Const      loc.tp = 6++SEM TraitData+  | *  lhs.output = u8 (shiftL @lhs.flags 4 .|. @loc.tp) ## @loc.body++SEM TraitData+  | Slot Const+      loc.body = u30 @slotId ## u30 @tp ## u30 @vindex ## @loc.kind+      loc.kind = if @vindex > 0 then u8 (fromValueKind @vkind.kind) else empty+  | Method Getter Setter Function+      loc.body = u30 @dispId ## u30 @method+  | Class     loc.body = u30 @slotId ## u30 @class+++SEM ClassInfo | Info+  lhs.output = u30 @con ## u30size @traits.count ## @traits.output++SEM ScriptInfo | Info+  lhs.output = u30 @method ## u30size @traits.count ## @traits.output++SEM BodyInfo | Info+  lhs.output = u30 @method ## u30 @maxStack ## u30 @localCount ##+               u30 @initScopeDepth ## u30 @maxScopeDepth ##+               u30size @loc.length ## @loc.content ##+               u30size @exceptions.count ## @exceptions.output ##+               u30size @traits.count ## @traits.output+  loc.content = toLazyByteString @instructions.output+  loc.length  = fromIntegral $ B.length @loc.content++SEM Instruction | Location+  lhs.output = mempty++SEM Exception | Info+  lhs.output = u30 @from ## u30 @to ## u30 @target ## u30 @tp ## u30 @name
+ src/PrettyInstr.ag view
@@ -0,0 +1,187 @@+-- Pretty printing for each instruction+-- Factored out in a separate file++ATTR CaseOffsets [ | | count USE {+} {0} : Int ]+SEM CaseOffsets | Cons  +count = (+1)++SEM Instruction+  | Add                lhs.output = u8 0xA0+  | Add_i              lhs.output = u8 0xC5+  | Add_d              lhs.output = u8 0x9B+  | ApplyType          lhs.output = u8 0x53 ## u30 @name+  | AsType             lhs.output = u8 0x86 ## u30 @name+  | AsTypeLate         lhs.output = u8 0x87+  | BitAnd             lhs.output = u8 0xA8+  | BitNot             lhs.output = u8 0x97+  | BitOr              lhs.output = u8 0xA9+  | BitXor             lhs.output = u8 0xAA+  | Breakpoint         lhs.output = u8 0x01+  | BreakLine          lhs.output = u8 0xF2 ## u30 @line+  | Call               lhs.output = u8 0x41 ## u30 @argCount+  | CallInterface      lhs.output = u8 0x4D ## u30 @name ## u30 @argCount+  | CallMethod         lhs.output = u8 0x43 ## u30 @index ## u30 @argCount+  | CallProp           lhs.output = u8 0x46 ## u30 @name ## u30 @argCount+  | CallPropLex        lhs.output = u8 0x4C ## u30 @name ## u30 @argCount+  | CallPropVoid       lhs.output = u8 0x4F ## u30 @name ## u30 @argCount+  | CallStatic         lhs.output = u8 0x44 ## u30 @method ## u30 @argCount+  | CallSuper          lhs.output = u8 0x45 ## u30 @name ## u30 @argCount+  | CallSuperId        lhs.output = u8 0x4B+  | CallSuperVoid      lhs.output = u8 0x4E ## u30 @name ## u30 @argCount+  | CheckFilter        lhs.output = u8 0x78+  | Coerce             lhs.output = u8 0x80 ## u30 @name+  | Coerce_b           lhs.output = u8 0x81+  | Coerce_a           lhs.output = u8 0x82+  | Coerce_i           lhs.output = u8 0x83+  | Coerce_d           lhs.output = u8 0x84+  | Coerce_s           lhs.output = u8 0x85+  | Coerce_u           lhs.output = u8 0x88+  | Coerce_o           lhs.output = u8 0x89+  | Concat             lhs.output = u8 0x9A+  | Construct          lhs.output = u8 0x42 ## u30 @argCount+  | ConstructProp      lhs.output = u8 0x4A ## u30 @name ## u30 @argCount+  | ConstructSuper     lhs.output = u8 0x49 ## u30 @argCount+  | Convert_b          lhs.output = u8 0x76+  | Convert_i          lhs.output = u8 0x73+  | Convert_d          lhs.output = u8 0x75+  | Convert_o          lhs.output = u8 0x77+  | Convert_u          lhs.output = u8 0x74+  | Convert_s          lhs.output = u8 0x70+  | Debug              lhs.output = u8 0xEF ## @tp.output ## u30 @name ## u30 @reg ## u30 @extra+  | DebugFile          lhs.output = u8 0xF1 ## u30 @name+  | DebugLine          lhs.output = u8 0xF0 ## u30 @line+  | DecLocal           lhs.output = u8 0x94 ## u30 @reg+  | DecLocal_i         lhs.output = u8 0xC3 ## u30 @reg+  | Decrement          lhs.output = u8 0x93+  | Decrement_i        lhs.output = u8 0xC1+  | DeleteProperty     lhs.output = u8 0x6A ## u30 @name+  | DeletePropertyLate lhs.output = u8 0x6B+  | Divide             lhs.output = u8 0xA3+  | Dup                lhs.output = u8 0x2A+  | Dxns               lhs.output = u8 0x06 ## u30 @name+  | DxnsLate           lhs.output = u8 0x07+  | Equals             lhs.output = u8 0xAB+  | EscXAttr           lhs.output = u8 0x72+  | EscXElem           lhs.output = u8 0x71+  | FindDef            lhs.output = u8 0x5F ## u30 @name+  | FindPropertyGlobalStrict  lhs.output = u8 0x5B ## u30 @name+  | FindPropertyGlobal        lhs.output = u8 0x5C ## u30 @name+  | FindProperty              lhs.output = u8 0x5E ## u30 @name+  | FindPropStrict            lhs.output = u8 0x5D ## u30 @name+  | GetDescendants            lhs.output = u8 0x59 ## u30 @name+  | GetGlobalScope     lhs.output = u8 0x64+  | GetGlobalSlot      lhs.output = u8 0x6E ## u30 @slot+  | GetLex             lhs.output = u8 0x60 ## u30 @name+  | GetLocal           lhs.output = u8 0x62 ## u30 @reg+  | GetLocal0          lhs.output = u8 0xD0+  | GetLocal1          lhs.output = u8 0xD1+  | GetLocal2          lhs.output = u8 0xD2+  | GetLocal3          lhs.output = u8 0xD3+  | GetOuterScope      lhs.output = u8 0x67+  | GetProperty        lhs.output = u8 0x66 ## u30 @name+  | GetScopeObject     lhs.output = u8 0x65 ## u8 @index+  | GetSlot            lhs.output = u8 0x6C ## u30 @slot+  | GetSuper           lhs.output = u8 0x04 ## u30 @name+  | GreaterEquals      lhs.output = u8 0xB0+  | GreaterThan        lhs.output = u8 0xAF+  | HasNext            lhs.output = u8 0x1F+  | HasNext2           lhs.output = u8 0x32 ## u30 @objectReg ## u30 @indexReg+  | IfEq               lhs.output = u8 0x13 ## s24 @offset+  | IfFalse            lhs.output = u8 0x12 ## s24 @offset+  | IfGe               lhs.output = u8 0x18 ## s24 @offset+  | IfGt               lhs.output = u8 0x17 ## s24 @offset+  | IfLe               lhs.output = u8 0x16 ## s24 @offset+  | IfLt               lhs.output = u8 0x15 ## s24 @offset+  | IfNGe              lhs.output = u8 0x0F ## s24 @offset+  | IfNGt              lhs.output = u8 0x0E ## s24 @offset+  | IfNLe              lhs.output = u8 0x0D ## s24 @offset+  | IfNLt              lhs.output = u8 0x0C ## s24 @offset+  | IfNe               lhs.output = u8 0x14 ## s24 @offset+  | IfStrictEq         lhs.output = u8 0x19 ## s24 @offset+  | IfStrictNe         lhs.output = u8 0x1A ## s24 @offset+  | IfTrue             lhs.output = u8 0x11 ## s24 @offset+  | In                 lhs.output = u8 0xB4+  | IncLocal           lhs.output = u8 0x92 ## u30 @reg+  | IncLocal_i         lhs.output = u8 0xC2 ## u30 @reg+  | Increment          lhs.output = u8 0x91+  | Increment_i        lhs.output = u8 0xC0+  | InitProperty       lhs.output = u8 0x68 ## u30 @name+  | InstanceOf         lhs.output = u8 0xB1+  | IsType             lhs.output = u8 0xB2 ## u30 @name+  | IsTypeLate         lhs.output = u8 0xB3+  | Jump               lhs.output = u8 0x10 ## s24 @offset+  | Kill               lhs.output = u8 0x08 ## u30 @reg+  | Label              lhs.output = u8 0x09+  | LessEquals         lhs.output = u8 0xAE+  | LessThan           lhs.output = u8 0xAD+  | LoadFloat32        lhs.output = u8 0x38+  | LoadFloat64        lhs.output = u8 0x39+  | LoadIndirect8      lhs.output = u8 0x35+  | LoadIndirect16     lhs.output = u8 0x36+  | LoadIndirect32     lhs.output = u8 0x37+  | LookupSwitch       lhs.output = u8 0x1B ## s24 @defaultOffset ## u30size (@caseOffsets.count - 1) ## @caseOffsets.output+  | Lshift             lhs.output = u8 0xA5+  | Modulo             lhs.output = u8 0xA4+  | Multiply           lhs.output = u8 0xA2+  | Multiply_i         lhs.output = u8 0xC7+  | Negate             lhs.output = u8 0x90+  | Negate_i           lhs.output = u8 0xC4+  | NewActivation      lhs.output = u8 0x57+  | NewArray           lhs.output = u8 0x56 ## u30 @argCount+  | NewCatch           lhs.output = u8 0x5A ## u30 @exception+  | NewClass           lhs.output = u8 0x58 ## u30 @class+  | NewFunction        lhs.output = u8 0x40 ## u30 @method+  | NewObject          lhs.output = u8 0x55 ## u30 @argCount+  | NextName           lhs.output = u8 0x1E+  | NextValue          lhs.output = u8 0x23+  | Nop                lhs.output = u8 0x02+  | Not                lhs.output = u8 0x96+  | Pop                lhs.output = u8 0x29+  | PopScope           lhs.output = u8 0x1D+  | PushByte           lhs.output = u8 0x24 ## u8 @val+  | PushDouble         lhs.output = u8 0x2F ## u30 @name+  | PushFalse          lhs.output = u8 0x27+  | PushInt            lhs.output = u8 0x2D ## u30 @name+  | PushNamespace      lhs.output = u8 0x31 ## u30 @name+  | PushNaN            lhs.output = u8 0x28+  | PushNull           lhs.output = u8 0x20+  | PushScope          lhs.output = u8 0x30+  | PushShort          lhs.output = u8 0x25 ## u30 @val+  | PushString         lhs.output = u8 0x2C ## u30 @name+  | PushTrue           lhs.output = u8 0x26+  | PushUInt           lhs.output = u8 0x2E ## u30 @name+  | PushUndefined      lhs.output = u8 0x21+  | PushWith           lhs.output = u8 0x1C+  | ReturnValue        lhs.output = u8 0x48+  | ReturnVoid         lhs.output = u8 0x47+  | Rshift             lhs.output = u8 0xA6+  | SetLocal           lhs.output = u8 0x63 ## u30 @reg+  | SetLocal0          lhs.output = u8 0xD4+  | SetLocal1          lhs.output = u8 0xD5+  | SetLocal2          lhs.output = u8 0xD6+  | SetLocal3          lhs.output = u8 0xD7+  | SetGlobalSlot      lhs.output = u8 0x6F ## u30 @slot+  | SetProperty        lhs.output = u8 0x61 ## u30 @name+  | SetPropertyLate    lhs.output = u8 0x69+  | SetSlot            lhs.output = u8 0x6D ## u30 @slot+  | SetSuper           lhs.output = u8 0x05 ## u30 @name+  | SignExtend1        lhs.output = u8 0x50+  | SignExtend8        lhs.output = u8 0x51+  | SignExtend16       lhs.output = u8 0x52+  | StoreFloat32       lhs.output = u8 0x3D+  | StoreFloat64       lhs.output = u8 0x3E+  | StoreIndirect8     lhs.output = u8 0x3A+  | StoreIndirect16    lhs.output = u8 0x3B+  | StoreIndirect32    lhs.output = u8 0x3C+  | StrictEquals       lhs.output = u8 0xAC+  | Substract          lhs.output = u8 0xA1+  | Substract_i        lhs.output = u8 0xC6+  | Swap               lhs.output = u8 0x2B+  | Throw              lhs.output = u8 0x03+  | Timestamp          lhs.output = u8 0xF3+  | TypeOf             lhs.output = u8 0x95+  | Urshift            lhs.output = u8 0xA7++SEM DebugType | Local  lhs.output = u8 0x01++SEM CaseOffsets+  | Cons  lhs.output = s24 @hd ## @tl.output
+ src/PrettyTree.ag view
@@ -0,0 +1,694 @@+MODULE {PrettyTree} {ppSwf,ppAbc} {}++INCLUDE "ByteCodeAst.ag"+INCLUDE "SymViewAst.ag"+INCLUDE "ByteCodeLocationInfo.ag"++imports+{+import Codec.Binary.UTF8.String+import Data.ByteString.Lazy(ByteString,unpack)+import Data.Word+import Data.Monoid+import ByteCode+import PrettyUtil+import Options+import SymView+import ProgInfo+}++WRAPPER SwfFile+WRAPPER AbcFile++{+ppSwf :: Options -> [SymbolTables] -> SwfFile -> Doc+ppSwf opts tbls m = out where+  inh = Inh_SwfFile { opts_Inh_SwfFile = opts, tbls_Inh_SwfFile = tbls }+  sem = sem_SwfFile m+  syn = wrap_SwfFile sem inh+  out = output_Syn_SwfFile syn++ppAbc :: Options -> [SymbolTables] -> AbcFile -> Doc+ppAbc opts tbls m = out where+  inh = Inh_AbcFile { opts_Inh_AbcFile = opts, tbls_Inh_AbcFile = tbls }+  sem = sem_AbcFile m+  syn = wrap_AbcFile sem inh+  out = output_Syn_AbcFile syn+}++ATTR (AllSwf - TagKind AbcFlags AbcFlag NamespaceInfo MultinameInfo ParamNames NamespaceKind)+  [ opts : Options | | output USE {$+$} {empty} : Doc ]++SEM SwfFile | File+  lhs.output = text "SWF" <+> space <+> props+                 [ ("compressed", bool @compressed)+                 , ("version",    num @version)+                 , ("length",     num @length)+                 ]+               $+$ @tags.output++ATTR OnlySwfAbc [ | tbls : {[SymbolTables]} | ]+ATTR AllAbc [ tbls : SymbolTables | | ]++-- Associate a symbol table with the right abcfile in a SWF file+SEM AbcFile | File+  loc.tbls = head @lhs.tbls+  lhs.tbls = tail @lhs.tbls++{+bool :: Bool -> Doc+bool True  = text "yes"+bool False = text "no"++num :: Num a => a -> Doc+num x = text (show x)++str :: ByteString -> Doc+str = text . decode . unpack++props :: [(String, Doc)] -> Doc+props xs = hsep $ punctuate (text ",") [ text k <> text ":" <+> v | (k,v) <- xs ]+}++SEM Tag+  | Abc+      lhs.output = text "TAG Abc" <+> space <+> props+                     [ ("lazy init", bool @flags.doLazyInit)+                     , ("name",      str @name)+                     ]+                   $+$ @file.output+  | FileAttributes+      lhs.output = text "TAG FileAttributes" <+> space <+> props+                     [ ("use blit",    bool @useDirectBlit)+                     , ("use gpu",     bool @useGPU)+                     , ("hasAS3",      bool @hasAS3)+                     , ("use network", bool @useNetwork)+                     ]+  | Opaque+      lhs.output = text "TAG" <+> text (show @kind.self) <+> space <+> props+                     [ ("length", num @length)+                     ]++ATTR TagKind [ | | self : SELF ]++ATTR AbcFlags AbcFlag [ | | doLazyInit USE {||} {False} : Bool ]+SEM AbcFlag | LazyInit  lhs.doLazyInit = True+++SEM AbcFile | File+  lhs.output = text "ABC" <+> space <+> props+                 [ ("major version", num @majorVersion)+                 , ("minor version", num @minorVersion)+                 , ("classes", num @classes.length)+                 , ("methods", num @bodies.length)+                 ]+               $+$ @constantPool.output+               $+$ @classes.output+               $+$ @instances.output+               $+$ @bodies.output++ATTR BodyInfos ClassInfos BodyInfo ClassInfo [ | | length USE {+} {0} : Int ]++SEM ClassInfo | Info  lhs.length = 1+SEM BodyInfo  | Info  lhs.length = 1+++--+-- Pretty-print constant pool+--++SEM PoolInfo | Info+  lhs.output = vert $ map (\(k,v) -> text "TABLE" <+> text k $+$ nest 2 v)+                 [ ("integers",   @integers.output)+                 , ("uintegers",  @uintegers.output)+                 , ("doubles",    @doubles.output)+                 , ("strings",    @strings.output)+                 , ("namespaces", @namespaces.output)+                 , ("namesets",   @namesets.output)+                 , ("multinames", @multinames.output)+                 ]++ATTR PoolInts PoolUInts PoolDoubles PoolStrings NamespaceInfos SetInfos MultinameInfos [ index : Word32 | | ]+SEM PoolInfo | Info+  integers.index   = 1+  uintegers.index  = 1+  doubles.index    = 1+  strings.index    = 1+  namespaces.index = 1+  namesets.index   = 1+  multinames.index = 1++SEM PoolInts       | Cons  tl.index = 1 + @lhs.index+SEM PoolUInts      | Cons  tl.index = 1 + @lhs.index+SEM PoolDoubles    | Cons  tl.index = 1 + @lhs.index+SEM PoolStrings    | Cons  tl.index = 1 + @lhs.index+SEM NamespaceInfos | Cons  tl.index = 1 + @lhs.index+SEM SetInfos       | Cons  tl.index = 1 + @lhs.index+SEM MultinameInfos | Cons  tl.index = 1 + @lhs.index++SEM PoolInts       | Cons  lhs.output = num @lhs.index <+> text "->" <+> num @hd $+$ @tl.output+SEM PoolUInts      | Cons  lhs.output = num @lhs.index <+> text "->" <+> num @hd $+$ @tl.output+SEM PoolDoubles    | Cons  lhs.output = num @lhs.index <+> text "->" <+> num @hd $+$ @tl.output+SEM PoolStrings    | Cons  lhs.output = num @lhs.index <+> text "->" <+> str @hd $+$ @tl.output+SEM NamespaceInfos | Cons  lhs.output = num @lhs.index <+> text "->" <+> @pp.output $+$ @tl.output+SEM SetInfos       | Cons  lhs.output = num @lhs.index <+> text "->" <+> @hd.output $+$ @tl.output+SEM MultinameInfos | Cons  lhs.output = num @lhs.index <+> text "->" <+> @pp.output $+$ @tl.output++SEM NamespaceInfos | Cons+  inst.pp : NsV+  inst.pp = namespaceView @lhs.tbls (Ref @lhs.index)+  pp.info = Verbose++SEM MultinameInfos | Cons+  inst.pp : NmV+  inst.pp = nameView @lhs.tbls (Ref @lhs.index)+  pp.info = Verbose++SEM SetInfo | Info+  lhs.output = text "SET" <+> @names.output++SEM NamespaceNames | Cons+  lhs.output = @pp.output <+> braces (text "ns-id:" <+> num @hd) <+> @tl.output+  inst.pp : NsV+  inst.pp = namespaceView @lhs.tbls (Ref @hd)+  pp.info = Short+++--+-- Pretty-printing of view on symbol table+--++{+data PPInfo = Short | Verbose+}++ATTR StrV MbStrV MbNmV NmV NsV [ | | isEmpty : Bool ]+SEM StrV | Str        lhs.isEmpty = null @val+SEM MbStrV | Nothing  lhs.isEmpty = True+SEM MbNmV  | Nothing  lhs.isEmpty = True+SEM NmV    | Other    lhs.isEmpty = False+SEM NmV    | Qual     lhs.isEmpty = @nm.isEmpty+SEM NmV    | Quals    lhs.isEmpty = False+SEM NsV    | Ns       lhs.isEmpty = @nm.isEmpty++ATTR FileV TablesV TableV ClassesV+     ClassV MbSuperV SuperV ItfsV ItfV TraitsV TraitV+     NmV NmsV NsSetV NssV NsV StrV MbStrV MbNmV MethodsV MethodV SigV ParamV TypeV+  [ info : PPInfo | | output USE {$+$} {empty} : Doc ]++ATTR ParamsV [ info : PPInfo | | output USE {++} {[]} : {[Doc]} ]++SEM NmV+  | Qual   loc.nmOut  = if @nm.isEmpty+                        then text "*"+                        else @nm.output+           lhs.output = case @lhs.info of+                          Short   -> if @ns.isEmpty+                                     then @loc.nmOut+                                     else @ns.output <> text ":" <> @loc.nmOut+                          Verbose -> props [ ("namespace", @ns.output), ("name", @nm.output) ]+  | Quals  lhs.output = @set.output <> text ":" <> @nm.output+           loc.info   = Short+  | Other  lhs.output = text "name/other" <> parens (text $ show $ refVal @id)++SEM NsV | Ns+  lhs.output = if (refVal @id) == 0+               then text "*"+               else case @lhs.info of+                      Short   -> @nm.output+                      Verbose -> @nm.output <+> braces (text "ns-id:" <+> num (refVal @id))++SEM NsSetV | Set+  lhs.output = braces @spaces.output++SEM NssV+  | Cons  lhs.output = @hd.output <+> @tl.output+  | Nil   lhs.output = empty++SEM StrV | Str+  lhs.output = case @lhs.info of+                 Short   -> text @val+                 Verbose -> text @val <+> braces (text "str-id:" <+> num (refVal @id))++SEM MbStrV | Nothing+  lhs.output = text "_"++SEM MbNmV | Nothing+  lhs.output = text "_"++SEM MethodV | Method+  mbNm.info  = Short+  sig.info   = Short+  lhs.output = if @mbNm.isDefined+               then @mbNm.output <> @sig.output+               else @sig.output++ATTR MbNmV [ | | isDefined : Bool ]+SEM MbNmV+  | Just     lhs.isDefined = True+  | Nothing  lhs.isDefined = False++ATTR MbStrV [ | | isDefined : Bool ]+SEM MbStrV+  | Just     lhs.isDefined = True+  | Nothing  lhs.isDefined = False++SEM SigV | Sig+  params.info = Short+  ret.info    = Short+  lhs.output  = parens (hsep $ punctuate (text ",") @params.output) <> text ":" <> @ret.output++SEM ParamsV+  | Cons lhs.output = @hd.output : @tl.output+  | Nil  lhs.output = []++SEM ParamV | Param+  lhs.output = @tp.output++SEM ClassV | Class+  lhs.output = @nm.output+++--+-- Pretty print instance information+--   (the dynamic aspects of a class/type)+--++ATTR ClassInfos ClassInfo InstanceInfos InstanceInfo [ index : Word32 | | ]++SEM AbcFile | File+  instances.index = 0+  classes.index   = 0++SEM ClassInfos | Cons     tl.index = 1 + @lhs.index+SEM InstanceInfos | Cons  tl.index = 1 + @lhs.index++SEM InstanceInfo | Info+  inst.nm : NmV+  inst.nm = nameView @lhs.tbls (Ref @name)+  nm.info = Short++  inst.s : NmV+  inst.s = nameView @lhs.tbls (Ref @super)+  s.info = Short++  inst.con : MethodV+  inst.con = methodView @lhs.tbls (Ref @constructor)+  con.info = Short++  inst.ns : NsV+  inst.ns = namespaceView @lhs.tbls (Ref @protectedNs)+  ns.info = Verbose++  lhs.output = text "INSTANCE" <+> @nm.output+               $+$ nest 2 (   text "SUPER" <+> @s.output+                          $+$ @interfaces.output+                          $+$ @flags.output+                          $+$ text "CON" <+> @con.output+                          $+$ text "NS" <+> @ns.output+                          $+$ @traits.output+                          )++SEM InstanceFlag+  | ClassSealed     lhs.output = text "FLAG sealed"+  | ClassFinal      lhs.output = text "FLAG final"+  | ClassInterface  lhs.output = text "FLAG is interface"+  | ClassProtected  lhs.output = text "FLAG has protected namespace"+++--+-- Pretty print traits+--++SEM Trait | Trait+  inst.nm : NmV+  inst.nm = nameView @lhs.tbls (Ref @name)+  nm.info = Short++  lhs.output = text "TRAIT" <+> @nm.output <+> parens (text $ show @name) <+>+                   space <+> @attrs.output+               $+$ nest 2 @data.output++SEM TraitAttrs | Cons  lhs.output = @hd.output <+> @tl.output+SEM TraitAttr+  | Final     lhs.output = text "final"+  | Override  lhs.output = text "override"+  | Metadata  lhs.output = text "metadata"++SEM TraitData+  | Slot      loc.desc = text "SLOT"+  | Const     loc.desc = text "CONST"+  | Method    loc.desc = text "METHOD"+  | Getter    loc.desc = text "GETTER"+  | Setter    loc.desc = text "SETTER"+  | Function  loc.desc = text "FUN"++  | Slot Const+      inst.nm : NmV+      inst.nm = nameView @lhs.tbls (Ref @tp)+      nm.info = Short++      lhs.output = @loc.desc <+> props+                     [ ("slotid", num @slotId)+                     , ("type",   @nm.output)+                     , ("vindex", num @vindex)+                     , ("vkind",  @vkind.output)+                     ]+  | Method Getter Setter Function+      inst.m : MethodV+      inst.m = methodView @lhs.tbls (Ref @method)+      m.info = Short++      lhs.output = @loc.desc <+> props+                     [ ("disp-id", num @dispId)+                     , ("method",  @m.output)+                     ]+  | Class+      loc.key   = Ref @class+      loc.descr = lookupClass @loc.key @lhs.tbls++      inst.nm : NmV+      inst.nm = nameView @lhs.tbls (clName @loc.descr)+      nm.info = Short++      lhs.output = text "CLASS" <+> @nm.output+++--+-- Pretty print class information+--   (the constructor + static traits)+--++SEM ClassInfo | Info+  loc.key   = Ref @lhs.index+  loc.descr = lookupClass @loc.key @lhs.tbls++  inst.nm : NmV+  inst.nm = nameView @lhs.tbls (clName @loc.descr)+  nm.info = Short++  inst.m : MethodV+  inst.m = methodView @lhs.tbls (Ref @con)+  m.info = Short++  lhs.output = text "CLASS" <+> @nm.output+               $+$ nest 2 (text "CON" <+> @m.output)+               $+$ nest 2 @traits.output+++--+-- Pretty print method bodies+--++SEM BodyInfo | Info+  inst.m : MethodV+  inst.m = methodView @lhs.tbls (Ref @method)+  m.info = Short++  lhs.output = text "METHOD" <+> @m.output <+> space <+> props+                 [ ("max stack",   num @maxStack)+                 , ("locals",      num @localCount)+                 , ("init scopes", num @initScopeDepth)+                 , ("max scopes",  num @maxScopeDepth)+                 ]+               $+$ nest 2 @instructions.output+               $+$ nest 2 @exceptions.output++SEM Exception | Info+  inst.nm : NmV+  inst.nm = nameView @lhs.tbls (Ref @tp)+  nm.info = Short++  lhs.output = text "EXCEPTION" <+> @nm.output <+> space <+> props+                 [ ("from",   num @from)+                 , ("to",     num @to)+                 , ("target", num @target)+                 ]+++--+-- Instructions and location information+--++ATTR Instructions Instruction [ | mbLoc : {Maybe Int} | ]++SEM BodyInfo | Info+  instructions.mbLoc = Nothing++SEM Instruction+  | * - Location+      lhs.mbLoc  = Nothing++      loc.lbl = case @lhs.mbLoc of+                  Nothing -> text (replicate 8 ' ')+                  Just i  -> let str = show i+                                 sps = replicate (max 0 (6 - length str))  ' '+                             in  text str <> text sps <> text ": "+      loc.prefix = @loc.lbl <> text "INSTR"+      lhs.output = @loc.prefix <+> @loc.descr+  | Location+      lhs.mbLoc  = Just @index+      lhs.output = empty  -- hide++-- Exception environment+ATTR Exceptions Exception [ index : Word32 | | gathExcptEnv USE {`mappend`} {mempty} : ExceptionDescrs ]+SEM BodyInfo | Info    exceptions.index = 0+SEM Exceptions | Cons  tl.index = 1 + @lhs.index++SEM Exception | Info  lhs.gathExcptEnv = singleEnv @lhs.index ExceptionDescr+                                           { expFrom    = @from+                                           , expTo      = @to+                                           , expTarget  = @target+                                           , expTp      = Ref @tp+                                           , expName    = Ref @name+                                           }+ATTR Instructions Instruction [ excptEnv : ExceptionDescrs | | ]+SEM BodyInfo | Info  instructions.excptEnv = @exceptions.gathExcptEnv++-- Names, methods, etc.+SEM Instruction+  | ApplyType AsType CallInterface Coerce ConstructProp DeleteProperty GetLex+    FindPropertyGlobalStrict FindPropertyGlobal FindProperty FindPropStrict GetDescendants+    CallProp CallPropLex CallPropVoid CallSuper CallSuperVoid+    GetOuterScope GetProperty GetSuper InitProperty IsType+    SetProperty SetSuper FindDef+      inst.nm : NmV+      inst.nm = nameView @lhs.tbls (Ref @name)+      nm.info = Short+  | Debug Dxns PushString DebugFile+      inst.nm : StrV+      inst.nm = stringView @lhs.tbls (Ref @name)+      nm.info = Short+  | PushNamespace+      inst.nms : NsV+      inst.nms = namespaceView @lhs.tbls (Ref @name)+      nms.info = Short+  | CallStatic NewFunction+      inst.m : MethodV+      inst.m = methodView @lhs.tbls (Ref @method)+      m.info = Short+  | NewCatch+      loc.edesc = lookupException (Ref @exception) @lhs.excptEnv++      inst.nm : NmV+      inst.nm = nameView @lhs.tbls (expName @loc.edesc)+      nm.info = Short++      inst.tp : NmV+      inst.tp = nameView @lhs.tbls (expTp @loc.edesc)+      tp.info = Short+  | NewClass+      loc.cdesc = lookupClass (Ref @class) @lhs.tbls+      inst.nm : NmV+      inst.nm = nameView @lhs.tbls (clName @loc.cdesc)+      nm.info = Short+  | PushInt    loc.val = lookupInt    (Ref @name) @lhs.tbls+  | PushUInt   loc.val = lookupUInt   (Ref @name) @lhs.tbls+  | PushDouble loc.val = lookupDouble (Ref @name) @lhs.tbls++SEM Instruction+  | Add              loc.descr = text "Add"+  | Add_i            loc.descr = text "Add_i"+  | Add_d            loc.descr = text "Add_d"+  | ApplyType        loc.descr = text "Apply type"  <+> @nm.output+  | AsType           loc.descr = text "As type"     <+> @nm.output+  | AsTypeLate       loc.descr = text "As type (late)"+  | Breakpoint       loc.descr = text "Breakpoint"+  | BreakLine        loc.descr = text "Break line" <+> num @line+  | BitAnd           loc.descr = text "BitAnd"+  | BitNot           loc.descr = text "BitNot"+  | BitOr            loc.descr = text "BitOr"+  | BitXor           loc.descr = text "BitXor"+  | Call             loc.descr = text "Call" <+> props [("args", num @argCount)]+  | CallInterface    loc.descr = text "Call interface" <+> @nm.output <+> props [("args", num @argCount)]+  | CallMethod       loc.descr = text "Call method" <+> props [("index", num @index), ("args", num @argCount)]+  | CallProp         loc.descr = text "Call prop" <+> @nm.output <+> props [("args", num @argCount)]+  | CallPropLex      loc.descr = text "Call prop (lex)" <+> @nm.output <+> props [("args", num @argCount)]+  | CallPropVoid     loc.descr = text "Call prop (void)" <+> @nm.output <+> props [("args", num @argCount)]+  | CallStatic       loc.descr = text "Call static" <+> props [("method", @m.output), ("args", num @argCount)]+  | CallSuper        loc.descr = text "Call super" <+> @nm.output <+> props [("args",num  @argCount)]+  | CallSuperId      loc.descr = text "Call super (id)"+  | CallSuperVoid    loc.descr = text "Call super (void)" <+> @nm.output <+> props [("args",num  @argCount)]+  | CheckFilter      loc.descr = text "CheckFilter"+  | Coerce           loc.descr = text "Coerce" <+> @nm.output+  | Coerce_a         loc.descr = text "Coerce_a (any type)"+  | Coerce_b         loc.descr = text "Coerce_b"+  | Coerce_d         loc.descr = text "Coerce_d (double)"+  | Coerce_i         loc.descr = text "Coerce_i (signed integer)"+  | Coerce_o         loc.descr = text "Coerce_o"+  | Coerce_s         loc.descr = text "Coerce_s (string)"+  | Coerce_u         loc.descr = text "Coerce_u (unsigned integer)"+  | Concat           loc.descr = text "Concat"+  | Construct        loc.descr = text "Construct" <+> props [("args", num @argCount)]+  | ConstructProp    loc.descr = text "Construct prop" <+> @nm.output <+> props [("args", num @argCount)]+  | ConstructSuper   loc.descr = text "Construct super" <+> props [("args", num @argCount)]+  | Convert_b        loc.descr = text "Convert_b"+  | Convert_i        loc.descr = text "Convert_i (signed integer)"+  | Convert_d        loc.descr = text "Convert_d (double)"+  | Convert_o        loc.descr = text "Convert_o"+  | Convert_u        loc.descr = text "Convert_u (unsigned integer)"+  | Convert_s        loc.descr = text "Convert_s (string)"+  | Debug            loc.descr = text "Debug" <+> @nm.output <+> props [("reg", num @reg)]+  | DebugFile        loc.descr = text "Debug file" <+> @nm.output+  | DebugLine        loc.descr = text "Debug line" <+> num @line+  | DecLocal         loc.descr = text "DecLocal (number)" <+> num @reg+  | DecLocal_i       loc.descr = text "DecLocal_i (integer)" <+> num @reg+  | Decrement        loc.descr = text "Decrement (number)"+  | Decrement_i      loc.descr = text "Decrement_i (integer)"+  | DeleteProperty   loc.descr = text "Delete property" <+> @nm.output+  | DeletePropertyLate  loc.descr = text "Delete property (late)"+  | Divide           loc.descr = text "Divide"+  | Dup              loc.descr = text "Dup"+  | Dxns             loc.descr = text "Default namespace" <+> @nm.output+  | DxnsLate         loc.descr = text "Default namespace (late)"+  | Equals           loc.descr = text "Equals"+  | EscXAttr         loc.descr = text "Escape Xml Attr"+  | EscXElem         loc.descr = text "Escape Xml Elem"+  | FindDef          loc.descr = text "Find Definition" <+> @nm.output+  | FindPropertyGlobalStrict  loc.descr = text "Find property global (strict)" <+> @nm.output+  | FindPropertyGlobal  loc.descr = text "Find property global" <+> @nm.output+  | FindProperty     loc.descr = text "Find property" <+> @nm.output+  | FindPropStrict   loc.descr = text "Find property strict" <+> @nm.output+  | GetDescendants   loc.descr = text "Get descendants" <+> @nm.output+  | GetGlobalScope   loc.descr = text "Get global scope"+  | GetGlobalSlot    loc.descr = text "Set global slot" <+> num @slot+  | GetLex           loc.descr = text "Get lex (find+get prop)" <+> @nm.output+  | GetLocal         loc.descr = text "Get local" <+> num @reg+  | GetLocal0        loc.descr = text "Get local0"+  | GetLocal1        loc.descr = text "Get local1"+  | GetLocal2        loc.descr = text "Get local2"+  | GetLocal3        loc.descr = text "Get local3"+  | GetOuterScope    loc.descr = text "Get outer scope" <+> @nm.output+  | GetProperty      loc.descr = text "Get property" <+> @nm.output+  | GetScopeObject   loc.descr = text "Get scope object" <+> props [("index", num @index)]+  | GetSlot          loc.descr = text "Get slot" <+> num @slot+  | GetSuper         loc.descr = text "Get super" <+> @nm.output+  | GreaterEquals    loc.descr = text "Greater or equals"+  | GreaterThan      loc.descr = text "Greater than"+  | HasNext          loc.descr = text "Has next"+  | HasNext2         loc.descr = text "Has next 2" <+> props [("object register", num @objectReg),("index register", num @indexReg)]+  | IfEq             loc.descr = text "If equal" <+> num @loc.target <+> parens (num @loc.relative)+  | IfFalse          loc.descr = text "If false" <+> num @loc.target <+> parens (num @loc.relative)+  | IfGe             loc.descr = text "If greater or equal" <+> num @loc.target <+> parens (num @loc.relative)+  | IfGt             loc.descr = text "If greater" <+> num @loc.target <+> parens (num @loc.relative)+  | IfLe             loc.descr = text "If less or equal" <+> num @loc.target <+> parens (num @loc.relative)+  | IfLt             loc.descr = text "If less than" <+> num @loc.target <+> parens (num @loc.relative)+  | IfNGe            loc.descr = text "If not greater or equal" <+> num @loc.target <+> parens (num @loc.relative)+  | IfNGt            loc.descr = text "If not greater than" <+> num @loc.target <+> parens (num @loc.relative)+  | IfNLe            loc.descr = text "If not less or equal" <+> num @loc.target <+> parens (num @loc.relative)+  | IfNLt            loc.descr = text "If not less than" <+> num @loc.target <+> parens (num @loc.relative)+  | IfNe             loc.descr = text "If not equal" <+> num @loc.target <+> parens (num @loc.relative)+  | IfStrictEq       loc.descr = text "If equal (strict)" <+> num @loc.target <+> parens (num @loc.relative)+  | IfStrictNe       loc.descr = text "If not equal (strict)" <+> num @loc.target <+> parens (num @loc.relative)+  | IfTrue           loc.descr = text "If true" <+> num @loc.target <+> parens (num @loc.relative)+  | In               loc.descr = text "In (tests existence of property in object)"+  | IncLocal         loc.descr = text "Increment local (number)" <+> num @reg+  | IncLocal_i       loc.descr = text "Increment local (integer)" <+> num @reg+  | Increment        loc.descr = text "Increment (number)"+  | Increment_i      loc.descr = text "Increment (integer)"+  | InitProperty     loc.descr = text "Init property" <+> @nm.output+  | InstanceOf       loc.descr = text "Instance of"+  | IsType           loc.descr = text "Is type" <+> @nm.output+  | IsTypeLate       loc.descr = text "Is type (late)"+  | Jump             loc.descr = text "Jump" <+> num @loc.target <+> parens (num @loc.relative)+  | Kill             loc.descr = text "Kill register" <+> num @reg+  | Label            loc.descr = text "Label (nop)"+  | LessEquals       loc.descr = text "Less or equals"+  | LessThan         loc.descr = text "Less than"+  | LoadFloat32      loc.descr = text "Load float 32"+  | LoadFloat64      loc.descr = text "Load float 64"+  | LoadIndirect8    loc.descr = text "Load indirect 8"+  | LoadIndirect16   loc.descr = text "Load indirect 16"+  | LoadIndirect32   loc.descr = text "Load indirect 32"+  | LookupSwitch     loc.descr = text "Switch" <+> num @loc.target <+> parens (num @loc.relative)+                                 $+$ @caseOffsets.output+  | Lshift           loc.descr = text "Left shift"+  | Modulo           loc.descr = text "Modulo"+  | Multiply         loc.descr = text "Multiply (number)"+  | Multiply_i       loc.descr = text "Multiply (integer)"+  | Negate           loc.descr = text "Negate (number)"+  | Negate_i         loc.descr = text "Negate (integer)"+  | NewActivation    loc.descr = text "New activation"+  | NewArray         loc.descr = text "New array" <+> props [("entries", num @argCount)]+  | NewCatch         loc.descr = text "New catch" <+> props+                                   [ ("from", num $ expFrom @loc.edesc), ("to", num $ expTo @loc.edesc)+                                   , ("target", num $ expTarget @loc.edesc)+                                   , ("type", @tp.output), ("name", @nm.output) ]+  | NewClass         loc.descr = text "New class" <+> @nm.output+  | NewFunction      loc.descr = text "New function" <+> @m.output+  | NewObject        loc.descr = text "New object" <+> props [("args", num @argCount)]+  | NextName         loc.descr = text "NextName"+  | NextValue        loc.descr = text "NextValue"+  | Nop              loc.descr = text "Nop"+  | Not              loc.descr = text "Not"+  | Pop              loc.descr = text "Pop"+  | PopScope         loc.descr = text "Pop scope"+  | PushByte         loc.descr = text "Push byte" <+> num @val+  | PushDouble       loc.descr = text "Push double" <+> num @loc.val+  | PushFalse        loc.descr = text "Push false"+  | PushInt          loc.descr = text "Push signed integer" <+> num @loc.val+  | PushNamespace    loc.descr = text "Push namespace" <+> @nms.output+  | PushNaN          loc.descr = text "Push NaN"+  | PushNull         loc.descr = text "Push null"+  | PushScope        loc.descr = text "Push scope"+  | PushShort        loc.descr = text "Push short" <+> num @val+  | PushString       loc.descr = text "Push string" <+> @nm.output+  | PushTrue         loc.descr = text "Push true"+  | PushUInt         loc.descr = text "Push unsigned integer" <+> num @loc.val+  | PushUndefined    loc.descr = text "Push undefined"+  | PushWith         loc.descr = text "Push with-scope"+  | ReturnValue      loc.descr = text "Return (value)"+  | ReturnVoid       loc.descr = text "Return (void)"+  | Rshift           loc.descr = text "Right shift"+  | SetLocal         loc.descr = text "Set local" <+> num @reg+  | SetLocal0        loc.descr = text "Set local0"+  | SetLocal1        loc.descr = text "Set local1"+  | SetLocal2        loc.descr = text "Set local2"+  | SetLocal3        loc.descr = text "Set local3"+  | SetGlobalSlot    loc.descr = text "Set global slot" <+> num @slot+  | SetProperty      loc.descr = text "Set property" <+> @nm.output+  | SetPropertyLate  loc.descr = text "Set property (late)"+  | SetSlot          loc.descr = text "Set slot" <+> num @slot+  | SetSuper         loc.descr = text "Set super" <+> @nm.output+  | SignExtend1      loc.descr = text "Sign extend 1"+  | SignExtend8      loc.descr = text "Sign extend 8"+  | SignExtend16     loc.descr = text "Sign extend 16"+  | StoreFloat32     loc.descr = text "Store float 32"+  | StoreFloat64     loc.descr = text "Store float 64"+  | StoreIndirect32  loc.descr = text "Store indirect 32"+  | StoreIndirect16  loc.descr = text "Store indirect 16"+  | StoreIndirect8   loc.descr = text "Store indirect 8"+  | StrictEquals     loc.descr = text "Equals (strict)"+  | Substract        loc.descr = text "Substract (number)"+  | Substract_i      loc.descr = text "Substract (integer)"+  | Swap             loc.descr = text "Swap"+  | Throw            loc.descr = text "Throw"+  | Timestamp        loc.descr = text "Timestamp"+  | TypeOf           loc.descr = text "Type of"+  | Urshift          loc.descr = text "Unsigned right shift"++SEM CaseOffsets | Cons+  lhs.output = text "CASE" <+> num @loc.target <+> parens (num @loc.relative)++SEM BodyInfo | Info+  instructions.mbLoc < instructions.revLocation
+ src/PrettyUtil.hs view
@@ -0,0 +1,19 @@+-- | Exposes one of the pretty print libraries and some additional utility operations+module PrettyUtil+  ( module Text.PrettyPrint.HughesPJ+  , vert+  , renderBytes, embedAsString+  ) where++import Text.PrettyPrint.HughesPJ+import Codec.Binary.UTF8.String+import qualified Data.ByteString.Lazy as B++vert :: [Doc] -> Doc+vert = foldr ($+$) empty++renderBytes :: Doc -> B.ByteString+renderBytes = B.pack . encode . show++embedAsString :: Doc -> Doc+embedAsString = text . show . render
+ src/ProgInfo.hs view
@@ -0,0 +1,164 @@+module ProgInfo+  ( StringPool,IntPool,UIntPool,DoublePool,NamePool,NamespacePool,NamesetsPool+  , Name(..),Qual(..),Namespace(..),Nameset(..)+  , Sigs,Sig(..),SigParams,SigParam(..)+  , ClassDescr(..), ClassDescrs, TraitDescrs, TraitDescr(..), TraitBody(..)+  , ExceptionDescrs, ExceptionDescr(..), lookupException, ExceptionRef+  , SymbolTables(..)+  , Ref(Ref), StringRef, IntRef, UIntRef, DoubleRef, NameRef, NamesetRef, NamespaceRef, MethodRef, ClassRef, refVal, refNull+  , lookupString, lookupInt, lookupUInt, lookupDouble, lookupName, lookupNameset, lookupNamespace, lookupMethod, lookupClass+  , module Env+  ) where++import Data.Word+import Env+++-- Symbol tables+data SymbolTables = SymbolTables+  { tableInts    :: IntPool+  , tableUInts   :: UIntPool+  , tableDoubles :: DoublePool+  , tableStrings :: StringPool+  , tableNames   :: NamePool+  , tableSpaces  :: NamespacePool+  , tableSets    :: NamesetsPool+  , tableSigs    :: Sigs+  , tableClasses :: ClassDescrs+  }+  deriving Show++type StringPool      = StaticEnv String+type IntPool         = StaticEnv Word32+type UIntPool        = StaticEnv Word32+type DoublePool      = StaticEnv Double+type NamePool        = StaticEnv Name+type NamesetsPool    = StaticEnv Nameset+type NamespacePool   = StaticEnv Namespace+type Sigs            = StaticEnv Sig+type ClassDescrs     = StaticEnv ClassDescr+type ExceptionDescrs = StaticEnv ExceptionDescr+++-- | Typed reference to indices in a table+newtype Ref a = Ref Word32+  deriving (Eq,Ord,Show)++refVal :: Ref a -> Word32+refVal (Ref v) = v++refNull :: Ref a -> Bool+refNull (Ref v) = v == 0++type StringRef    = Ref String+type IntRef       = Ref Int+type UIntRef      = Ref Word32+type DoubleRef    = Ref Double+type NameRef      = Ref Name+type NamesetRef   = Ref Nameset+type NamespaceRef = Ref Namespace+type MethodRef    = Ref Sig+type ClassRef     = Ref ClassDescr+type ExceptionRef = Ref ExceptionDescr+++-- | Names of identifiers (rather complex structure)+data Name = Name { nmQual :: !Qual, nmStr :: !(Maybe StringRef) }+  deriving (Eq,Ord,Show)++-- | Qualified prefix of a name.+data Qual+  = QualLate                -- Not available statically+  | QualNs !NamespaceRef    -- Prefixed with a namespace+  | QualNss !NamesetRef     -- Prefixed with namespaces+  | QualOther               -- Unknown qualifier+  deriving (Eq,Ord,Show)++-- | A namespace+data Namespace = Namespace { nsName :: !StringRef }+  deriving (Eq,Ord,Show)++-- | A set of namespaces+data Nameset = Nameset { nsSpaces :: ![NamespaceRef] }+  deriving (Eq,Ord,Show)++-- | Method signature+data Sig = Sig { sigName   :: !(Maybe StringRef)  -- may be nameless+               , sigReturn :: !NameRef            -- a Name+               , sigParams :: SigParams }         -- list of Names+  deriving (Eq,Ord,Show)++-- | Parameters of a mehod.+type SigParams = [SigParam]++-- | Signature of a parameter of a method. A parameter might be nameless.+data SigParam = SigParam { spName :: !(Maybe StringRef), spType :: !NameRef }+  deriving (Eq,Ord,Show)++-- | Class information+data ClassDescr = ClassDescr+  { clName       :: !NameRef            -- name of class+  , clSuper      :: !(Maybe NameRef)    -- name of superclass (if any)+  , clInterfaces :: [NameRef]           -- interfaces implemented by class+  , clDynTraits  :: TraitDescrs         -- dynamic traits of a class+  , clStaTraits  :: TraitDescrs         -- static traits of a class+  }+  deriving (Eq,Ord,Show)++-- | List of traits+type TraitDescrs = [TraitDescr]++-- | Information about a trait+data TraitDescr = TraitDescr { trName :: !NameRef, trData :: !TraitBody }+  deriving (Eq,Ord,Show)++-- | Data of a trait+data TraitBody+  = TraitMethod  { trMethod :: !MethodRef }+  | TraitField   { trType :: !NameRef }+  | TraitClass   { trClass :: !ClassRef }+  deriving (Eq,Ord,Show)++-- | Exception information+data ExceptionDescr = ExceptionDescr+  { expFrom    :: !Word32+  , expTo      :: !Word32+  , expTarget  :: !Word32+  , expTp      :: !NameRef+  , expName    :: !NameRef+  } deriving (Eq,Ord,Show)+++--+-- Lookup operations+--++lookupString :: StringRef -> SymbolTables -> String+lookupString (Ref ref) tbls = lookupEnv ref (tableStrings tbls)++lookupInt :: IntRef -> SymbolTables -> Word32+lookupInt (Ref ref) tbls = lookupEnv ref (tableInts tbls)++lookupUInt :: UIntRef -> SymbolTables -> Word32+lookupUInt (Ref ref) tbls = lookupEnv ref (tableUInts tbls)++lookupDouble :: DoubleRef -> SymbolTables -> Double+lookupDouble (Ref ref) tbls = lookupEnv ref (tableDoubles tbls)++lookupName :: NameRef -> SymbolTables -> Name+lookupName (Ref ref) tbls = lookupEnv ref (tableNames tbls)++lookupNameset :: NamesetRef -> SymbolTables -> Nameset+lookupNameset (Ref ref) tbls = lookupEnv ref (tableSets tbls)++lookupNamespace :: NamespaceRef -> SymbolTables -> Namespace+lookupNamespace (Ref ref) tbls = lookupEnv ref (tableSpaces tbls)++lookupMethod :: MethodRef -> SymbolTables -> Sig+lookupMethod (Ref ref) tbls = lookupEnv ref (tableSigs tbls)++lookupClass :: ClassRef -> SymbolTables -> ClassDescr+lookupClass (Ref ref) tbls = lookupEnv ref (tableClasses tbls)++lookupException :: ExceptionRef -> ExceptionDescrs -> ExceptionDescr+lookupException (Ref ref) = lookupEnv ref
+ src/SymInfo.hs view
@@ -0,0 +1,51 @@+-- | Extracts symbolic information from a generated Haskell file+module SymInfo(SymInfo(..),extractSymInfo,extractSymInfos) where++import qualified Data.Set as Set+import Data.Set(Set)+import Data.Monoid+import Language.Haskell.Exts+import System.IO+import System.IO.Error+++-- | Carries symbolic information around.+data SymInfo = SymInfo { allTypes :: !(Set String), allFields :: !(Set String), allModules :: !(Set String) }+  deriving (Eq,Ord,Show)++-- | Monoid instance allows merging of sym info structures.+instance Monoid SymInfo where+  mempty = SymInfo mempty mempty mempty+  (SymInfo t1 f1 m1) `mappend` (SymInfo t2 f2 m2) = SymInfo (t1 `mappend` t2) (f1 `mappend` f2) (m1 `mappend` m2)+++-- | Extracts symbolic info from multiple files+extractSymInfos :: [FilePath] -> IO SymInfo+extractSymInfos paths = do+  infos <- mapM extractSymInfo paths+  return $ foldr mappend mempty infos+++-- | Runs the parser.+extractSymInfo :: FilePath -> IO SymInfo+extractSymInfo path = do+  str <- readFile path+  case parseModuleWithMode (defaultParseMode { parseFilename = path, ignoreLanguagePragmas = False, extensions = exts }) str of+    ParseFailed loc msg -> ioError $ userError ("Parse failed at " ++ show loc ++ ": " ++ msg)+    ParseOk m -> return $ toSymInfo m+  where exts = [ OverlappingInstances,MultiParamTypeClasses,FunctionalDependencies+               , FlexibleContexts,FlexibleInstances,EmptyDataDecls,TypeSynonymInstances ]++-- | Takes a Haskell module and returns the symbolic information contained in it.+toSymInfo :: Module -> SymInfo+toSymInfo (Module _ (ModuleName nm) _ _ _ _ decls) = SymInfo tps flds nms where+  nms  = Set.singleton nm+  tps  = strs "TypeObject"+  flds = strs "Key"+  strs nm = foldr mappend mempty (map (allStrs nm) decls)++allStrs :: String -> Decl -> Set String+allStrs nm (PatBind _ _ _ (UnGuardedRhs e) _) = case e of+  App (Con (UnQual (Ident x))) (Lit (String s)) | x == nm -> Set.singleton s+  _        -> mempty+allStrs _ _ = mempty
+ src/SymView.ag view
@@ -0,0 +1,97 @@+MODULE {SymView} {} {}++INCLUDE "SymViewAst.ag"++imports+{+import Data.Word+import ProgInfo+import Data.Maybe+}++DERIVING * : Eq, Show+++-- Operations to construct views++{++tablesView :: [SymbolTables] -> FileV+tablesView tbls = FileV_File $ map tableView tbls++tableView :: SymbolTables -> TableV+tableView tbls = TableV_Table classes methods where+  classes = map (classView tbls) (map Ref $ keysEnv $ tableClasses tbls)+  methods = map (methodView tbls) (map Ref $ keysEnv $ tableSigs tbls)+++classView :: SymbolTables -> ClassRef -> ClassV+classView tbls ref = res where+  c         = lookupClass ref tbls+  nm        = nameView tbls (clName c)+  mbSuper   = fmap (SuperV_Super . TypeV_Type (refNull $ fromJust $ clSuper c)) $ mbNameView tbls $ clSuper c+  itfs      = map (\tpRef -> ItfV_Itf $ TypeV_Type (refNull tpRef) $ nameView tbls tpRef) (clInterfaces c)+  dynTraits = map (traitView tbls) (clDynTraits c)+  staTraits = map (traitView tbls) (clStaTraits c)+  res       = ClassV_Class ref nm mbSuper itfs dynTraits staTraits++traitView :: SymbolTables -> TraitDescr -> TraitV+traitView tbls tr = case trData tr of+  TraitMethod mRef -> TraitV_Method nm $ sigView tbls mRef+  TraitField tpRef -> TraitV_Field nm $ TypeV_Type (refNull tpRef) $ nameView tbls tpRef+  TraitClass _     -> TraitV_Other nm+  where nm = nameView tbls (trName tr)+++methodView :: SymbolTables -> MethodRef -> MethodV+methodView tbls ref = res where+  m    = lookupMethod ref tbls+  mbNm = mbStringView tbls $ sigName m+  sig  = sigView' tbls ref m+  res  = MethodV_Method mbNm sig++sigView :: SymbolTables -> MethodRef -> SigV+sigView tbls ref = sigView' tbls ref m where+  m    = lookupMethod ref tbls++sigView' :: SymbolTables -> MethodRef -> Sig -> SigV+sigView' tbls ref m = res where+  mbNm = mbStringView tbls $ sigName m+  tRef = sigReturn m+  ret  = TypeV_Type (refNull tRef) $ nameView tbls tRef+  ps   = map (paramView tbls) (sigParams m)+  res  = SigV_Sig ref ret ps++paramView :: SymbolTables -> SigParam -> ParamV+paramView tbls p = ParamV_Param (mbStringView tbls $ spName p) (TypeV_Type (refNull tpRef) $ nameView tbls tpRef)+  where tpRef = spType p+++mbNameView :: SymbolTables -> Maybe NameRef -> MbNmV+mbNameView tbls = maybe Nothing (Just . nameView tbls)++nameView :: SymbolTables -> NameRef -> NmV+nameView tbls ref = case nmStr nm of+  Nothing -> NmV_Other ref+  Just strRef -> case nmQual nm of+    QualNs nsRef -> NmV_Qual ref (namespaceView tbls nsRef) (stringView tbls strRef)+    QualNss sRef -> case nsSpaces $ lookupNameset sRef tbls of+      [nsRef]    -> NmV_Qual ref (namespaceView tbls nsRef) (stringView tbls strRef)+      _          -> NmV_Quals ref (namesetsView tbls  sRef) (stringView tbls strRef)+    _            -> NmV_Other ref+ where nm = lookupName ref tbls++mbStringView :: SymbolTables -> Maybe StringRef -> MbStrV+mbStringView tbls = maybe Nothing (Just . stringView tbls)++stringView :: SymbolTables -> StringRef -> StrV+stringView tbls ref = StrV_Str ref (lookupString ref tbls)++namespaceView :: SymbolTables -> NamespaceRef -> NsV+namespaceView tbls ref = NsV_Ns ref (stringView tbls $ nsName $ lookupNamespace ref tbls)++namesetsView :: SymbolTables -> NamesetRef -> NsSetV+namesetsView tbls ref = NsSetV_Set ref views where+  spaces = nsSpaces $ lookupNameset ref tbls+  views  = map (namespaceView tbls) spaces+}
+ src/SymViewAst.ag view
@@ -0,0 +1,96 @@+--+-- A view on symbol tables+--+++-- Table structure++DATA FileV | File+  tables : TablesV++TYPE TablesV = [TableV]++DATA TableV | Table+  classes : ClassesV+  methods : MethodsV+++-- Class structure++TYPE ClassesV = [ClassV]++DATA ClassV | Class+  ref       : ClassRef+  nm        : NmV+  mbSuper   : MbSuperV+  itfs      : ItfsV+  dynTraits : TraitsV+  staTraits : TraitsV++TYPE MbSuperV = MAYBE SuperV++DATA SuperV | Super+  tp : TypeV++DATA TypeV | Type+  isNull : Bool+  nm     : NmV++TYPE ItfsV = [ItfV]++DATA ItfV | Itf+  tp : TypeV++TYPE TraitsV = [TraitV]++DATA TraitV+  | Method  nm : NmV  sig : SigV+  | Field   nm : NmV  tp : TypeV+  | Other   nm : NmV+++-- Method signatures++TYPE MethodsV = [MethodV]++DATA MethodV | Method+  mbNm : MbStrV+  sig  : SigV++DATA SigV | Sig+  id     : MethodRef+  ret    : TypeV+  params : ParamsV++TYPE ParamsV = [ParamV]++DATA ParamV | Param+  mbNm : MbStrV+  tp   : TypeV+++-- Names++TYPE NmsV = [NmV]+TYPE MbNmV = MAYBE NmV++DATA NmV+  | Qual     id : NameRef  ns : NsV  nm : StrV  -- fully qualified name+  | Quals    id : NameRef  set : NsSetV  nm : StrV  -- name in multiple namespaces+  | Other    id : NameRef         -- not an easily resolveable name++DATA NsV | Ns+  id : NamespaceRef+  nm : StrV++DATA NsSetV | Set+  id : NamesetRef+  spaces : NssV++TYPE NssV = [NsV]++TYPE MbStrV = MAYBE StrV++DATA StrV | Str+  id  : StringRef+  val : String
+ src/SymbolTables.ag view
@@ -0,0 +1,224 @@+--+-- Extract static symbol tables from the ABC code+--+-- Of interest are:+-- String/Int/Word32/Double constant pools+-- Name/Nameset constant pool+-- Namespace constant pool+-- Method-info+-- Class-info++MODULE {SymbolTables} {symInfoAbc, symInfoSwf} {}++INCLUDE "ByteCodeAst.ag"++imports+{+import Data.ByteString.Lazy(ByteString,unpack)+import ByteCode+import Data.Monoid+import Data.Word+import qualified Data.Set as Set+import Data.Set(Set)+import qualified Data.Map as Map+import Data.Map(Map)+import Codec.Binary.UTF8.String+import Env+import ProgInfo+}+++WRAPPER SwfFile+WRAPPER AbcFile++{+-- | Extracts symbol tables from an Abc module+symInfoAbc :: AbcFile -> SymbolTables+symInfoAbc abc = tables_Syn_AbcFile syn where+  inh = Inh_AbcFile {}+  sem = sem_AbcFile abc+  syn = wrap_AbcFile sem inh++-- | Extracts all symbol tables from a flash file+symInfoSwf :: SwfFile -> [SymbolTables]+symInfoSwf swf = allTables_Syn_SwfFile syn where+  inh = Inh_SwfFile {}+  sem = sem_SwfFile swf+  syn = wrap_SwfFile sem inh+}+++--+-- Collect them together+--++ATTR AbcFile [ | | tables : SymbolTables ]+SEM AbcFile | File+  loc.tables = SymbolTables @loc.intPool @loc.uintPool @loc.doublePool @loc.stringPool @loc.namePool+                  @loc.spacesPool @loc.setsPool @methods.gathSigs @loc.classInfos++ATTR OnlySwfAbc [ | | allTables USE {++} {[]} : {[SymbolTables]} ]+SEM AbcFile | File  loc.allTables = [@loc.tables]++--+-- String/Int/Word32/Double pool+--++ATTR PoolInfo [ | | gathStringPool : StringPool  gathIntPool : IntPool  gathUIntPool : UIntPool  gathDoublePool : DoublePool ]+SEM PoolInfo | Info+  lhs.gathStringPool = listEnv $ zip [1..] @strings.values+  lhs.gathIntPool    = listEnv $ zip [1..] @integers.values+  lhs.gathUIntPool   = listEnv $ zip [1..] @uintegers.values+  lhs.gathDoublePool = listEnv $ zip [1..] @doubles.values++ATTR  PoolStrings [ | | values USE {++} {[]} : {[String]} ]+SEM PoolStrings | Cons  +values = ((decode $ unpack @hd) :)++ATTR  PoolInts [ | | values USE {++} {[]} : {[Word32]} ]+SEM PoolInts | Cons  +values = (@hd :)++ATTR  PoolUInts [ | | values USE {++} {[]} : {[Word32]} ]+SEM PoolUInts | Cons  +values = (@hd :)++ATTR  PoolDoubles [ | | values USE {++} {[]} : {[Double]} ]+SEM PoolDoubles | Cons  +values = (@hd :)++SEM AbcFile | File+  loc.intPool    = singleEnv 0 0 `mappend` @constantPool.gathIntPool+  loc.uintPool   = singleEnv 0 0 `mappend` @constantPool.gathUIntPool+  loc.doublePool = singleEnv 0 0 `mappend` @constantPool.gathDoublePool+  loc.stringPool = singleEnv 0 "" `mappend` @constantPool.gathStringPool++--+-- Name pool+--++ATTR PoolInfo [ | | gathNamePool : NamePool ]+SEM PoolInfo | Info+  lhs.gathNamePool = listEnv $ zip [1..] @multinames.names++ATTR  MultinameInfos [ | | names USE {++} {[]} : {[Name]} ]+SEM MultinameInfos | Cons +names = (@hd.name :)++ATTR MultinameInfo [ | | name : Name ]+SEM MultinameInfo+  | QName QNameA            lhs.name = Name (QualNs $ Ref @namespace) (Just $ Ref @name)+  | RTQName RTQNameA        lhs.name = Name QualLate (Just $ Ref @name)+  | RTQNameL RTQNameLA      lhs.name = Name QualLate Nothing+  | Multiname MultinameA    lhs.name = Name (QualNss $ Ref @set) (Just $ Ref @name)+  | MultinameL MultinameLA  lhs.name = Name (QualNss $ Ref @set) Nothing+  | Generic                 lhs.name = Name QualOther Nothing++SEM AbcFile | File+  loc.namePool = singleEnv 0 (Name (QualNs $ Ref 0) (Just $ Ref 0)) `mappend` @constantPool.gathNamePool++--+-- Namesets Pool+--++ATTR PoolInfo [ | | gathNamesetsPool : NamesetsPool ]+SEM PoolInfo | Info+  lhs.gathNamesetsPool = listEnv $ zip [1..] @namesets.sets++ATTR  SetInfos [ | | sets USE {++} {[]} : {[Nameset]} ]+SEM SetInfos | Cons +sets = (@hd.set :)++ATTR SetInfo [ | | set : Nameset ]+SEM SetInfo | Info  lhs.set = Nameset (map Ref @names.names)++ATTR NamespaceNames [ | | names : SELF ]++SEM AbcFile | File+  loc.setsPool = singleEnv 0 (Nameset []) `mappend` @constantPool.gathNamesetsPool++--+-- Namespace Pool+--++ATTR PoolInfo [ | | gathNamespacePool : NamespacePool ]+SEM PoolInfo | Info+  lhs.gathNamespacePool = listEnv $ zip [1..] @namespaces.spaces++ATTR  NamespaceInfos [ | | spaces USE {++} {[]} : {[Namespace]} ]+SEM NamespaceInfos | Cons +spaces = (@hd.name :)++ATTR NamespaceInfo [ | | name : Namespace ]+SEM NamespaceInfo | Info  lhs.name = Namespace $ Ref @name++SEM AbcFile | File+  loc.spacesPool = singleEnv 0 (Namespace $ Ref 0) `mappend` @constantPool.gathNamespacePool+++--+-- MethodInfo+--++ATTR MethodInfos [ sigIndex : Word32 | | gathSigs : Sigs ]+SEM AbcFile | File+  methods.sigIndex = 0++SEM MethodInfos+  | Cons  tl.sigIndex = 1 + @lhs.sigIndex+          lhs.gathSigs = singleEnv @lhs.sigIndex @hd.gathSig `mappend` @tl.gathSigs+  | Nil   lhs.gathSigs = mempty++ATTR MethodInfo [ | | gathSig : Sig ]+SEM MethodInfo | Info+  loc.mbNamesL  = map (Just . Ref) @names.names+  loc.paramSigs = zipWith SigParam (@loc.mbNamesL ++ repeat Nothing) (map Ref @params.types)+  lhs.gathSig   = Sig (if @name /= 0 then Just $ Ref @name else Nothing) (Ref @return) @loc.paramSigs++ATTR ParamNames [ | | names : SELF ]+ATTR ParamTypes [ | | types : SELF ]+++--+-- ClassInfo+--++SEM AbcFile | File+  loc.classInfos = mapEnv (\n c -> c { clStaTraits = Map.findWithDefault [] n @classes.gathTraits }) @instances.gathInsts++ATTR InstanceInfos ClassInfos [ index : Word32 | | ]+SEM AbcFile | File+  instances.index = 0+  classes.index   = 0++SEM InstanceInfos | Cons  tl.index = 1 + @lhs.index+SEM ClassInfos    | Cons  tl.index = 1 + @lhs.index++-- collect instance infos+ATTR InstanceInfos [ | | gathInsts : ClassDescrs ]+SEM InstanceInfos+  | Nil  lhs.gathInsts = mempty+  | Cons lhs.gathInsts = singleEnv @lhs.index @hd.classInfo `mappend` @tl.gathInsts++ATTR InstanceInfo [ | | classInfo : ClassDescr ]+SEM InstanceInfo | Info+  lhs.classInfo = ClassDescr (Ref @name) (if @super /= 0 then Just $ Ref @super else Nothing) (map Ref @interfaces.itfs) @traits.gathInfos []++ATTR Interfaces [ | | itfs : SELF ]++-- collect class infos+ATTR ClassInfos [ | | gathTraits : {Map Word32 TraitDescrs} ]++SEM ClassInfos+  | Nil  lhs.gathTraits = mempty+  | Cons lhs.gathTraits = Map.insert @lhs.index @hd.gathInfos @tl.gathTraits++-- collect traits+ATTR ClassInfo Traits [ | | gathInfos : TraitDescrs ]++SEM Traits+  | Nil   lhs.gathInfos = []+  | Cons  lhs.gathInfos = @hd.traitInfo : @tl.gathInfos++ATTR Trait [ | | traitInfo : TraitDescr ]+SEM Trait | Trait+  lhs.traitInfo = TraitDescr (Ref @name) @data.body++ATTR TraitData [ | | body : TraitBody ]+SEM TraitData+  | Slot Const                      lhs.body = TraitField $ Ref @tp+  | Method Getter Setter Function   lhs.body = TraitMethod $ Ref @method+  | Class                           lhs.body = TraitClass $ Ref @class
+ src/TrfInjectAbc.ag view
@@ -0,0 +1,60 @@+MODULE {TrfInjectAbc} {injectAbc} {}++INCLUDE "ByteCodeAst.ag"++imports+{+import Data.ByteString.Lazy(ByteString,pack)+import ByteCode+import Data.Word+import qualified Data.Set as Set+import Data.Set(Set)+import qualified Data.Map as Map+import Data.Map(Map)+import Codec.Binary.UTF8.String+}+++WRAPPER SwfFile ++{+-- | Injects the given .abc code after the last .abc block in the flash file.+--   If you want to inject multiple chunks of .abc code, subjected+--   to a partial order: convert it in a total order and inject+--   in that order.+injectAbc :: String -> AbcFile -> SwfFile -> SwfFile+injectAbc name code file = out where+  inh = Inh_SwfFile { abc_Inh_SwfFile = code, name_Inh_SwfFile = name }+  sem = sem_SwfFile file+  syn = wrap_SwfFile sem inh+  out = output_Syn_SwfFile syn+}+++ATTR AllSwf [ | | output : SELF ]+++ATTR SwfFile Tags [ abc : AbcFile  name : String | | ]+ATTR Tags [ tag : Tag | | isLast : Bool ]+ATTR Tag [ | isLast : Bool | isAbc : Bool ]++SEM SwfFile | File+  tags.tag = Tag_Abc [] (pack $ encode @lhs.name) @lhs.abc++-- Backward propagate last tag info+SEM Tags+  | Nil   lhs.isLast = True+  | Cons  hd.isLast  = @tl.isLast+          lhs.isLast = @hd.isLast++SEM Tag | Abc+  lhs.isLast = False++SEM Tag+  | * - Abc  lhs.isAbc = False+  | Abc      lhs.isAbc = True++SEM Tags | Cons+  lhs.output = if @hd.isAbc && @tl.isLast+               then @hd.output : @lhs.tag : @tl.output+               else @loc.output
+ src/TrfInjectRefl.ag view
@@ -0,0 +1,57 @@+-- Injects reflection information in the byte code+MODULE {TrfInjectRefl} {injectReflSwf,injectReflAbc} {}++INCLUDE "ByteCodeAst.ag"++import+{+import Data.ByteString.Lazy(ByteString,pack)+import ByteCode+import CFG+import Data.Word+import qualified Data.Set as Set+import Data.Set(Set)+import qualified Data.Map as Map+import Data.Map(Map)+import Codec.Binary.UTF8.String+import ProgInfo+}+++WRAPPER SwfFile+WRAPPER AbcFile++{+injectReflSwf :: [SymbolTables] -> SwfFile -> SwfFile+injectReflSwf tbls m = out where+  inh = Inh_SwfFile { tbls_Inh_SwfFile = tbls }+  sem = sem_SwfFile m+  syn = wrap_SwfFile sem inh+  out = output_Syn_SwfFile syn++injectReflAbc :: [SymbolTables] -> AbcFile -> AbcFile+injectReflAbc tbls m = out where+  inh = Inh_AbcFile { tbls_Inh_AbcFile = tbls }+  sem = sem_AbcFile m+  syn = wrap_AbcFile sem inh+  out = output_Syn_AbcFile syn+}+++--+-- Transformation of the code+--++ATTR AllSwf [ | | output : SELF ]+++--+-- Associate a symbol table with the right abcfile in a SWF file+--++ATTR OnlySwfAbc [ | tbls : {[SymbolTables]} | ]+ATTR AllAbc [ tbls : SymbolTables | | ]++SEM AbcFile | File+  loc.tbls = head @lhs.tbls+  lhs.tbls = tail @lhs.tbls
+ src/TrfToCFG.ag view
@@ -0,0 +1,56 @@+-- Turns bytecode AST into CFGs+MODULE {TrfToCFG} {cfgsSwf,cfgsAbc} {}++INCLUDE "ByteCodeAst.ag"+INCLUDE "ByteCodeLocationInfo.ag"++import+{+import Data.ByteString.Lazy(ByteString,pack)+import ByteCode+import CFG+import Data.Word+import qualified Data.Set as Set+import Data.Set(Set)+import qualified Data.Map as Map+import Data.Map(Map)+import Codec.Binary.UTF8.String+}+++WRAPPER SwfFile+WRAPPER AbcFile++{+-- | Obtains CFGs of all programs in a Swf file+cfgsSwf :: SwfFile -> Programs+cfgsSwf file = out where+  inh = Inh_SwfFile { guid_Inh_SwfFile = 1 }+  sem = sem_SwfFile file+  syn = wrap_SwfFile sem inh+  out = programs_Syn_SwfFile syn++-- | Obtains CFGs of a programs (only one) in an Abc file+cfgsAbc :: AbcFile -> Programs+cfgsAbc file = out where+  inh = Inh_AbcFile { guid_Inh_AbcFile = 1 }+  sem = sem_AbcFile file+  syn = wrap_AbcFile sem inh+  out = programs_Syn_AbcFile syn+}++SET CodePath = BodyInfos BodyInfo Instructions Instruction++ATTR OnlySwfAbc [ | | programs USE {++} {[]} : Programs ]+ATTR CodePath [ | | graphs USE {++} {[]} : CFGs ]++SEM AbcFile | File+  lhs.programs = [Program_Program @bodies.graphs]+++ATTR OnlySwfAbc CodePath [ | guid : Int | ]  -- unique numbering+++-- Ensures that the attributes are in different visits+SEM BodyInfo | Info+  instructions.guid < instructions.revLocation
+ uuagc_options view
@@ -0,0 +1,41 @@+file: "src/ByteCode.ag"+options: data, rename, strictdata, genlinepragmas++file: "src/PrettyCode.ag"+options: rename, catas, semfuns, signatures, strictcase, strictwrap, optimize, genlinepragmas++file: "src/PrettyTree.ag"+options: rename, catas, semfuns, signatures, strictcase, strictwrap, optimize, genlinepragmas++file: "src/TrfInjectAbc.ag"+options: rename, catas, semfuns, signatures, strictcase, strictwrap, optimize, genlinepragmas++file: "src/ExtractAbc.ag"+options: rename, catas, semfuns, signatures, strictcase, strictwrap, optimize, genlinepragmas++file: "src/Language.ag"+options: data, rename, genlinepragmas++file: "src/SymbolTables.ag"+options: rename, catas, semfuns, signatures, strictcase, strictwrap, optimize, genlinepragmas++file: "src/CFG.ag"+options: data, rename, strictdata, genlinepragmas++file: "src/TrfToCFG.ag"+options: rename, catas, semfuns, signatures, strictcase, strictwrap, optimize, genlinepragmas++file: "src/InstrSize.ag"+options: rename, catas, semfuns, signatures, strictcase, strictwrap, optimize, genlinepragmas++file: "src/InstrLocFilter.ag"+options: rename, catas, semfuns, signatures, strictcase, strictwrap, optimize, genlinepragmas++file: "src/SymView.ag"+options: data, rename, strictdata, genlinepragmas++file: "src/GenInstrLib.ag"+options: rename, catas, semfuns, signatures, strictcase, strictwrap, optimize, genlinepragmas++file: "src/TrfInjectRefl.ag"+options: rename, catas, semfuns, signatures, strictcase, strictwrap, optimize, genlinepragmas